124 Commits

Author SHA1 Message Date
Christoph Reiter
0b88e29e87 Clean up the package exception lists 2021-02-05 16:37:03 +01:00
Christoph Reiter
dd5df302c9 oops.. 2021-02-05 16:33:08 +01:00
Christoph Reiter
279cabaa98 Handle mingw packages depending on msys ones
This is the only cross build type dep we allow.
2021-02-05 16:19:34 +01:00
Christoph Reiter
04735f8c7f Deduplicate and sort missing deps in the description 2021-02-04 10:41:24 +01:00
Christoph Reiter
bd3d4d38c4 Remove error when building the same thing twice
This was to prevent bugs leading to loops, but also prevents
rebuilds in case of flaky builds that are manually reset.

Things seem stable enough now, so remove it.
2021-01-31 13:51:55 +01:00
Christoph Reiter
2ce31a81f6 Update the build status before/after each build
Instead of before abd after the CI job. We already have most the information
ready in that case so we can do it more often without hitting the GH API too much.

This gives us faster status updates on the website.
2021-01-30 20:00:05 +01:00
Christoph Reiter
4eaa5d3941
try blender again 2021-01-24 17:00:45 +01:00
Christoph Reiter
87d7916308 Always build source packages in CI
They should always work and not hit any limits
2021-01-24 13:33:13 +01:00
Christoph Reiter
4daf82d87f Add an upload-assets command
Example:

* build package
* ./autobuild.py upload-assets mingw-w64-blender

It will look automatically for the right files in the current directory (or specify
a directory via --path) and upload them. Use --dry-run to see what gets uploaded first.

Our CI can't handle all packages since some reach the build time limit
and some toolchain packages have cyclic dependencies that make DLL version
bumps impossible without locally copying DLLs around.

For this maintainers can now upload the missing packages and unblock CI.
Up until now only GHA was allowed to upload. This gets replaced by a list of allowed
uploaders. It doesn't add much security, but better than nothing.
2021-01-23 21:11:02 +01:00
Christoph Reiter
4ccc958f85 Fix finished check for blocking
We only want to know if they are finished, not if they can be downloaded.
2021-01-23 20:48:21 +01:00
Christoph Reiter
b6111084a4 Add a shebang 2021-01-23 19:56:29 +01:00
Christoph Reiter
d428412330 typo 2021-01-22 19:48:02 +01:00
Christoph Reiter
8360a63dea update-status: print some success message 2021-01-22 17:28:01 +01:00
Christoph Reiter
294a27a650 Create a status.json file on each run
This can be used on packages.msys2.org
2021-01-22 17:22:47 +01:00
Christoph Reiter
2c024794af Fix 2021-01-22 16:31:00 +01:00
Christoph Reiter
584cea762b Rework everything
It now calculates the status of all builds upfront and then just decides
what to do about it.

This means we can potentially dump the status to a json file and re-use
it in other places.
2021-01-22 16:13:14 +01:00
Christoph Reiter
9a992986d6 Derive more things from env vars 2021-01-22 12:15:23 +01:00
Christoph Reiter
ad3d603999 Remove show-assets/trigger commands
These turned out to not be very useful
2021-01-21 21:24:38 +01:00
Christoph Reiter
c76cb3ece8 Refactor things a bit 2021-01-21 21:21:35 +01:00
Christoph Reiter
d01b2edd55 Remove src package special case
just build it whenever. we no longer download it when not everythign is done
and there aren't that many left.
2021-01-21 19:44:07 +01:00
Christoph Reiter
fed410c65f Revert "skip v8 for now"
This reverts commit d4ec2ca9d0ea12b5bc5d7b127d821ca2303b8b6c.
2021-01-16 06:38:55 +01:00
Christoph Reiter
d4ec2ca9d0
skip v8 for now 2021-01-16 05:50:59 +01:00
Christoph Reiter
9e2e1814a2 Fix the failed run ID URL; use a .txt extension for the failed files 2021-01-11 20:46:48 +01:00
Christoph Reiter
491f3f9924 flake8 fixes 2021-01-09 14:46:13 +01:00
Naveen M K
5541c688e7
Add actions job run URL in staging-failed (#22) 2021-01-09 13:06:19 +01:00
Christoph Reiter
dae62d58bf Skip some more packages
blender takes too long
2021-01-04 16:53:45 +01:00
Christoph Reiter
b9b725c2ef
Merge pull request #21 from jeremyd2019/patch-1
add --pretend option to fetch-assets
2021-01-03 21:57:38 +01:00
Christoph Reiter
f36ff3d808 check if any blocked, not just the last repo 2021-01-03 21:55:04 +01:00
Christoph Reiter
de1805c9f0 Print the correct block list 2021-01-03 21:53:05 +01:00
Christoph Reiter
828d85c167 skip one more 2021-01-03 21:52:56 +01:00
Christoph Reiter
e3869cacf0 Skip some packages when checking if all rdeps of packages are ready
These are things that are unlikely to be fixed in the comming days,
so ignore them for now and don't block everything because of them.
2021-01-03 21:50:33 +01:00
Christoph Reiter
37e9074bb9 Fix typo 2021-01-03 21:42:21 +01:00
jeremyd2019
8d6d192a50
add --pretend option to fetch-assets
Sometimes I just want to see what would (and would not) be downloaded, but not actually download anything.
2021-01-03 12:40:25 -08:00
Christoph Reiter
bd99faf213 fetch-assets: ignore msys packages when trying to figure out if mingw ones can be downloaded 2020-12-31 09:28:16 +01:00
Christoph Reiter
6dcba93e99 fetch-assets: add --verbose and --fetch-all options 2020-12-31 09:07:29 +01:00
Christoph Reiter
2972d604ae oops.. 2020-12-29 11:46:17 +01:00
Christoph Reiter
57d6718655 Revert "Make ext-depends a set, now that packages are hashable"
This reverts commit cdd07772e74f9b2627ac1321e67d8b79bea09fc0.

We still need the name of the real package... so this was wrong
2020-12-29 11:39:00 +01:00
Christoph Reiter
4911712d46 Rework fetch-assets blocking
Instead of grouping the packages, just look at the deps and rdeps of each package,
this is actually what we want and easier.
2020-12-29 11:22:37 +01:00
Christoph Reiter
cdd07772e7 Make ext-depends a set, now that packages are hashable 2020-12-29 09:44:36 +01:00
Christoph Reiter
8e3ed38f5c get_packages_to_build: allow without creds 2020-12-28 08:58:38 +01:00
Christoph Reiter
03194d7f8b fetch-assets: be more strict in what we allow to download
In case any builds are in the queue that depend on finished builds in the
queue don't download both.

In case finished builds are in the queue and new dependencies get added
to the queue don't download both.

Handle this by grouping into separate dependency graphs and only download
finished sub graphs.

Might need a bit more feedback as to what and why it is skipped.

Fixes #19
2020-12-26 19:28:59 +01:00
Christoph Reiter
ca2a75da4c Only warn when no creds are given 2020-12-26 17:17:08 +01:00
Christoph Reiter
dfb80bed37 Allow calling fetch_assets without credentials
It will only work a few times, but it's usually only used once anyway.

Fixes #20
2020-12-15 21:54:35 +01:00
Christoph Reiter
58febc1140 switch back to keys.gnupg.net 2020-12-11 16:05:06 +01:00
Christoph Reiter
c220de72ed Don't fail when a package gets updated during a build
If there is a new version it's not a duplicate
2020-12-08 09:30:58 +01:00
Christoph Reiter
00f7657c4d fetch-assets: chmod the downloaded files to 644
tempfile creates them with 600 by default, set back to 644, which
is what it was before the tempfile change.
2020-12-07 20:59:31 +01:00
Christoph Reiter
0c0d36fbdc fetch_assets: use more threads and increase the read timeout a bit
bumping the thread count makes things a bit faster here, and to not hit
a read timeout, increase that a bit as well.
2020-12-01 19:25:19 +01:00
Christoph Reiter
68a4ac86cc download_assets: download to a temp file and then move to the destination
In case the download fails we don't want to end up with half downloaded
files in the target location.
2020-12-01 19:25:18 +01:00
Christoph Reiter
599a5db844 Handle all cases when deciding wether to build source packages
It only looked at the mingw64 build to see if a source package should
be built. But in can also be that only a mingw32 is needed if the other
one was already updated.
2020-11-22 18:17:17 +01:00
Christoph Reiter
9ae4de6fcb Handle assets that failed to upload completely
For deciding what to build we need to ignore them and also
replace them if needed. For cleaning things up we need to take
of them too.
2020-11-13 11:47:46 +01:00