Skip to content

GitHub Workflows for Release#38

Merged
m1maker merged 2 commits into
m1maker:mainfrom
JRJurman:release-actions
Jun 7, 2026
Merged

GitHub Workflows for Release#38
m1maker merged 2 commits into
m1maker:mainfrom
JRJurman:release-actions

Conversation

@JRJurman

@JRJurman JRJurman commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Previously, it was not trivial to get all the assets / builds when creating a new release for the SRAL project. This PR introduces a new release.yml, which enables pushed tags (via git) or triggered workflows (via GitHub) to create all the artifacts required for desktop releases.

Note

This PR only includes the builds for windows, linux, macOS. I have the code changes for android and iOS, but haven't yet had an opportunity to test those. I can push up a follow-up PR after this has been merged, and those builds have been tested.

Testing

I created the builds using my own fork. You can see the artifacts here: https://github.com/JRJurman/SRAL/actions/runs/27100567448#artifacts

I validated the artifacts in a small Love2d example (see project here). I tested windows, linux (Pop! OS), and macOS. All three worked with TTS and installed Screen Readers.

Results

Here is the output of all three builds:

bundle-macos-universal
├── include
│   ├── SRAL.h
│   └── Sral.hpp
└── lib
    ├── libSRAL_static.a
    └── libSRAL.dylib

bundle-linux-x64
├── include
│   ├── SRAL.h
│   └── Sral.hpp
└── lib
    ├── libSRAL_static.a
    └── libSRAL.so

bundle-windows-x64
├── bin
│   └── SRAL.dll
├── include
│   ├── SRAL.h
│   └── Sral.hpp
└── lib
    ├── SRAL_static.lib
    └── SRAL.lib

steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

to keep these somewhat consistent, I've updated the checkout command here to be v4 - there's still some warning about the node version in the GitHub Actions, but for now, this seems relatively safe, and keeps the files mostly in line with each other.


- name: Configure CMake
run: cmake . -B build -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DBUILD_SHARED_LIBS=ON
run: cmake . -B build -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DBUILD_SHARED_LIBS=ON

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This flag allows the windows build to work as expected by baking the Visual C++ runtime code needed for the SRAL.dll.

Like the previous change, this is done here to keep the two files (this and release.yml) consistent. This has no impact on non-windows builds.

Comment thread CMakeLists.txt
FILE_SET HEADERS
BASE_DIRS "${INCLUDES}"
FILES "${INCLUDES}/SRAL.h")
FILES "${INCLUDES}/SRAL.h" "${INCLUDES}/Sral.hpp")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

this ensures that we include the c++ headers for consumers

@JRJurman JRJurman mentioned this pull request Jun 7, 2026


- name: Archive artifact
uses: actions/upload-artifact@v4

@enumag enumag Jun 7, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

should probably update all actions to latest... for instance this one has v7 already... but can be done separately

@JRJurman JRJurman Jun 7, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah - agreed that these should be updated as a follow-up. The main impetus for updating actions/checkout to v4 was because actionlint was failing with an error on v2 (saying that the action was too old to run on GitHub Actions). To minimize the changes here, I'm tempted to leave the others as-is, but agreed that we should update the other ones soon!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Created an issue for this - #40

@m1maker m1maker merged commit 77b1b56 into m1maker:main Jun 7, 2026
3 checks passed
@JRJurman

JRJurman commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

@m1maker thank you for merging this in ❤️
I created an issue for the Android & iOS release artifacts, that I plan on picking up next 👏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants