YAML · 1918 bytes Raw Blame History
1 name: Standalone Bootstrap
2
3 on:
4 push:
5 branches:
6 - trunk
7 - "codex/**"
8 pull_request:
9
10 jobs:
11 bootstrap-linked-armfortas:
12 runs-on: macos-latest
13
14 steps:
15 - name: Check out bencch
16 uses: actions/checkout@v4
17
18 - name: Check out armfortas
19 uses: actions/checkout@v4
20 with:
21 repository: FortranGoingOnForty/armfortas
22 path: external-armfortas
23 submodules: recursive
24
25 - name: Set up Rust
26 uses: dtolnay/rust-toolchain@stable
27
28 - name: Generate linked bootstrap workspace
29 run: scripts/bootstrap-linked-armfortas.sh external-armfortas
30
31 - name: Verify bootstrap doctor
32 run: |
33 cargo run --manifest-path .bencch-local/Cargo.toml -p afs-tests --bin bencch -- doctor > doctor.txt
34 grep "armfortas_capture_root: .*external-armfortas" doctor.txt
35 grep "armfortas_capture_status: linked via Cargo to .*external-armfortas" doctor.txt
36
37 bootstrap-standalone-external:
38 runs-on: macos-latest
39
40 steps:
41 - name: Check out bencch
42 uses: actions/checkout@v4
43
44 - name: Set up Rust
45 uses: dtolnay/rust-toolchain@stable
46
47 - name: Generate external-only workspace
48 run: scripts/bootstrap-standalone-external.sh
49
50 - name: Verify external-only doctor
51 run: |
52 cargo run --manifest-path .bencch-external/Cargo.toml -p afs-tests --bin bencch -- doctor > doctor.txt
53 grep "armfortas_capture_mode: unavailable" doctor.txt
54 grep "linked capture is unavailable in this build" doctor.txt
55
56 - name: Verify external-only compare
57 run: |
58 cargo run --manifest-path .bencch-external/Cargo.toml -p afs-tests --bin bencch -- compare fixtures/fake_compilers/match_42_a.sh fixtures/fake_compilers/match_42_b.sh --program fixtures/runtime/if_else.f90 > compare.txt
59 grep "status: MATCH" compare.txt
60