chore: release #3839
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: autofix.ci # See https://autofix.ci/security why this name | |
| on: | |
| pull_request: | |
| types: [labeled, opened, synchronize, reopened] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| permissions: {} | |
| jobs: | |
| fmt-toml: | |
| name: Format Cargo.toml | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| if: | | |
| github.event.action == 'opened' || | |
| github.event.action == 'synchronize' || | |
| github.event.action == 'reopened' | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: { persist-credentials: false } | |
| - uses: taiki-e/install-action@5ebac0d9522d786674368e47e92963ba13f2c376 # v2.82.11 | |
| with: { tool: 'just,cargo-sort' } | |
| - name: Format Cargo.toml | |
| run: just fmt-toml | |
| - uses: autofix-ci/action@c5b2d67aa2274e7b5a18224e8171550871fc7e4a # v1.3.4 | |
| with: {commit-message: "chore: sort Cargo.toml"} | |
| sync-lockfiles: | |
| name: Sync npm lock files | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| if: | | |
| github.event.action == 'opened' || | |
| github.event.action == 'synchronize' || | |
| github.event.action == 'reopened' | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: { persist-credentials: false } | |
| - name: Setup Node.js | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| - name: Sync lock files | |
| run: | | |
| npm --prefix demo/frontend install --package-lock-only --no-fund | |
| npm --prefix martin/martin-ui install --package-lock-only --no-fund | |
| - uses: autofix-ci/action@c5b2d67aa2274e7b5a18224e8171550871fc7e4a # v1.3.4 | |
| with: {commit-message: "chore: sync npm lock files"} | |
| gen-schemas: | |
| name: Generate config + OpenAPI schemas + UI types | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| if: | | |
| github.event.action == 'opened' || | |
| github.event.action == 'synchronize' || | |
| github.event.action == 'reopened' | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: { persist-credentials: false } | |
| - name: Setup Rust | |
| run: rustup update stable && rustup default stable | |
| - name: Setup Node.js | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| - uses: taiki-e/install-action@5ebac0d9522d786674368e47e92963ba13f2c376 # v2.82.11 | |
| with: { tool: just } | |
| # `just gen-schemas` enables `rendering` on Linux so the OpenAPI doc | |
| # covers the static-render routes - that pulls in maplibre-native, | |
| # whose C++ build needs the rendering toolchain installed. | |
| - name: Install rendering dependencies | |
| run: just install-dependencies | |
| - run: just gen-schemas | |
| # Run pre-commit so the generated JSON conforms to the repo's formatter | |
| # rules (trailing newline, etc.) - same tiebreaker the bless job uses. | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 | |
| with: { enable-cache: false } # uv is a one-off tool runner here; no Python deps to cache | |
| - run: uvx pre-commit run --files schemas/config.json schemas/openapi.json martin/martin-ui/src/lib/types.gen.ts | |
| continue-on-error: true | |
| - uses: autofix-ci/action@c5b2d67aa2274e7b5a18224e8171550871fc7e4a # v1.3.4 | |
| with: {commit-message: "chore: regenerate config + OpenAPI schemas + UI types"} | |
| bless: | |
| name: Bless test output | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| if: | | |
| github.event.action == 'labeled' && | |
| github.event.label.name == 'bless' | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: { persist-credentials: false } | |
| - uses: BRAINSia/free-disk-space@7048ffbf50819342ac964ef3998a51c2564a8a75 # v2.1.3 | |
| with: | |
| tool-cache: false | |
| mandb: false | |
| android: true | |
| dotnet: true | |
| haskell: true | |
| large-packages: false | |
| docker-images: false | |
| swap-storage: true | |
| - name: Setup Rust | |
| run: rustup update stable && rustup default stable | |
| - name: Install just | |
| uses: taiki-e/install-action@5ebac0d9522d786674368e47e92963ba13f2c376 # v2.82.11 | |
| with: | |
| tool: just,cargo-binstall,mlt | |
| - name: Setup Node.js | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| - name: Install frontend dependencies | |
| run: npm clean-install --no-fund | |
| working-directory: martin/martin-ui | |
| - name: Install system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y sqlite3-tools | |
| - name: Install rendering dependencies | |
| run: just install-dependencies | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 | |
| with: { enable-cache: false } # uv is a one-off tool runner here; no Python deps to cache | |
| - run: just bless | |
| # run pre-commit as a formatting tiebreaker | |
| - run: uvx pre-commit run --all-files | |
| continue-on-error: true | |
| - uses: autofix-ci/action@c5b2d67aa2274e7b5a18224e8171550871fc7e4a # v1.3.4 | |
| with: {commit-message: "chore: update blessed test snapshots across all components"} |