-
Notifications
You must be signed in to change notification settings - Fork 240
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
Build automatically using GitHub workflow #72
base: master
Are you sure you want to change the base?
Conversation
731e473
to
3eb02ca
Compare
I'm using this, it's useful for me. It needs minor adjustments now though, there isn't a -mini version any longer. |
@Peter0x44 I've updated the script and rebased on master. The workflow still doesn't use the |
The fortran variant is now gone, so I think this will need a few adjustments. |
Yup, I'm about to make a new 2.0.0 release with significant distribution changes. It's now a self-extracting 7-zip archive, and
Like when I got rid of "mini", I want to simplify it for newcomers, so they don't have to make a decision about which to download. It's just 64-bit and 32-bit, with 64-bit (deliberately) sorting first. These releases are also a third of the size of the originals and extract ~100x faster (literally!) than Windows built-in zip support. I hope this will also help with virus scanner nonsense, because extracted files won't have Mark of the Web (i.e. "forbid this file from any use"), which Windows built-in zip support does, but 7-zip, especially the self extract, does not. If someday I figure out how to navigate Windows code signing, signing just the SFX will be enough. |
On the subject of signing, there is some discussion here in msys2 for doing it to the installer: |
Thanks, Peter0x44, that's useful information!
|
ea37e81
to
369c606
Compare
I've updated the workflow file to w64devkit 2.0.0. |
This needs some adjustments to stop using this deprecated action version. |
Thanks, it should be fixed now. |
Yet another feature that made me think that if it's useful for me, there's a chance it might be useful for others :)
This uses GitHub Actions to automatically build w64devkit.
This is the way I made it for myself, I'm open to bring modifications to the PR if something in there would be interesting.
The builds are triggered on either of two events:
Each commit pushed to master, and each pull request open to master, which upload builds to the Action page (example):
![Screenshot of the workflow page showing downloadable builds, as linked by the "example" link above.](https://private-user-images.githubusercontent.com/66701383/250626762-4cfdb46f-c87a-4f9a-8303-76876710b6dd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTEyMjAsIm5iZiI6MTczOTU5MDkyMCwicGF0aCI6Ii82NjcwMTM4My8yNTA2MjY3NjItNGNmZGI0NmYtYzg3YS00ZjlhLTgzMDMtNzY4NzY3MTBiNmRkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDAzNDIwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFmNDNmYzcyZTlmYTg3OWJjOTVhMzYwNmUxZDY4MjVkMjNjNjAyOWE1NDU3ZjQ3MWFiMTMwMWFkNjcyNmNiY2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.7y_1glWv5MC_guYvUrW2dck24LKlI3eMrhoNPgS3zOA)
This offers a nice an easy way to download builds for any commit on the master branch. Unfortunately, those are only available for logged in users.
Each tag pushed on the repo, which automatically uploads the builds to a new release marked as draft (example - the only thing I did manually was to publish the release):
![Screenshot of the release page, as linked by the "example" link above.](https://private-user-images.githubusercontent.com/66701383/250626872-8bb07935-090f-4450-9b35-0db9286b7f28.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTEyMjAsIm5iZiI6MTczOTU5MDkyMCwicGF0aCI6Ii82NjcwMTM4My8yNTA2MjY4NzItOGJiMDc5MzUtMDkwZi00NDUwLTliMzUtMGRiOTI4NmI3ZjI4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDAzNDIwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI3MDEzY2Q3OTVkYjBjMTdhOWQzYTJjOTkyOGZmOTVhOWIxNGU1MGE4NjUwZTZkMjM4Zjg1ZmVjZTY3NzlmMWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Z2cqo9zCuuKolBgSSUjL5CuMRHVYsBDZproN_46zh1o)
This offers a ready-made template for releases based on git tags. I tried to strictly follow the format used by the latest releases, as to minimize manual intervention, but the release is not automatically published by GitHub Actions, so manual intervention is always possible before publishing a release.
The upsides I've noticed:
The downsides:
If there's interest in this PR, I can explain in further detail any decision I took while creating the workflow file. I'm also willing to adapt this PR as necessary.