This workflow runs Linux and macOS builds for Zero Hour and Generals base, collects bundles, generates release notes from local pull requests, and optionally creates a GitHub release.
| Input | Type | Default | Description |
|---|---|---|---|
release_version |
string | — | Target tag/version (for example: GeneralsX-Beta-3) |
additional_notes |
string | empty | Optional extra notes section |
create_release |
boolean | false | When true, creates a GitHub release and uploads assets |
is_prerelease |
boolean | false | When true, marks the release as pre-release |
dry_run |
boolean | false | Forces no release creation; only generates notes and artifacts |
- Runs Linux builds for Zero Hour and Generals base (
linux64-deploy). - Runs macOS builds for Zero Hour and Generals base (
macos-vulkan). - Downloads generated bundle artifacts from all platform/game jobs.
- Produces release assets:
linux-generalsx-linux64-bundle.ziplinux-generalsxzh-linux64-bundle.zipmacos-generalsx-app.tar.zipmacos-generalsxzh-app.tar.zip
- Generates release notes with fixed header text plus:
## Additional Notes(only if provided)## What's Changed## New Contributors(when applicable)**Full Changelog**(when a previous tag exists)
- Uses only pull requests associated with commits in
fbraz3/GeneralsX(ignores upstream TheSuperHackers PRs). - If
dry_run=trueorcreate_release=false, uploads preview artifacts instead of creating a release. - Creates GitHub release only when
create_release=trueanddry_run=false.
Dry-run preview policy:
- Generates only one small preview file:
${release_version}-notes.txt. - Does not generate normalized zip assets for preview upload.
- Still validates build/download steps and notes generation logic.
Fixed block:
> This is a **beta** release. Some bugs are still expected. If you run into any problems, please [open an issue](https://github.com/fbraz3/GeneralsX/issues) so we can investigate.
# Install Instructions
https://github.com/fbraz3/GeneralsX/blob/main/docs/BUILD/INSTALLATION.mdWhat's changed format:
## What's Changed
- $COMMIT_TITLE by @$AUTHOR in $PULL_REQUEST_URLNew contributors format:
## New Contributors
* @$USERNAME made their first contribution in $PULL_REQUEST_URLFull changelog format:
**Full Changelog**: https://github.com/fbraz3/GeneralsX/compare/$LAST_TAG...$CURRENT_TAG- First run with
create_release=falseto validate output artifacts. - Review generated markdown and zip files from workflow artifacts.
- Run again with
create_release=true(and optionallyis_prerelease=true) to publish.