Skip to content

chore: finalize batch release file (batch-20260913-025507.toml) #192

chore: finalize batch release file (batch-20260913-025507.toml)

chore: finalize batch release file (batch-20260913-025507.toml) #192

Workflow file for this run

# DO NOT EDIT -- generated by rlsbl monorepo sync
name: CI Router
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
inputs:
run_all:
description: Run every project's CI jobs, ignoring the paths filter. Use
this to make a release candidate's members run their own CI on a
commit whose push window does not touch their paths.
type: boolean
required: false
default: false
concurrency:
group: ${{ github.workflow_ref }}-${{ github.sha }}-${{ inputs.run_all }}
cancel-in-progress: true
jobs:
detect:
runs-on: ubuntu-latest
outputs:
strictcli: ${{ steps.changes.outputs.strictcli }}
go-strictcli: ${{ steps.changes.outputs.go-strictcli }}
ts-strictcli: ${{ steps.changes.outputs.ts-strictcli }}
conformance: ${{ steps.changes.outputs.conformance }}
steps:
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v4
id: changes
with:
filters: |
strictcli:
- 'python/**'
- '.github/workflows/ci-router.yml'
- '.rlsbl-monorepo/releasables/py-strictcli/CHANGELOG.md'
go-strictcli:
- 'go/**'
- '.github/workflows/ci-router.yml'
- '.rlsbl-monorepo/releasables/go-strictcli/CHANGELOG.md'
ts-strictcli:
- 'typescript/**'
- '.github/workflows/ci-router.yml'
- '.rlsbl-monorepo/releasables/ts-strictcli/CHANGELOG.md'
conformance:
- 'conformance/**'
- 'python/**'
- '.github/workflows/ci-router.yml'
predicate-quantifier: some-with-excludes
strictcli-ci-test:
runs-on: ubuntu-latest
strategy:
matrix:
# requires-python: >= 3.11
python-version: ['3.12', '3.13', '3.14']
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv python install ${{ matrix.python-version }}
- run: uv sync --locked
- run: uv run python -c "import strictcli"
- name: Install gitleaks
run: |
GITLEAKS_VERSION=8.24.3
curl -sSfL "https://github.com/gitleaks/gitleaks/releases/download/v${GITLEAKS_VERSION}/gitleaks_${GITLEAKS_VERSION}_linux_x64.tar.gz" | tar xz -C /usr/local/bin gitleaks
- run: uv run pytest --rootdir .
defaults:
run:
working-directory: python
name: strictcli-ci / test
needs:
- detect
if: (needs.detect.outputs.strictcli == 'true' || inputs.run_all)
go-strictcli-ci-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
# go.mod: go 1.25.7
- uses: actions/setup-go@v6
with:
go-version-file: go/go.mod
- run: go vet ./...
- run: go test ./... -race -short -timeout=10m
defaults:
run:
working-directory: go
name: go-strictcli-ci / test
needs:
- detect
if: (needs.detect.outputs.go-strictcli == 'true' || inputs.run_all)
ts-strictcli-ci-test:
runs-on: ubuntu-latest
strategy:
matrix:
# engines.node: >= 22
node-version: [22, 24]
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm run build
- run: npm run lint
- run: npm test
- run: npm audit --audit-level=moderate || true
defaults:
run:
working-directory: typescript
name: ts-strictcli-ci / test
needs:
- detect
if: (needs.detect.outputs.ts-strictcli == 'true' || inputs.run_all)
conformance-ci-test:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv python install 3.13
- uses: actions/setup-go@v6
with:
go-version: '1.25'
cache-dependency-path: go/go.sum
- uses: actions/setup-node@v6
with:
node-version: 22
- name: Build TypeScript implementation
working-directory: typescript
run: |
npm ci
npm run build
- name: Install strictcli and conformance tool
working-directory: .
run: |
pip install -e ./python --break-system-packages
pip install -e ./conformance --break-system-packages
- name: Conformance checks
run: conformance check --tag pre-release
defaults:
run:
working-directory: conformance
name: conformance-ci / test
needs:
- detect
if: (needs.detect.outputs.conformance == 'true' || inputs.run_all)