name: CI
on:
pull_request:
types: [opened, synchronize, reopened, labeled, unlabeled]
push:
branches: [main]
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
jobs:
plan:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.plan.outputs.matrix }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with:
persist-credentials: false
- uses: jdx/mise-action@7e36c90d9ab29c415a2384db3006f3ec8a8cc654 with:
version: 2026.8.2
cache: true
- run: mise install --locked
- id: plan
run: verctl ci --github-output "$GITHUB_OUTPUT"
verify:
name: ${{ matrix.name }}
needs: plan
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.plan.outputs.matrix) }}
runs-on: ${{ matrix.labels }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with:
persist-credentials: false
fetch-depth: 0
- uses: jdx/mise-action@7e36c90d9ab29c415a2384db3006f3ec8a8cc654 with:
version: 2026.8.2
cache: true
- run: mise install --locked
- run: mise run verify