GitHub Workflows for Release#38
Conversation
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v2 | ||
| uses: actions/checkout@v4 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
| FILE_SET HEADERS | ||
| BASE_DIRS "${INCLUDES}" | ||
| FILES "${INCLUDES}/SRAL.h") | ||
| FILES "${INCLUDES}/SRAL.h" "${INCLUDES}/Sral.hpp") |
There was a problem hiding this comment.
this ensures that we include the c++ headers for consumers
|
|
||
|
|
||
| - name: Archive artifact | ||
| uses: actions/upload-artifact@v4 |
There was a problem hiding this comment.
should probably update all actions to latest... for instance this one has v7 already... but can be done separately
There was a problem hiding this comment.
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!
|
@m1maker thank you for merging this in ❤️ |
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: