Create GitHub Action build_apps.yml for Linux and Windows apps - #148
Create GitHub Action build_apps.yml for Linux and Windows apps#148cclauss wants to merge 3 commits into
Conversation
|
@cclauss I'm happy you're tackling #107. This could make a huge change for this project. Thanks for remembering to mark this as PR a draft, even if it was a few minutes too late :) Next time create it as a draft. @bittner I'll assume you're reviewing Christian's PRs until further notice. If you become too busy, let me know and I'll take over. |
|
(I unsubscribed now, if you want to get my attention, tag me.) |
|
@bittner @cool-RR Your reviews, please? Linux and Windows seem to work. The macOS app issues seem related to travis-ci/travis-ci#9744 (comment) We are not yet pushing the apps into a release but I doubt that I am the best person the do that piece. |
|
Doesn't that more look like an issue of PyInstaller, which fail on macOS? The PyInstaller docs have some special sections on macOS, maybe the hints there can help. The issue comment you quote is a good one! 😄 When reading the Macholib docs one thing that comes into my mind is: Why is a library that does "analyze and edit Mach-O headers, the executable format used by Mac OS" read the PNG file? Is the file maybe executable or something? Otherwise, could you try to remove it or replace the PNG file to see whether that changes anything. |
|
My sense is that we should land this one as is and work on macOS on a new draft pull request. |
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| os: [ubuntu-latest, windows-latest] # TODO cclauss: Add macos-latest |
There was a problem hiding this comment.
Remove the TODO, please. If needed better create an issue to remind yourself.
| if: matrix.os == 'ubuntu-latest' | ||
| run: sudo apt-get install libsdl2-2.0-0 |
There was a problem hiding this comment.
The if shouldn't be necessary. We shouldn't do a matrix build in the first place.
I would suggest to split this file up and run the build for Linux, macOS and Windows separately. Then you need no ifs, because you know which OS this build job runs for.
| - name: Build a platform specific app | ||
| run: python setup.py clean bundle | ||
| - name: Push Linux app to GitHub Releases | ||
| if: matrix.os == 'ubuntu-latest' |
There was a problem hiding this comment.
Same here. Use separate files, then not ifs are needed.
| pull_request: | ||
| branches: [master] | ||
| push: | ||
| branches: [master] |
There was a problem hiding this comment.
This is tricky. We would need:
- Binaries should be built in PRs, to verify that the build wouldn't fail when the changes are merged into
master. - Binaries should be (built again and) released only when we push a version tag. (Example)
What we probably don't want is a new release each time we push or merge something into master.
See also: Related documentation
|
Thank you! 👍 |

Related to #107 this PR builds Linux and Windows apps.
The macOS app issues seem related to travis-ci/travis-ci#9744 (comment)