From 1ed0b449ff70c5bb860c1e12f47c98600db753c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABlle=20Huisman?= Date: Mon, 27 Apr 2026 13:20:04 +0200 Subject: [PATCH] ci: use reusable workflows --- .github/workflows/ci.yml | 59 ++----------------- .github/workflows/publish.yml | 35 +++--------- .github/workflows/release.yml | 69 ++--------------------- packages/leptos-maybe-callback/Cargo.toml | 3 + 4 files changed, 19 insertions(+), 147 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b3fd296..fdf9163 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,57 +10,8 @@ permissions: contents: read jobs: - lint: - name: Lint - runs-on: ubuntu-latest - - env: - RUSTFLAGS: '-Dwarnings' - - steps: - - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - name: Set up Rust toolchain - uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1.16.0 - with: - components: clippy, rustfmt - target: wasm32-unknown-unknown - - - name: Install Cargo Binary Install - uses: cargo-bins/cargo-binstall@dc19f1e48450eefe5a29b8da6c6b00a87d730b37 # v1.18.1 - - - name: Install crates - run: cargo binstall -y --force cargo-deny cargo-machete cargo-sort - - - name: Lint - run: cargo clippy --all-features --locked - - - name: Check dependencies - run: cargo deny check - - - name: Check unused dependencies - run: cargo machete - - - name: Check manifest formatting - run: cargo sort --workspace --check - - - name: Check formatting - run: cargo fmt --all --check - - test: - name: Test - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - name: Set up Rust toolchain - uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1.16.0 - with: - components: clippy, rustfmt - target: wasm32-unknown-unknown - - - name: Test - run: cargo test --all-features --locked --release + rust: + name: Rust + uses: RustForWeb/.github/.github/workflows/rust.yml@373c25f8fd29e10c40f1343f13312f8be3514af0 + with: + target: wasm32-unknown-unknown diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 842a76b..5883fc0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -4,34 +4,13 @@ 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - name: Set up Rust toolchain - uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1.16.0 - with: - target: wasm32-unknown-unknown - - - name: Install Cargo Binary Install - uses: cargo-bins/cargo-binstall@dc19f1e48450eefe5a29b8da6c6b00a87d730b37 # v1.18.1 - - - name: Install crates - run: cargo binstall --force -y cargo-workspaces - - - uses: rust-lang/crates-io-auth-action@bbd81622f20ce9e2dd9622e3218b975523e45bbe # v1.0.4 - 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@373c25f8fd29e10c40f1343f13312f8be3514af0 + with: + target: wasm32-unknown-unknown diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5dd8fe5..fd39346 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,68 +18,7 @@ permissions: jobs: release: name: Release - runs-on: ubuntu-latest - - steps: - - name: Generate GitHub App token - id: app-token - uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3.1.1 - with: - client-id: ${{ secrets.APP_ID }} - private-key: ${{ secrets.APP_PRIVATE_KEY }} - - - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - name: Set up Rust toolchain - uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 # v1.16.0 - with: - target: wasm32-unknown-unknown - - - name: Install Cargo Binary Install - uses: cargo-bins/cargo-binstall@dc19f1e48450eefe5a29b8da6c6b00a87d730b37 # v1.18.1 - - - 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@2bbcd331016d8c950b05a24b56e7eb9cb50d545e # v2.1.0 - 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@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 - 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@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0 - 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@373c25f8fd29e10c40f1343f13312f8be3514af0 + with: + bump: ${{ inputs.bump }} + target: wasm32-unknown-unknown diff --git a/packages/leptos-maybe-callback/Cargo.toml b/packages/leptos-maybe-callback/Cargo.toml index d131575..60699ea 100644 --- a/packages/leptos-maybe-callback/Cargo.toml +++ b/packages/leptos-maybe-callback/Cargo.toml @@ -8,6 +8,9 @@ license.workspace = true repository.workspace = true version.workspace = true +[package.metadata.cargo-machete] +ignored = ["log"] + [dependencies] leptos.workspace = true