Skip to content

feat: consolidate TraceDecay V2 PR8-PR13 delivery #201

feat: consolidate TraceDecay V2 PR8-PR13 delivery

feat: consolidate TraceDecay V2 PR8-PR13 delivery #201

name: SDK conformance
on:
pull_request:
paths:
- ".github/workflows/sdk-conformance.yml"
- ".github/workflows/sdk-publish.yml"
- "crates/tracedecay-api/**"
- "crates/tracedecay-application/**"
- "crates/tracedecay-domain/**"
- "crates/tracedecay-sdk/**"
- "crates/tracedecay-tool-catalog/**"
- "sdks/**"
- "scripts/check-sdk-codegen.sh"
- "scripts/check-sdk-publish-workflow.py"
- "scripts/require-exact-test.sh"
- "scripts/test-check-sdk-publish-workflow.py"
- "src/application_surface.rs"
- "tests/sdk_conformance_non_vacuity_test.sh"
push:
branches: [master]
permissions:
contents: read
jobs:
publish-workflow-policy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12.13"
- run: python3 -m pip install pyyaml==6.0.2
- name: Check npm publication authority
run: |
python3 scripts/test-check-sdk-publish-workflow.py
python3 scripts/check-sdk-publish-workflow.py
- name: Install pinned actionlint
run: |
set -euo pipefail
version="1.7.12"
archive="actionlint_${version}_linux_amd64.tar.gz"
expected="8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8"
curl -sSLO "https://github.com/rhysd/actionlint/releases/download/v${version}/${archive}"
actual="$(sha256sum "$archive" | cut -d' ' -f1)"
test "$actual" = "$expected"
tar xzf "$archive" actionlint
- name: actionlint
run: ./actionlint .github/workflows/sdk-publish.yml .github/workflows/sdk-conformance.yml .github/workflows/release.yml .github/workflows/release-beta.yml .github/workflows/release-plz.yml
packages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@stable
- uses: actions/setup-node@v5
with:
node-version: 22
cache: npm
cache-dependency-path: sdks/typescript/package-lock.json
- run: cargo test --manifest-path sdks/codegen/Cargo.toml
- run: scripts/check-sdk-codegen.sh
- run: cargo test --manifest-path crates/tracedecay-sdk/Cargo.toml
- run: npm ci
working-directory: sdks/typescript
- run: npm run typecheck
working-directory: sdks/typescript
- run: npm test
working-directory: sdks/typescript
production-router:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@stable
- uses: actions/setup-node@v5
with:
node-version: 22
cache: npm
cache-dependency-path: |
dashboard/package-lock.json
sdks/typescript/package-lock.json
- run: npm ci
working-directory: dashboard
- run: npm run build
working-directory: dashboard
- run: cargo build --bin tracedecay
- name: Verify ignored conformance anti-vacuity
run: tests/sdk_conformance_non_vacuity_test.sh
- run: >-
REQUIRE_EXACT_TEST_COUNT=nonzero
scripts/require-exact-test.sh
cargo test --manifest-path crates/tracedecay-sdk/Cargo.toml
--test production_daemon
--
--ignored
- run: npm ci
working-directory: sdks/typescript
- run: npm run test:installed
working-directory: sdks/typescript