Please welcome a new way to build Geany and Geany-Plugins for Windows in the CI.
What's in here:
- the workflow job to checkout Geany-Plugins, Geany and Infrastructure repositories
- use the supporting scripts in https://github.com/geany/infrastructure/tree/add_ci_builders/builders to
- build a Docker image with a full MSYS2 installation (or pull the image from the Geany Docker registry if available)
- use this Docker image to:
- build Geany and create a release-like installer for it as build dependency for the G-P build (or use cache if available)
- install Geany from the previously built Geany installer
- build Geany-Plugins and create and test an installer
- store the Geany and Geany-Plugins installer as artifact on Github
Mostly all of the work is done in the builder scripts on https://github.com/geany/infrastructure/tree/add_ci_builders/builders.
Unfortunately, it grew more than than expected in terms of amount of code.
I tried to document at least the basics so anyone else than me will be available to get an idea what is happening.
Let me know if it worked :).
There is a difference to the Linux CI build which more or less aims at using a rather old setup to ensure backwards compability.
The Mingw-w64 build instead always pulls the latest available packages from the MSYS2 repositories.
I think this is OK as this is also what we do on releases and since we bundle all dependencies into the installer (for release builds as well as for CI builds), the result should be consistent.
Best of all: during the CI build Windows installers are created for Geany and Geany-Plugins and they are stored as artifacts and can be downloaded later on (up to 30 days).
TODO:
- this branch needs a bit more testing with this PR
- we need to merge the PR XXX first
- for now, the necessary Docker image was uploaded to https://github.com/geany/infrastructure/pkgs/container/geany-mingw64-ci by me manually. Basically we could push the image also from the CI job but I'm hesitating to allow this because of the risks it offers to malicious users. Maybe I'll add a separate job in the infrastructure repository later to build and push the image there and restrict this job to admins
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany-plugins/pull/1201
Commit Summary
File Changes
(1 file)
Patch Links:
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany-plugins/pull/1201@github.com>