Skip to content

chore(deps): bump serde from 1.0.228 to 1.0.229 #111

chore(deps): bump serde from 1.0.228 to 1.0.229

chore(deps): bump serde from 1.0.228 to 1.0.229 #111

Workflow file for this run

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"