Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move CI to Github Actions (reprise) #331

Merged
merged 18 commits into from
Jul 8, 2021
Merged

Conversation

matiasgarciaisaia
Copy link
Member

This PR moves the build/release process from TravisCI to Github Actions.

The Release workflow is apart from the Build one so we can re-try it in case it fails. The next step will be to split the Release workflow in multiple independent Release workflow (one per MAAP instance), but, in order to test that, the triggered workflows (the Release ones) have to be on the repo's default branch.


New PR to replace #330, which I've merged instead of squashing.

So I've force-pushed master back to where it was, and will be merging it again.

So long, and thanks for all the fish!
I've commented out the country instances for now, just in case
We're still drafting the workflow, so I don't want to wait for all the instances
macOS Catalina (the oldest macOS version supported by Github Actions)[0]
is not supported by our current electron-builder version to build .dmg
images[1]. Upgrading electron-builder seems to require upgrading NodeJS'
version - and I don't want to get lost into that rabbit hole now.

The workaround is to build .pkg versions for macOS distribution - that is
supported by our current electron-build

[0] https://github.com/actions/virtual-environments/blob/cd920950ecab4754858eb395a1a763ae20deb342/README.md
[1] electron-userland/electron-builder#3990 (comment)
The matrix key's order defines which job runs first[0], so this
change will hopefully make all Windows builds ran before their
macOS counter-parts, effectively avoiding the race condition
between two `release.js` scripts listing the releases at the
same time - and then both creating a draft each.

It's not a hard guarantee, but if it may be a cheap workaround -
and it's not that much of an issue if the workaround fail.

[0] https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix
This allows us to split release creation and installers upload in
two separate jobs, so we avoid creating two different drafts for
each release
`electron-builder` must be doing it by default
electron-builder takes care of that
That'll allow us to re-run that step independently.
We'll then split it into a workflow per instance.
It was a temporal change to be able to debug the builds.

This commit rolls it back so we can merge this branch.

See a2f831c
@matiasgarciaisaia matiasgarciaisaia changed the title Move CI to Github Actions (reprised) Move CI to Github Actions (reprise) Jul 8, 2021
@matiasgarciaisaia matiasgarciaisaia merged commit 104756c into master Jul 8, 2021
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.

1 participant