583 Commits

Author SHA1 Message Date
Christoph Reiter
23845c53e0 Update deps 2025-03-29 12:37:12 +01:00
Christoph Reiter
e9e823c2e7 build: try to use actions/cache@v4 for pip caching
To work around https://github.com/actions/setup-python/issues/1050
2025-03-12 06:48:14 +01:00
Christoph Reiter
fe4bcd08a9 CI: disable "update-environment" for "setup-python"
setup-python, by default, sets various cmake and pkg-config env
vars, so that packages using cmake can be built. Since this might
interfere with out package builds disable it.

We only care about the Python executable itself, so use the action
output to create the venv.
2025-03-10 08:38:48 +01:00
Christoph Reiter
47cc05c39f CI: also use a venv for the Windows build job
To be more isolated from the host system
2025-03-10 08:30:20 +01:00
Christoph Reiter
a2ebb72da0 CI: use a venv for the linux jobs
To gain more isolation from the host
2025-03-09 19:26:37 +01:00
Christoph Reiter
4413e41389 Port to PEP 621
only dev deps left, for that we need PEP 735 which isn't in poetry yet
2025-03-07 16:41:28 +01:00
Christoph Reiter
d45f6720f4 CI: move to Python 3.13 2025-03-07 12:06:20 +01:00
Christoph Reiter
e2042058f1 gh: improve repo caching
We were caching based on the build type, but for most build types the repo
is the same, so cache one level below instead.
2025-03-07 12:04:27 +01:00
Christoph Reiter
bb54adc298 Add verbosity option and write logs to stderr by default
default is warning, -v means info, -vv means debug
2025-03-07 12:04:27 +01:00
Christoph Reiter
1ef3f8f5f5 Use new pygithub global lazy feature
Requires 2.6.0. Means data is only fetched if it is accessed,
so fewer API calls for us (hopefully).
2025-03-07 12:04:21 +01:00
Christoph Reiter
ca6dd299ee Update dependencies 2025-03-07 11:02:48 +01:00
Christoph Reiter
5f9bed8409 CI: remove VCPKG_ROOT workaround
This was to avoid breakage from https://github.com/actions/runner-images/pull/6192
But it was reverted in the image long ago: https://github.com/actions/runner-images/issues/6376
2025-03-07 10:07:04 +01:00
Christoph Reiter
625631832e CI: derive the build root from GITHUB_WORKSPACE
On hosted runners this means D:, on self-hosted it
will point to C: if there is only one drive.
2025-03-06 00:27:11 +01:00
Christoph Reiter
7ec5a79b46 CI: build on D: instead of C:
Related to 796ec1c1ba

D: is both faster and has more free space compared to C: with the current runner setup.
2025-03-05 23:19:23 +01:00
Christoph Reiter
a187346d08 Update deps 2025-02-15 15:11:06 +01:00
Christoph Reiter
b442168127 build: delete all junctions before calling "git clean"
git clean can't deal with junctions and in case there is a loop
it follows them forever (or until stack overflow).
https://github.com/git-for-windows/git/issues/5320

To work around this try to delete all junctions in the clean
re-try code path.

Fixes #108
2025-01-31 16:01:13 +01:00
Christoph Reiter
bdd38ec73c Update deps 2025-01-25 07:32:02 +01:00
Christoph Reiter
98f6ea2875 CI: set default permissions to make newer zizmor happy 2025-01-19 09:27:23 +01:00
Christoph Reiter
a977f9deb9 remove leftover debug print 2025-01-11 08:58:12 +01:00
Christoph Reiter
4f60392b3e make_tree_writable: handle junctions and add tests
As found out here, os.walk() by default follows junctions, which we don't
want and can even lead to loops:
https://github.com/msys2/msys2-autobuild/issues/101#issuecomment-2583121845

Integrate the workaround mentioned in the CPython bug report:
https://github.com/python/cpython/issues/67596#issuecomment-1918112817
Since this is Python 3.12+ only and we still support 3.10 make
it optional though.

This also adds tests, which uncovered some other minor issues:
It was not chmoding top-down, which meant that os.walk would
skip things if there were no read permissions. So chmod before
os.walk() lists the dir.
2025-01-10 21:32:14 +01:00
Christoph Reiter
35ff0b71b6 Update deps 2024-12-20 11:24:43 +01:00
Christoph Reiter
1575848e81 Move to windows-2025 2024-12-20 11:23:33 +01:00
مهدي شينون (Mehdi Chinoune)
657fd89531 remove clang32 2024-12-19 08:19:08 +01:00
Christoph Reiter
0f20d6bfa8 Reapply "CI: remove code scanning again"
This reverts commit c553f33cf05394be3733705adc4c3ad86e1a044d.

I still can't get it to work and I give up
2024-12-13 22:16:39 +01:00
Christoph Reiter
c553f33cf0 Revert "CI: remove code scanning again"
This reverts commit c5b593a34c9d51fac31f3c3e158db7b15a004804.

try the suggestion from
https://github.com/woodruffw/zizmor/discussions/291
2024-12-13 21:51:40 +01:00
Christoph Reiter
c5b593a34c CI: remove code scanning again
And just fail normally in the job if anything is found.
I can't get the code scanning to fail a check somehow.
2024-12-13 21:34:31 +01:00
Christoph Reiter
1bc0a28e35 CI: run zizmor 2024-12-13 20:55:43 +01:00
Christoph Reiter
0f71ee73cf Update deps 2024-12-06 17:43:59 +01:00
Christoph Reiter
4deb3111d3 CI: move to ubuntu-24.04
from ubuntu-22.04
2024-12-06 14:41:07 +01:00
Christoph Reiter
5bf958fd1b CI-hardening: move permissions to the job level
Instead of giving all jobs write permissions, default to no permissions
and enable them on a per-job basis.

This does not change anything for us, but avoids accidental write
permissions if a new job gets added without considering that it inherits
the top level permissions, even if it doesn't need them.

See https://woodruffw.github.io/zizmor/audits/#excessive-permissions
2024-12-06 14:17:15 +01:00
Christoph Reiter
7eed3d8bc1 CI-hardening: escape the msys2-location output
While that comes from our own action, so we can in theory trust it,
escape it for good measure. Can't hurt and silences a warning.
2024-12-06 13:59:38 +01:00
Christoph Reiter
7c78444174 CI-hardening: set persist-credentials=false for all actions/checkout
To avoid writing the token to disk. It still gets exposed via env vars
to various steps, but this removes the access from any steps before that.

As recommeded by the zizmor scanner
2024-12-06 13:59:25 +01:00
Christoph Reiter
19c8f00aba CI: update to Python 3.12; also test with 3.13 2024-12-06 13:59:06 +01:00
jeremyd2019
a6b3079ae3 update package name in OPTIONAL_DEPS
The pkgbase was renamed from mingw-w64-clang to mingw-w64-llvm, but this still had the old name, requiring manual specification of breaking the cycle with libc++
2024-11-12 23:28:24 +01:00
Christoph Reiter
acafab9b5f queue: fix missing cycles with build-only deps of deps
We only looked at the dependencies of a package that are needed for building,
but for detecting build cycles we also have to look at all transitive deps.

Unless the dependency is already finished, then we can ignore its build deps,
even if they are not finished yet.

The test shows such a case where things indirectly create a cycle via cmake.

Fixes #91
2024-10-26 20:06:33 +02:00
Christoph Reiter
ef67d84096 Update deps 2024-10-26 14:27:05 +02:00
Christoph Reiter
7c56a1d764 Update deps 2024-10-07 07:44:41 +02:00
Christoph Reiter
cfdccd0a03 Update deps 2024-09-21 11:15:17 +02:00
Jeremy Drake
22f1e5ad0b Revert "Partially revert "CI: Update actions/setup-python""
The upstream issue has (finally) been fixed.

This reverts commit 3e617554bbe6fc206a4032e86b0cc79aedad42e6.
2024-08-29 20:52:12 +02:00
Christoph Reiter
05a051162d Update deps 2024-08-28 08:30:18 +02:00
Christoph Reiter
f968d2f0ca Update deps 2024-08-09 11:49:18 +02:00
Christoph Reiter
67d510ec4b CI: use the new setup-msys2 output for finding the install location 2024-08-03 13:50:05 +02:00
Christoph Reiter
f44d95e7c2 Update deps 2024-08-02 09:40:41 +02:00
Christoph Reiter
00495cb263 Update deps 2024-06-23 09:56:16 +02:00
Christoph Reiter
40ab937954 Update deps 2024-06-07 17:56:03 +02:00
Christoph Reiter
59bb7f6f18 fetch-assets: test all downloaded files with zstd
Test them before moving them to the final location.
This makes the download fial of there is some file corruption etc.

This adds a dependency on the zstd exectuable for the fetch-assets
command.

Motivated by https://github.com/msys2/msys2-main-server/issues/42
2024-05-25 14:03:54 +02:00
Christoph Reiter
bf3cf80161 Update deps 2024-05-25 13:10:28 +02:00
Christoph Reiter
63ea6585cd config: clean up manual build and ignore rdep lists
those packages eiher no longer exist, or should proably build now
that the CI runners are faster.
2024-05-20 10:20:22 +02:00
Christoph Reiter
ea149103be Update deps 2024-05-20 10:13:34 +02:00
Christoph Reiter
9c7e8d3135 Update deps 2024-04-17 08:13:54 +02:00