Skip to content

Add tag-triggered Windows release zip workflow#19

Open
shun126 wants to merge 1 commit intomasterfrom
codex/implement-zip-creation-action-on-tag
Open

Add tag-triggered Windows release zip workflow#19
shun126 wants to merge 1 commit intomasterfrom
codex/implement-zip-creation-action-on-tag

Conversation

@shun126
Copy link
Owner

@shun126 shun126 commented Jan 19, 2026

Motivation

  • Automatically produce a Windows release ZIP when a git tag is pushed so binary artifacts can be attached to a GitHub release.
  • The ZIP must include the Win64/Mana.exe, the runner directory, and LICENSE.md for distribution.

Description

  • Add a new workflow file .github/workflows/release_windows_zip.yml that triggers on push of tags and sets permissions: contents: write.
  • The workflow sets up msbuild and Cygwin, exports required env variables, checks out the repo, runs Version.py, and builds the x64 Release with msbuild mana.sln /t:build /p:Configuration=Release /p:Platform=x64.
  • A PowerShell staging step creates a release-stage directory, copies x64/Release/mana.exe to Win64/Mana.exe, copies the entire runner directory and LICENSE.md, compresses the stage into Mana-Windows-Release.zip in $env:RUNNER_TEMP, and writes ZIP_PATH to the environment.
  • The workflow uploads the produced zip to the GitHub release using softprops/action-gh-release@v1.

Testing

  • No automated tests were executed for this change because it adds a new GitHub Actions workflow and the workflow has not been run in CI yet.

Codex Task

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6c58ff7174

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +24 to +28
- name: Add Environment variables
run: |
echo "GNU_BISON_BIN=C:\tools\cygwin\bin\bison.exe" >> $env:GITHUB_ENV
echo "GNU_FLEX_BIN=C:\tools\cygwin\bin\flex.exe" >> $env:GITHUB_ENV
echo "PYTHON_BIN=C:\tools\cygwin\bin\python3.9.exe" >> $env:GITHUB_ENV

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid hardcoding Cygwin Python minor version

The workflow hardcodes C:\tools\cygwin\bin\python3.9.exe, but the Cygwin python3 package’s executable name changes when the minor version updates (e.g., python3.10.exe, python3.11.exe). On runners where 3.9 is no longer present, the Version.py step will fail and the release ZIP won’t be produced. Using the unversioned python3.exe (or relying on PATH) would avoid this fragility.

Useful? React with 👍 / 👎.

@shun126 shun126 added this to the 1.0 milestone Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant