chore(deps): bump serde from 1.0.228 to 1.0.229 #111
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| classify: | |
| name: Classify changes | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| rust: ${{ steps.router.outputs.rust }} | |
| website: ${{ steps.router.outputs.website }} | |
| distribution: ${{ steps.router.outputs.distribution }} | |
| parity: ${{ steps.router.outputs.parity }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Route changed paths | |
| id: router | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| base="${{ github.event.pull_request.base.sha || github.event.before }}" | |
| if [ -z "$base" ] || [ "$base" = "0000000000000000000000000000000000000000" ]; then | |
| base="$(git hash-object -t tree /dev/null)" | |
| fi | |
| changed_paths="$(mktemp)" | |
| git diff --name-only "$base" "$GITHUB_SHA" > "$changed_paths" | |
| paths=() | |
| while IFS= read -r changed_path; do | |
| paths+=("$changed_path") | |
| done < "$changed_paths" | |
| node scripts/ci-router.mjs --github-output "$GITHUB_OUTPUT" "${paths[@]}" | |
| rust: | |
| name: Rust | |
| needs: classify | |
| if: ${{ always() && needs.classify.outputs.rust == 'true' }} | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust | |
| run: rustup toolchain install 1.85.0 --profile minimal --component rustfmt --component clippy | |
| - name: Format | |
| run: cargo +1.85.0 fmt --all -- --check | |
| - name: Clippy | |
| run: cargo +1.85.0 clippy --workspace --all-targets --all-features -- -D warnings | |
| - name: Test | |
| run: cargo +1.85.0 test --workspace --all-targets --all-features | |
| - name: Assert public eval absence | |
| run: node scripts/check-public-eval-absence.mjs | |
| - name: Package | |
| run: cargo +1.85.0 package --package model-routing --allow-dirty --no-verify | |
| - name: Assert sole public Cargo inventory | |
| run: cargo +1.85.0 run --quiet -p xtask -- release verify --inventory-only | |
| website: | |
| name: Website | |
| needs: classify | |
| if: ${{ always() && needs.classify.outputs.website == 'true' }} | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Node | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 24 | |
| package-manager-cache: false | |
| - name: Install website dependencies | |
| run: corepack enable && pnpm install --frozen-lockfile | |
| - name: Check website | |
| run: pnpm site:check | |
| - name: Install Rust for CLI parity | |
| if: ${{ needs.classify.outputs.parity == 'true' }} | |
| run: rustup toolchain install 1.85.0 --profile minimal | |
| - name: Verify website and CLI parity | |
| if: ${{ needs.classify.outputs.parity == 'true' }} | |
| run: pnpm site:test:parity | |
| distribution: | |
| name: npm distribution | |
| needs: classify | |
| if: ${{ always() && needs.classify.outputs.distribution == 'true' }} | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Node | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 24 | |
| package-manager-cache: false | |
| - name: Install Rust | |
| run: rustup toolchain install 1.85.0 --profile minimal | |
| - name: Build CLI binaries for PTY tests | |
| run: cargo +1.85.0 build --bins | |
| - name: Test npm wrapper | |
| run: node --test npm/*.test.mjs | |
| - name: Audit npm package inventory | |
| run: cargo +1.85.0 run --quiet -p xtask -- release verify --inventory-only | |
| summary: | |
| name: CI | |
| needs: [classify, rust, website, distribution] | |
| if: ${{ always() }} | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Require the selected checks | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| test "${{ needs.classify.result }}" = "success" | |
| test "${{ needs.classify.outputs.rust }}:${{ needs.rust.result }}" = "true:success" || test "${{ needs.classify.outputs.rust }}:${{ needs.rust.result }}" = "false:skipped" | |
| test "${{ needs.classify.outputs.website }}:${{ needs.website.result }}" = "true:success" || test "${{ needs.classify.outputs.website }}:${{ needs.website.result }}" = "false:skipped" | |
| test "${{ needs.classify.outputs.distribution }}:${{ needs.distribution.result }}" = "true:success" || test "${{ needs.classify.outputs.distribution }}:${{ needs.distribution.result }}" = "false:skipped" |