feat: resolve Deadline 2 experiments-workspace retention surfaces + f… #1789
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| supply-chain: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 | |
| - name: Audit Cargo.lock | |
| uses: rustsec/audit-check@69366f33c96575abad1ee0dba8212993eecbe998 # v2.0.0 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Enforce dependency licenses and sources | |
| run: | | |
| cargo install cargo-deny --locked --version 0.20.2 | |
| cargo deny check bans licenses sources | |
| core: | |
| name: Core locked workspace | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4 | |
| with: | |
| toolchain: 1.96.1 | |
| components: clippy, rustfmt | |
| - name: Require ADRs for contract changes | |
| env: | |
| ADR_BASE: ${{ github.event.pull_request.base.sha || github.event.before }} | |
| run: bash scripts/check-contract-adr.sh "$ADR_BASE" | |
| - name: Check | |
| run: | | |
| if rg '^\s*(features|profile)\s*:|\beffects\s*\(|\bnative\s+(fn|module)\b|\bCapability\s*<' --glob '*.rss' --glob '*.rssi'; then exit 1; fi | |
| if rg 'FileFeature|HirFeatureUseKind|EffectDecl|CapabilityRisk|CAPABILITY_CATEGORIES|DeploymentProfile|ExecutionCapability|HostCapabilities|HostAuthority|ExecutionContext|AuthorizedPath|AuthorizedEndpoint|AuthorizedExecutable' crates providers; then exit 1; fi | |
| if rg 'stdlib/(fs|env|http|process|os|tempdir|clock|random|log)' crates/rsscript-compiler/src/interfaces.rs; then exit 1; fi | |
| if rg '#\[cfg\(any\(\)\)\]' crates --glob '*.rs'; then exit 1; fi | |
| cargo run --locked -p rsscript-xtask -- validate-ci | |
| cargo fmt --all -- --check | |
| cargo clippy --locked --all-targets -- -D warnings | |
| cargo clippy --locked -p rsscript-sdk --all-targets --features execution -- -D warnings | |
| cargo clippy --locked -p rsscript-cli --all-targets --features execution -- -D warnings | |
| cargo test --locked | |
| cargo test --locked -p rsscript-sdk --features execution | |
| cargo test --locked -p rsscript-cli --features execution | |
| - name: Test non-default integration, tooling, and example tiers | |
| run: | | |
| for TIER in integrations tooling examples; do | |
| cargo run --locked -p rsscript-xtask -- check-tier "$TIER" | |
| cargo run --locked -p rsscript-xtask -- clippy-tier "$TIER" | |
| cargo run --locked -p rsscript-xtask -- test-tier "$TIER" | |
| cargo run --locked -p rsscript-xtask -- doc-tier "$TIER" | |
| done | |
| core-platform-security: | |
| name: Core platform security (${{ matrix.os }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [windows-latest, macos-14] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4 | |
| with: | |
| toolchain: 1.96.1 | |
| - name: Process containment tests | |
| run: cargo test --locked -p rss-process-guard | |
| - name: Provider and Artifact boundary tests | |
| run: | | |
| cargo test --locked -p rsscript-provider-api | |
| cargo test --locked -p rsscript-bytecode | |
| # Historical readers and Provider-neutral Artifact substitution must stay | |
| # valid on every supported Core platform. | |
| - name: Cross-platform Artifact compatibility corpus | |
| run: cargo test --locked -p rsscript-sdk --features execution --test compatibility_corpus |