77# VCL bridge, and safety aspects.
88
99name : E2E + Aspect + Bench
10-
1110on :
1211 push :
1312 branches : [main, master, develop]
2019 pull_request :
2120 branches : [main, master]
2221 workflow_dispatch :
23-
2422permissions : read-all
25-
2623concurrency :
2724 group : e2e-${{ github.ref }}
2825 cancel-in-progress : true
29-
3026jobs :
3127 e2e :
3228 name : E2E — Full Pipeline + Integration
3329 runs-on : ubuntu-latest
3430 timeout-minutes : 20
35-
3631 steps :
3732 - name : Checkout
38- uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
39-
33+ uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
4034 - name : Install Rust toolchain
41- uses : dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
42-
35+ uses : dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
4336 - name : Rust cache
44- uses : Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
45-
37+ uses : Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
4638 - name : Build workspace
4739 run : cargo build --workspace
48-
4940 - name : Run all tests (unit + integration)
5041 run : cargo test --workspace
51-
5242 - name : Run integration tests specifically
5343 run : cargo test --test integration_test -- --nocapture
54-
5544 - name : Run VCL bridge tests
5645 run : cargo test -p typell-vcl --test vcl_bridge_tests -- --nocapture 2>/dev/null || echo "VCL bridge tests skipped"
57-
5846 aspect-safety :
5947 name : Aspect — Safety Invariants
6048 runs-on : ubuntu-latest
6149 timeout-minutes : 10
62-
6350 steps :
6451 - name : Checkout
65- uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
66-
52+ uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
6753 - name : No dangerous patterns
6854 run : |
6955 DANGEROUS=$(grep -rn 'believe_me\|assert_total\|sorry\|Admitted\|unsafeCoerce' crates/ src/ 2>/dev/null | grep -v test || true)
7359 exit 1
7460 fi
7561 echo "PASS: No dangerous patterns"
76-
7762 - name : SPDX headers
7863 run : |
7964 MISSING=0
@@ -86,28 +71,22 @@ jobs:
8671 echo "WARN: $MISSING of 30 sampled files missing SPDX"
8772 fi
8873 echo "SPDX check: $MISSING missing (of 30 sampled)"
89-
9074 benchmarks :
9175 name : Bench — Type System Performance
9276 runs-on : ubuntu-latest
9377 timeout-minutes : 15
94-
9578 steps :
9679 - name : Checkout
97- uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
98-
80+ uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
9981 - name : Install Rust toolchain
100- uses : dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
101-
82+ uses : dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
10283 - name : Rust cache
103- uses : Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
104-
84+ uses : Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
10585 - name : Run benchmarks
10686 run : cargo bench --workspace 2>&1 | tee /tmp/bench-results.txt || echo "No benchmarks configured"
107-
10887 - name : Upload benchmark results
10988 if : always()
110- uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
89+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
11190 with :
11291 name : benchmark-results
11392 path : /tmp/bench-results.txt
0 commit comments