Skip to content

gitlab-ci: fix the cargo invocation in the Windows job

Johannes Schindelin via GitGitGadget git 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest4 patches 3 repliesIn review
  2. v14 patches 14 repliesSuperseded

Changes in v2 from the cover letter

* Reworded the commit messages to clarify previously confusing statements.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4ci(gitlab,windows): provision GNU Rust for SDK-based MinGW buildsci/install-dependencies.ps1+13 -50 replies
2/4ci(gitlab,windows): preserve exclusions during dependency setupci/install-dependencies.ps1+3 -10 replies
3/4ci(gitlab,windows): fix Rust setup for GitLab's MinGW build.gitlab-ci.yml+4 -10 replies
4/4ci(gitlab,windows): provide GNU Rust's host-linker supportci/install-dependencies.ps1+1 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/4] gitlab-ci: fix the cargo invocation in the Windows job

In https://lore.kernel.org/git/[email protected]/, Junio mentioned that the GitLab CI seems broken since I enabled Rust in the Windows-based CI jobs. This patch series should fix it (lightly tested, but I don't have a whole lot of build minutes on GitLab).

Changes since v1:

* Reworded the commit messages to clarify previously confusing statements.

Johannes Schindelin (4):
ci(gitlab,windows): provision GNU Rust for SDK-based MinGW builds ci(gitlab,windows): preserve exclusions during dependency setup ci(gitlab,windows): fix Rust setup for GitLab's MinGW build ci(gitlab,windows): provide GNU Rust's host-linker support

 .gitlab-ci.yml              |  5 ++++-
 ci/install-dependencies.ps1 | 22 ++++++++++++++++------
 2 files changed, 20 insertions(+), 7 deletions(-)

base-commit: d38352cd43ab9745686d697872408bc3249a153f
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2233%2Fdscho%2Ffix-cargo-in-windows-gitlab-ci-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2233/dscho/fix-cargo-in-windows-gitlab-ci-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/2233

Range-diff vs v1:

1: 6a389b2bad ! 1: cdf2eff480 ci(gitlab,windows): provision GNU Rust for SDK-based MinGW builds
@@ Metadata
## Commit message ##
ci(gitlab,windows): provision GNU Rust for SDK-based MinGW builds

- The minimal Git for Windows SDK already supplies Git and GCC. The
- MinGW Makefile build needs the GNU Rust toolchain, not another Git
- installation or Meson.
+ The minimal Git for Windows SDK already supplies Git and GCC. The MinGW
+ Makefile build needs the Rust toolchain that targets GCC (as opposed to
+ the more common MSVC one), not another Git installation or Meson.

- Let the dependency installer serve this configuration while keeping
- the existing package set for MSVC builds.
+ Prepare the install-dependencies.ps1 script to be able to install the
+ GCC-targeting Rust toolchain.

Assisted-by GPT-6
 2:  8855c25128 = 2:  19a4d93181 ci(gitlab,windows): preserve exclusions during dependency setup
 3:  57a83d15fd = 3:  6703fa0349 ci(gitlab,windows): fix Rust setup for GitLab's MinGW build
 4:  1ed79f00cf ! 4:  5310afcdf9 ci(gitlab,windows): provide GNU Rust's host-linker support

@@ Commit message
https://gitlab.com/dscho/git1/-/jobs/16593470275

Although gitcore is a static library, Cargo first links build.rs
- as a host executable. We omitted the GNU MSI's Gcc feature, which
+ as a host executable. We omitted the Rust MSI's Gcc feature, which
supplies the required linker and platform libraries:
https://github.com/rust-lang/rust/blob/1.96.0/src/etc/installer/msi/rust.wxs

Signature · 1 line
gitgitgadget