every build artifact also carries Ja2Export.exe, so the glob handed mv
three paths and it failed with "target 'gamedir/ja2.exe' is not a
directory". The assemble job runs on Windows, so the lowercase matrix
name matches the uppercase target file.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A skipped job still shows up in a pull request's check list, so assemble
and release reported there as two permanently skipped checks. A job can
only be left out of a run graph it does not belong to, so move both into
release.yml, which triggers on master, v* tags and manual dispatch, and
gets its build by calling build.yml through workflow_call. A pull request
now runs build.yml directly and reports exactly the five checks it can
actually pass.
The global_vars step only existed to compute assemble_release for the two
jobs that left, and it read the workflow_dispatch input, which a called
workflow cannot see. Its logic moves to a condition on assemble itself,
unchanged: a manual run assembles only when asked, tags always assemble,
master assembles only upstream. The release job needs no condition since
a skipped assemble skips it.
Check out the source rather than cloning it by hand. A pull request
builds its merge commit, which is on no branch and so is absent from a
clone of branches and tags; it resolved only because --filter=tree:0 made
the clone partial and git fetched it from the promisor remote on demand.
The action fetches the merge ref itself, so nothing hinges on the filter.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A push builds in the repository it was pushed to, so a contributor's
branch builds in their fork and the base repository sees nothing. Without
a run of its own there is no check on the pull request for branch
protection to require, so trigger on pull_request as well.
Push builds narrow to master and v* tags: with pull requests covered,
building every branch push only duplicated the same commit's build across
four Windows matrix jobs. Master still builds so the "latest" pre-release
keeps updating. A branch with no pull request open builds via
workflow_dispatch.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Compiler cache stored in the GitHub Actions cache, shared across runs.
Requires /Z7 instead of the CMake default /Zi, since sccache cannot cache
objects whose debug information lands in a shared PDB. That is a debug
information format change only, the generated code is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This reverts commit 1976dee738.
Revert "yet another fix for the github actions"
This reverts commit 552951795c.
Revert "make sure CI to assemble release on 'v*' tag push or manually"
This reverts commit 8897769f0d.
create empty CMakeUserPresets.json file so build happens on first run
comment doesn't apply anymore
no need to specify the compiler when using msbuild@xxx
ask ninja for the verbose command line when building
* GitHub Workflow improvements
- Automatically pre-release master as "latest"
- Build all languages
- Parallelize workflow
- Support tag based releases
* GitHub Workflow: Added support for ja2ubmapeditor.