Skip to content

Create GitHub Action build_apps.yml for Linux and Windows apps - #148

Closed
cclauss wants to merge 3 commits into
PythonTurtle:masterfrom
cclauss:patch-3
Closed

Create GitHub Action build_apps.yml for Linux and Windows apps#148
cclauss wants to merge 3 commits into
PythonTurtle:masterfrom
cclauss:patch-3

Conversation

@cclauss

@cclauss cclauss commented Sep 22, 2020

Copy link
Copy Markdown
Contributor

Related to #107 this PR builds Linux and Windows apps.

The macOS app issues seem related to travis-ci/travis-ci#9744 (comment)

Screenshot 2020-09-24 at 01 07 03

@cclauss
cclauss marked this pull request as draft September 22, 2020 09:59
@cool-RR

cool-RR commented Sep 22, 2020

Copy link
Copy Markdown
Member

@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.

@cool-RR

cool-RR commented Sep 22, 2020

Copy link
Copy Markdown
Member

(I unsubscribed now, if you want to get my attention, tag me.)

@cclauss

cclauss commented Sep 22, 2020

Copy link
Copy Markdown
Contributor Author

@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.

@cclauss cclauss changed the title WIP: Create GitHub Action Build_apps.yml Create GitHub Action build_apps.yml for Linux and Windows apps Sep 22, 2020
@cclauss
cclauss marked this pull request as ready for review September 22, 2020 11:00
@bittner

bittner commented Sep 23, 2020

Copy link
Copy Markdown
Member

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.

@cclauss

cclauss commented Sep 23, 2020

Copy link
Copy Markdown
Contributor Author

My sense is that we should land this one as is and work on macOS on a new draft pull request.

@cclauss
cclauss marked this pull request as draft September 23, 2020 05:05
@cclauss
cclauss marked this pull request as ready for review September 23, 2020 05:50
@cclauss

cclauss commented Sep 23, 2020

Copy link
Copy Markdown
Contributor Author

Screenshot 2020-09-24 at 01 07 03

strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest] # TODO cclauss: Add macos-latest

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Remove the TODO, please. If needed better create an issue to remind yourself.

Comment on lines +22 to +23
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get install libsdl2-2.0-0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Same here. Use separate files, then not ifs are needed.

Comment on lines +4 to +7
pull_request:
branches: [master]
push:
branches: [master]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is tricky. We would need:

  1. Binaries should be built in PRs, to verify that the build wouldn't fail when the changes are merged into master.
  2. 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

@cclauss

cclauss commented Sep 24, 2020

Copy link
Copy Markdown
Contributor Author

Closing in favor of #149 and #150

@cclauss cclauss closed this Sep 24, 2020
@cclauss
cclauss deleted the patch-3 branch September 24, 2020 01:53
@bittner

bittner commented Sep 24, 2020

Copy link
Copy Markdown
Member

Thank you! 👍

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