feat: consolidate TraceDecay V2 PR8-PR13 delivery #201
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |