Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 9 additions & 40 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,43 +10,12 @@ permissions:
contents: read

jobs:
lint:
name: Lint
runs-on: ubuntu-latest

env:
RUSTFLAGS: '-Dwarnings'

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy, rustfmt
target: wasm32-unknown-unknown

- name: Install Cargo Binary Install
uses: cargo-bins/cargo-binstall@main

- name: Install crates
run: cargo binstall -y --force cargo-deny cargo-machete cargo-sort

- name: Lint
run: cargo clippy --all-features --all-targets --locked

- name: Check dependencies
run: cargo deny check

- name: Check unused dependencies
run: cargo machete --with-metadata

- name: Check manifest formatting
run: cargo sort --workspace --check

- name: Check formatting
run: cargo fmt --all --check
rust:
name: Rust
uses: RustForWeb/.github/.github/workflows/rust.yml@c18f3b7315df398b6af8d03f823e31daeda63114
with:
enable-test: false
target: wasm32-unknown-unknown

test:
name: Test
Expand Down Expand Up @@ -74,13 +43,13 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Set up Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1.16.0
with:
components: clippy, rustfmt
target: wasm32-unknown-unknown
components: rust-src

- name: Test
run: cargo test --locked --release
14 changes: 3 additions & 11 deletions .github/workflows/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,6 @@ permissions:
issues: write

jobs:
sync-labels:
name: Sync Labels
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: .github/labels.yml

- uses: EndBug/label-sync@v2
with:
config-file: .github/labels.yml
labels:
name: Labels
uses: RustForWeb/.github/.github/workflows/labels.yml@c18f3b7315df398b6af8d03f823e31daeda63114
33 changes: 5 additions & 28 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,11 @@ on:
release:
types: [published]

permissions:
contents: read
id-token: write

jobs:
publish:
name: Publish
runs-on: ubuntu-latest

permissions:
contents: read
id-token: write

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
target: wasm32-unknown-unknown

- name: Install Cargo Binary Install
uses: cargo-bins/cargo-binstall@main

- name: Install crates
run: cargo binstall --force -y cargo-workspaces

- uses: rust-lang/crates-io-auth-action@v1
id: auth

- name: Publish
run: cargo workspaces publish --publish-as-is
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}
uses: RustForWeb/.github/.github/workflows/publish.yml@c18f3b7315df398b6af8d03f823e31daeda63114
68 changes: 3 additions & 65 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,68 +18,6 @@ permissions:
jobs:
release:
name: Release
runs-on: ubuntu-latest

steps:
- name: Generate GitHub App token
id: app-token
uses: getsentry/action-github-app-token@v3
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}

- name: Checkout
uses: actions/checkout@v6

- name: Set up Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
target: wasm32-unknown-unknown

- name: Install Cargo Binary Install
uses: cargo-bins/cargo-binstall@main

- name: Install crates
run: cargo binstall --force -y cargo-workspaces toml-cli

- name: Bump version
run: cargo workspaces version --all --no-git-commit --yes ${{ inputs.bump }}

- name: Extract version
id: extract-version
run: echo "VERSION=v$(toml get Cargo.toml workspace.package.version --raw)" >> "$GITHUB_OUTPUT"

- name: Add changes
run: git add .

- name: Commit
id: commit
uses: dsanders11/github-app-commit-action@v2
with:
message: ${{ steps.extract-version.outputs.VERSION }}
token: ${{ steps.app-token.outputs.token }}

- name: Reset and pull
run: git reset --hard && git pull

- name: Tag
uses: actions/github-script@v9
env:
GIT_TAG: ${{ steps.extract-version.outputs.VERSION }}
GIT_SHA: ${{ steps.commit.outputs.sha }}
with:
script: |
github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `refs/tags/${process.env.GIT_TAG}`,
sha: process.env.GIT_SHA
})

- name: Release
uses: softprops/action-gh-release@v3
with:
generate_release_notes: true
make_latest: true
tag_name: ${{ steps.extract-version.outputs.VERSION }}
token: ${{ steps.app-token.outputs.token }}
uses: RustForWeb/.github/.github/workflows/release.yml@c18f3b7315df398b6af8d03f823e31daeda63114
with:
bump: ${{ inputs.bump }}
99 changes: 8 additions & 91 deletions .github/workflows/website.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: Website

on:
pull_request: {}
push:
Expand All @@ -7,100 +8,16 @@ on:

permissions:
contents: read
id-token: write
pages: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false

jobs:
book-test:
name: Test Book
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6

- name: Set up Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
target: wasm32-unknown-unknown

- name: Install Cargo Binary Install
uses: cargo-bins/cargo-binstall@main

- name: Install mdBook
run: cargo binstall --force -y mdbook mdbook-tabs

- name: Run tests
run: mdbook test
working-directory: book

book-build:
name: Build Book
needs: book-test
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
target: wasm32-unknown-unknown

- name: Install Cargo Binary Install
uses: cargo-bins/cargo-binstall@main

- name: Install mdBook
run: cargo binstall --force -y mdbook mdbook-tabs

- name: Install Node.js dependencies
run: npm install

- name: Build Book
run: mdbook build
working-directory: book

- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: book
path: book/book
retention-days: 1
if-no-files-found: error

deploy:
name: Deploy
needs: book-build
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest

permissions:
contents: read
pages: write
id-token: write

steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Download artifacts
uses: actions/download-artifact@v8
with:
path: dist
merge-multiple: true

- name: Setup Pages
uses: actions/configure-pages@v6

- name: Upload artifact
uses: actions/upload-pages-artifact@v5
with:
path: dist

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
book:
name: Book
uses: RustForWeb/.github/.github/workflows/book.yml@c18f3b7315df398b6af8d03f823e31daeda63114
with:
combine: false
Loading