Repository navigation
Commit 57cc270
ci(gix): add Ubuntu and macOS jobs with Cargo caching
The full-suite matrix only installed `.[test,gix]` on Windows, so Ubuntu
and macOS exercised the CLI backend even where `GixPython` was available.
Add one Python 3.12 Gix job on each platform, covering all three runner
OSes while preserving the 28 existing CLI jobs and their check names.
Use the official PyPI release: macOS can install wheels, while Linux and
Windows build the source distribution with stable Rust. Keep
`CARGO_TARGET_DIR` outside `pip`'s temporary source directory and cache it
alongside Cargo registry and Git dependencies. Cache keys include OS,
architecture, Python, Rust and `gix-requirements.txt`, allowing dependency
reuse across releases on the same platform and toolchain. Retain the
existing `pip` wheel cache and document the job names and build requirements.
Validation:
- `actionlint` 1.7.12 and the repository's pinned `pre-commit` checks passed.
Matrix expansion verifies 31 jobs and unchanged CLI combinations/names.
- Built the SHA-256-verified `GixPython` 0.1.0 source distribution using the
existing Python 3.12.14 and Rust 1.99.0. The first build, including test
environment setup, took 117.51 seconds. A rebuild from a different source
path reused all 228 Cargo crates and completed in 1.57 seconds.
- Ran the workflow's installation/backend assertion with that source-built
wheel and verified the installed extension matches it byte-for-byte.
- Focused repository/backend tests passed with Gix first: 16 tests and
14 subtests. CLI then passed 12 tests and 14 subtests, with the Gix-only
module skipped. These are local checks; the new CI jobs have not run yet.1 parent ab6cdd3 commit 57cc270
2 files changed
Lines changed: 47 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
37 | 47 | | |
38 | 48 | | |
39 | 49 | | |
| |||
65 | 75 | | |
66 | 76 | | |
67 | 77 | | |
68 | | - | |
| 78 | + | |
69 | 79 | | |
| 80 | + | |
70 | 81 | | |
71 | 82 | | |
72 | 83 | | |
73 | 84 | | |
74 | 85 | | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
75 | 99 | | |
76 | 100 | | |
77 | 101 | | |
| |||
115 | 139 | | |
116 | 140 | | |
117 | 141 | | |
| 142 | + | |
| 143 | + | |
118 | 144 | | |
119 | 145 | | |
120 | 146 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
848 | 849 | | |
849 | 850 | | |
850 | 851 | | |
851 | | - | |
| 852 | + | |
852 | 853 | | |
853 | | - | |
854 | | - | |
855 | | - | |
856 | | - | |
857 | | - | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
858 | 859 | | |
859 | | - | |
860 | | - | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
861 | 871 | | |
862 | 872 | | |
863 | 873 | | |
| |||
0 commit comments