Skip to content

Commit 584c985

Browse files
[temp] probe 885: an incremental rebuild of touched interfaces after the cross build (copy_atomic settle path)
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
1 parent 913a011 commit 584c985

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

‎.github/workflows/probe-885.yml‎

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
strategy:
3131
fail-fast: false
3232
matrix:
33-
rep: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
33+
rep: [1, 2, 3]
3434
steps:
3535
- uses: actions/checkout@v4
3636
- uses: ./.github/actions/bootstrap-mcpp
@@ -61,6 +61,23 @@ jobs:
6161
rc=${PIPESTATUS[0]}
6262
echo "rc=$rc seconds=$(( $(date +%s) - start ))" | tee "$RUNNER_TEMP/cross.rc"
6363
exit $rc
64+
- name: "Incremental: touch module interfaces, rebuild (settle path)"
65+
if: always() && steps.cross.outcome == 'success'
66+
shell: bash
67+
run: |
68+
export MCPP_VENDORED_XLINGS="$XLINGS_BIN"
69+
# An unchanged interface recompiles to an equivalent BMI, which the
70+
# split schedule settles by restoring the previous BMI (copy_atomic).
71+
files=$(git ls-files 'src/*.cppm' | head -5)
72+
echo "touched: $files"
73+
touch $files
74+
set +e
75+
"$MCPP_SELF" build --target x86_64-linux-musl 2>&1 | tee "$RUNNER_TEMP/incremental.log"
76+
rc=${PIPESTATUS[0]}
77+
echo "incremental rc=$rc" | tee -a "$RUNNER_TEMP/cross.rc"
78+
grep -E "^mcpp: |^error: |^failed: " "$RUNNER_TEMP/incremental.log" | head -20 >> "$GITHUB_STEP_SUMMARY"
79+
echo "incremental rc=$rc" >> "$GITHUB_STEP_SUMMARY"
80+
exit $rc
6481
- name: Summarise
6582
if: always()
6683
shell: bash
@@ -73,4 +90,5 @@ jobs:
7390
${{ runner.temp }}/okprobe
7491
${{ runner.temp }}/cross.log
7592
${{ runner.temp }}/cross.rc
93+
${{ runner.temp }}/incremental.log
7694
retention-days: 14

0 commit comments

Comments
 (0)