Skip to content

fix: validate unsupported template placeholders #11

fix: validate unsupported template placeholders

fix: validate unsupported template placeholders #11

Workflow file for this run

name: CI
on:
pull_request:
push:
branches: [main]
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
policy:
name: CI / Policy
runs-on: blacksmith-2vcpu-ubuntu-2404
timeout-minutes: 15
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2
with:
cache: false
- run: >-
mise exec -- uv run --frozen --project . pytest -q
tools/ci/tests/test_required_ci.py tools/ci/tests/test_public_tree.py
- run: mise exec -- python tools/ci/check_public_tree.py
- run: >-
mise exec -- actionlint
-ignore '^unexpected key "queue" for "concurrency" section\. expected one of "cancel-in-progress", "group"$'
bootstrap:
name: CI / Fresh bootstrap
runs-on: blacksmith-8vcpu-ubuntu-2404
timeout-minutes: 60
env:
UV_NO_CACHE: "1"
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2
with:
cache: false
install: false
- run: bash tools/ci/fresh_bootstrap.bash
python:
name: CI / Python
runs-on: blacksmith-8vcpu-ubuntu-2404
timeout-minutes: 60
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2
with:
cache: false
- run: mise exec -- uv lock --check --project .
- run: mise run sync
- run: mise run lint
- run: mise run typecheck
- name: Offline public unit tests
env:
HF_HUB_OFFLINE: "1"
TRANSFORMERS_OFFLINE: "1"
run: mise run test
- run: mise run test-integrations -- --python-only
- name: Public tooling syntax and tests
run: |
mise exec -- uv run --frozen --project . --no-sync ruff format --check tools/ci
mise exec -- uv run --frozen --project . --no-sync ruff check --select E,F,I,UP,B tools/ci
mise exec -- uv run --frozen --project . --no-sync ruff check --select E9,F63,F7,F82 tools/mise_tasks
mise exec -- uv run --frozen --project . --no-sync pytest -q tools/ci/tests --ignore tools/ci/tests/test_required_ci.py --ignore tools/ci/tests/test_public_tree.py
typescript:
name: CI / TypeScript
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2
with:
cache: false
- run: mise exec -- pnpm install --frozen-lockfile
- run: mise run ts -- build
- run: mise run ts -- typecheck
- run: mise run ts -- lint
- run: mise run ts -- test
rust:
name: CI / Rust
runs-on: blacksmith-8vcpu-ubuntu-2404
timeout-minutes: 90
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2
with:
cache: false
- run: mise run sync
- run: mise run rust-fmt -- --check
- run: mise run rust-check
- run: mise run rust-clippy
- run: mise run gateway-deny
- name: Audit standalone Rust worker dependencies
run: >-
mise exec -- cargo-deny --locked
--manifest-path packages/sie_server_rust/Cargo.toml --all-features
--config deny.toml check
- run: mise exec -- cargo fmt --manifest-path packages/sie_server_rust/Cargo.toml -- --check
- run: mise exec -- cargo check --manifest-path packages/sie_server_rust/Cargo.toml --locked --all-targets
- run: mise exec -- cargo clippy --manifest-path packages/sie_server_rust/Cargo.toml --locked --all-targets -- -D warnings
- run: mise exec -- uv run --frozen --project . --no-sync python tools/ci/rust_tests.py
- name: Preserve diagnostics
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: rust-logs
path: .cache/ci-logs/
retention-days: 30
if-no-files-found: ignore
contracts:
name: CI / Contracts
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 25
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2
with:
cache: false
- run: mise run sync
- run: mise exec -- python tools/check_ipc_types_parity.py
- run: mise exec -- python tools/check_response_chunk_protocol.py
- run: tests/parity/run_parity.sh
helm:
name: CI / Helm
runs-on: blacksmith-2vcpu-ubuntu-2404
timeout-minutes: 25
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2
with:
cache: false
- run: mise run helm -- dependencies
- run: mise run helm -- lint --set payloadStore.enabled=false
- run: mise run helm -- template --set payloadStore.enabled=false >/dev/null
- run: |
destination="$(mktemp -d)"
mise exec -- helm package deploy/helm/sie-cluster --destination "$destination"
git diff --exit-code -- deploy/helm/sie-cluster/Chart.lock
live-sdk:
name: CI / Live SDK CPU
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2
with:
cache: false
- run: mise run sync
- run: mise exec -- pnpm install --frozen-lockfile
- run: mise run ts -- build
- run: mise exec -- uv run --frozen --project . --no-sync python tools/ci/live_sdk.py
- run: >-
mise exec -- uv run --frozen --project . --no-sync pytest -q
packages/sie_server/tests/fake_stack/test_sdk_surface.py
-m integration
- name: Preserve diagnostics
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: live-sdk-logs
path: .cache/ci-logs/
retention-days: 30
if-no-files-found: ignore
cpu-stack:
name: CI / CPU containers
runs-on: blacksmith-8vcpu-ubuntu-2404
timeout-minutes: 180
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
persist-credentials: false
- uses: jdx/mise-action@c37c93293d6b742fc901e1406b8f764f6fb19dac # v2
with:
cache: false
- run: mise run sync
- run: mise exec -- uv run --frozen --project . --no-sync python -m tools.ci.cpu_stack_smoke
- name: Preserve diagnostics
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: cpu-stack-logs
path: .cache/ci-logs/
retention-days: 30
if-no-files-found: ignore
python-distributions:
name: CI / Python distributions
uses: ./.github/workflows/release-python.yml
with:
source_ref: ${{ github.sha }}
build_only: true
npm-distributions:
name: CI / npm distributions
uses: ./.github/workflows/release-npm.yml
with:
source_ref: ${{ github.sha }}
build_only: true
required:
name: CI / Required
if: ${{ always() }}
needs: [policy, bootstrap, python, typescript, rust, contracts, helm, live-sdk, cpu-stack, python-distributions, npm-distributions]
runs-on: blacksmith-2vcpu-ubuntu-2404
timeout-minutes: 5
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
persist-credentials: false
- env:
NEEDS: ${{ toJSON(needs) }}
run: python3 tools/ci/required_ci.py