Skip to content

[CI] Fix build workflows and stale CI references - #472

Merged
billy1arm merged 4 commits into
mangoszero:masterfrom
r-log:ci/workflow-and-doc-fixes
Aug 3, 2026
Merged

[CI] Fix build workflows and stale CI references#472
billy1arm merged 4 commits into
mangoszero:masterfrom
r-log:ci/workflow-and-doc-fixes

Conversation

@r-log

@r-log r-log commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Three independent defects in the GitHub Actions build workflows. No AppVeyor configuration is touched.

1. Six configure flags are silently discarded.
The Configure step uses a YAML folded scalar (run: >), which joins every line into a single shell command. bash then treats the embedded # comment — and everything after it — as a comment, so these never reach cmake:

-DWITH_NET_TESTS=0 -DSOAP=1 -DSCRIPT_LIB_ELUNA=1 -DSCRIPT_LIB_SD3=1 -DPLAYERBOTS=… -DPCH=…

Confirmed in the job logs: the configure summary prints Support for SOAP : No (default) despite -DSOAP=1 being written. Fixed by moving the comment above the step; the comment's meaning is unchanged and run: > is kept.

2. The compiler cache has never persisted.
CCACHE_DIR / SCCACHE_DIR contained .., which actions/cache rejects at save time:

Saving cache failed: Invalid pattern '…/…/../ccache'.
Relative pathing '.' and '..' is not allowed.

Every subsequent run reports No cache found and rebuilds cold. Measured hit rates: ccache 1.5–1.9%, sccache 0.00%. The overrides are removed so ccache-action manages its own directory. BUILD_DIR moves to ${{ runner.temp }} rather than being deleted — it must stay outside the workspace or the "Verify the working tree is clean" step fails.

3. Stale CI references.
The README links core_build.yml, which does not exist; the workflow is core_linux_build.yml.

Verification: each workflow was parsed with PyYAML and the Configure step folded exactly as the shell receives it, asserting no # survives, all six flags are present, and no .. remains in the command or in any job-level env.


This change is Reviewable

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

The runner context is not available in jobs.<job_id>.env, so ${{ runner.temp }}
there makes the whole workflow file invalid and GitHub refuses to run it.
BUILD_DIR is never handed to actions/cache, so it does not need to avoid '..';
only CCACHE_DIR and SCCACHE_DIR did, and those stay removed.
@AppVeyorBot

Copy link
Copy Markdown

@AppVeyorBot

Copy link
Copy Markdown

@billy1arm
billy1arm merged commit 7214c6e into mangoszero:master Aug 3, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants