Skip to content

chore: release

chore: release #4095

Workflow file for this run

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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with: { persist-credentials: false }
- uses: taiki-e/install-action@3d7d7cd5ac7f994c1892ae0c06165095b9139094 # v2.85.1
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with: { persist-credentials: false }
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with: { persist-credentials: false }
- name: Setup Rust
run: rustup update stable && rustup default stable
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: taiki-e/install-action@3d7d7cd5ac7f994c1892ae0c06165095b9139094 # v2.85.1
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@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
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@3d7d7cd5ac7f994c1892ae0c06165095b9139094 # v2.85.1
with:
tool: just,cargo-binstall,mlt
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.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@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
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"}