Christoph Reiter
7417496d9e
write_build_plan: rework + build src last
...
* don't show the cycles when generating the build plan
(we have other places that show it now)
* interleave the different build types when generating jobs
* make the src jobs depend on the non-src jobs, as src builds
depend on eiher msys or ucrt64 build results and otherwise
will just stop due to missing deps. Could be improved by only
depending on msys/ucrt64, but this is still an improvement.
2023-03-24 13:19:12 +01:00
Christoph Reiter
c27f9a7c40
we can only clean assets for the current repo
2023-03-23 12:32:59 +01:00
Christoph Reiter
19857e3fa0
looks like fromJson() can't handle newlines
2023-03-23 12:07:49 +01:00
Christoph Reiter
956ac59246
write_build_plan: remove the check for running workflows
...
This was required to avoid running multiple builds at the same time.
But GHA now has concurrency groups which solves the same problem,
so drop that code
2023-03-23 11:59:37 +01:00
Christoph Reiter
ba632451ef
README: document the env vars
2023-03-23 11:59:37 +01:00
Christoph Reiter
606b782bb0
config: add option to limit the job count for specific build types
...
Limit src builds because they are quite fast anyway, and clangarm64
because the self hosted runner can only do one job at a time.
2023-03-23 11:58:17 +01:00
Christoph Reiter
e2ca121180
Replace readonly with write everywhere
...
less confusing, at least for me
2023-03-23 11:58:17 +01:00
Christoph Reiter
b453032363
Get rid of MAIN_REPO
...
in most cases at least. either derive from the current
build type, or via get_current_repo() which reads the
GITHUB_REPOSITORY env var.
2023-03-23 11:58:17 +01:00
Christoph Reiter
98697683a5
main: remove --repo option again
...
this was meant for the arm runner, but it was never used.
2023-03-23 11:58:17 +01:00
Christoph Reiter
6f93057f83
make the tests a package
...
to make pytest happy
2023-03-23 11:58:13 +01:00
Christoph Reiter
88871c4cb0
Rename _PathLike to PathLike
...
it's no longer internal
2023-03-23 11:17:10 +01:00
Christoph Reiter
ad34ca14b6
Move some hard coded IDs to the config
2023-03-23 11:17:10 +01:00
Christoph Reiter
e0e19de2c1
Add some unit tests
...
just one to get things started
2023-03-22 12:47:27 +01:00
Christoph Reiter
5085f864b3
Missed one command
2023-03-22 11:13:33 +01:00
Christoph Reiter
6f40845ba3
README: add a short description and remove the process info
...
the process info is now moved to the main MSYS2 documentation
2023-03-22 10:42:42 +01:00
Christoph Reiter
6788467670
README: update the CLI help output
2023-03-22 10:09:36 +01:00
Christoph Reiter
87f0603c87
Split the code up into separate modules
...
with minimal code changes
2023-03-22 09:59:05 +01:00
Christoph Reiter
0d25d51a04
Convert the script to a Python package
...
It can now be invoked via `python -m msys2_autobuild` or
by installing it, which adds a "msys2-autobuild" script.
This is a first step towards splitting up the code.
The HTTP cache is now stored in the working directory
instead of the source directory.
2023-03-21 11:34:39 +01:00
Christoph Reiter
d0ddf60737
Update dependencies
2023-03-18 10:40:06 +01:00
Christoph Reiter
91ab34350f
cache: clean up at the end and limit to 3 hours
...
it's unlikely there will be many hits after some hours, so better
keep the upload size low. Also clean at the end to make
the upload smaller.
2023-02-19 17:02:55 +01:00
Christoph Reiter
38e6bc6e47
requests_cache: port to new cache cleanup function
...
I find the API still confusing, but it's better then before.
2023-02-19 16:43:35 +01:00
Christoph Reiter
6ccea00bba
Bump the max number of jobs again
...
Since the last commit we should need fewer API calls
2023-02-19 16:10:29 +01:00
Christoph Reiter
c152a6dbbf
Depend on the new pygithub assets API
...
This exposes the assets inline from a release, so this
should save us lots of requests. Available since v1.58.0
2023-02-19 16:08:51 +01:00
Christoph Reiter
b7df29ff56
CI: skip installing wheel
...
This was for packages without wheels to build them initially.
In theory newer pip should handle this automatically, let's see
2023-02-19 16:07:19 +01:00
Christoph Reiter
77c2d02a4d
Update dependencies
2023-02-19 16:03:41 +01:00
Jeremy Drake
aea263ec2c
CI: Remove enabling of clangarm64 in pacman.conf
...
It is now enabled by default so this is a no-op.
2023-01-29 00:33:11 +01:00
Jeremy Drake
1666f6d3b0
Allow building qt6-static on clangarm64.
...
The timeout on a self-hosted runner is much larger (72 hours, though
there seemed to be a different limit related to the token hit before
reaching that).
2023-01-18 19:44:42 +01:00
Christoph Reiter
63a1b6020e
Extend manual build for mingw-w64-qt5-static to clang32/64
...
seems the clang build got slower, it now hits the 6h limit always
2023-01-18 18:36:19 +01:00
Christoph Reiter
77a21114a8
CI: set "MSYS" env var later
...
so the cache action doesn't override it
See https://github.com/actions/toolkit/issues/1312
2023-01-14 12:33:26 +01:00
Christoph Reiter
6e2c5b47d4
Revert "Unset MSYS env everywhere"
...
This reverts commit e2f4f874a20304bc94047ddf92ca63a9ee9aa5e5.
We are depending on it being set in CI, so this isn't the right approach
2023-01-14 12:32:40 +01:00
Christoph Reiter
e2f4f874a2
Unset MSYS env everywhere
...
See https://github.com/actions/toolkit/issues/1311
2023-01-14 07:58:13 +01:00
Christoph Reiter
63f65d30bc
Delete old assets in a thread pool
...
To speed things up a bit
2023-01-01 11:34:17 +01:00
Christoph Reiter
307799fd27
Update the status file format and include cycles
...
This moves it closer to the buildqueue format, and also includes cycles,
and allows future additions.
2022-12-27 16:16:47 +01:00
Christoph Reiter
bf82f9fff2
Don't include broken cycles in the cycle output
2022-12-27 16:16:08 +01:00
Christoph Reiter
a9862b27c1
Missed one left over src build-type
2022-12-24 00:03:29 +01:00
Christoph Reiter
2ae439cd00
Build all source packages in a separate build job
...
See https://github.com/msys2/msys2-autobuild/issues/69
Building source packages requires git etc to be installed, but
ideally we wouldn't pollute the builder with extra packages that
it doesn't explicitly require.
To avoid this build msys and mingw source packages in a separate job.
2022-12-23 23:53:08 +01:00
Christoph Reiter
21a84297d8
Update deps
2022-12-21 12:09:05 +01:00
Christoph Reiter
e22cc1cc17
Update dependencies
2022-12-10 21:55:46 +01:00
Christoph Reiter
eee25ec33f
CI: run on ubuntu-22.04
2022-12-10 21:21:01 +01:00
Christoph Reiter
59e8e1af5d
CI: create a larger pagefile
...
so we can build flang in CI, same as https://github.com/msys2/MINGW-packages/pull/13791
2022-10-29 21:18:54 +02:00
Christoph Reiter
1fd41adbfa
CI: test with 3.11
2022-10-27 08:05:20 +02:00
Christoph Reiter
e94b92f73e
Update deps
2022-10-27 08:04:11 +02:00
Christoph Reiter
5d06444a57
CI: port away from ::set-output
2022-10-21 13:24:22 +02:00
Christoph Reiter
9d582e19b1
Build src packages in an ucrt64 env
...
It will be the new default
2022-10-10 18:39:24 +02:00
Christoph Reiter
bf34129d62
Update dependencies
2022-10-09 20:57:44 +02:00
Christoph Reiter
c9dd9afe5e
Unset VCPKG_ROOT during build
...
see https://github.com/msys2/MINGW-packages/pull/13368
2022-10-02 12:35:50 +02:00
Christoph Reiter
b40229daa6
Drop BUILD_TYPES_WIP
...
This wasn't complete as it would only ignore broken builds
for direct deps and not indirect ones, but kinda worked in ignoring
some arm64 errors.
But it also causes problems if an error is ignored and the other arches
get uploaded. Then it's hard to roll back the update because lots of
packages with the new version are already in the repo.
With the new autobuild controller we can also restart flaky builds instead
of ignoring them and waiting for jeremy to fix them later.
Let's try removing that special case.
2022-09-20 08:02:56 +02:00
Jeremy Drake
253f8b8c4c
GHA: accept extra 'context' input
...
This is meant for the invoker (ie, msys2-autobuild-controller) to
provide additional information to be logged with the job (specifically,
what user requested it).
2022-09-06 21:58:16 +02:00
Jeremy Drake
c03c642719
GHA: log workflow_dispatch inputs in job
2022-09-06 21:58:16 +02:00
Christoph Reiter
f581199930
try running the real pacman with exec
...
it seems like the pacman wrapper doesn't survive a runtime update.
try exec to avoid returning control to bash
2022-09-06 21:11:16 +02:00