diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 48 |
1 files changed, 43 insertions, 5 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f56f2426..3aac823a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,7 +12,7 @@ after_script: buster: tags: - - self-hosted + - linux stage: build image: registry.gitlab.com/sequoia-pgp/build-docker-image/buster:latest @@ -25,17 +25,19 @@ buster: bullseye: tags: - - self-hosted + - linux stage: build image: registry.gitlab.com/sequoia-pgp/build-docker-image/bullseye:latest script: - make test # XXX: We cannot currently use valgrind, https://github.com/rust-lang/rust/issues/68979 - make + - if ! git diff --quiet Cargo.lock ; then echo "Cargo.lock changed. Please add the change to the corresponding commit." ; false ; fi - make -C tool update-usage - - if ! git diff --quiet ; then echo "Please run 'make -C tool update-usage' and commit the result." ; false ; fi + - if ! git diff --quiet tool ; then echo "Please run 'make -C tool update-usage' and commit the result." ; false ; fi - make -C sqv update-usage - - if ! git diff --quiet ; then echo "Please run 'make -C sqv update-usage' and commit the result." ; false ; fi + - if ! git diff --quiet sqv ; then echo "Please run 'make -C sqv update-usage' and commit the result." ; false ; fi + - if ! git diff --quiet ; then echo "The build changed the source. Please investigate." ; git diff ; fi variables: CARGO_TARGET_DIR: $CI_PROJECT_DIR/../target.$CI_CONCURRENT_ID.bullseye @@ -43,7 +45,7 @@ bullseye: rust-stable: tags: - - self-hosted + - linux stage: build image: rust:1-slim-buster @@ -63,6 +65,42 @@ rust-stable: CARGO_TARGET_DIR: $CI_PROJECT_DIR/../target.$CI_CONCURRENT_ID.rust-stable RUSTFLAGS: -D warnings -A unused-parens +windows: + tags: + - win + - win2019 + stage: build + # This job takes ~40 minutes to run, let's only execute it manually or for + # scheduled builds, otherwise this will stall MRs often not related to Windows + only: + - /windows/i # refs containing 'windows' keyword + - tags + - web + - scheduled + before_script: + - $env:USERNAME + - $env:USERPROFILE + # Install Rust 1.40 + - $env:CARGO_HOME = "$env:ProgramFiles\cargo" + - $env:RUSTUP_HOME = "$env:ProgramFiles\rustup" + - Invoke-WebRequest https://win.rustup.rs -OutFile rustup-init.exe + - .\rustup-init.exe -y --default-toolchain 1.40.0 --default-host x86_64-pc-windows-gnu --profile minimal + - $env:Path += ";$env:ProgramFiles\cargo\bin" + - rustup --version + - rustc --version --verbose + # Install chocolatey + - Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) + # Install MSYS2/mingw-w64 + - choco install msys2 -y + - $env:Path += ";C:\tools\msys64" + - $env:MSYSTEM = "MINGW64" + - $env:MSYS = "winsymlinks:nativestrict" + - $env:MSYS2_PATH_TYPE = "inherit" # Inherit PATH from Windows + - $env:CHERE_INVOKING = "1" # Inherit working directory + - $env:CFLAGS = "" # Disregard C warnings due to MinGW being funky + script: C:/tools/msys64/usr/bin/bash.exe -l -c "bash -x ./.gitlab-ci/test-msys2.sh" + after_script: [] + variables: DEBIAN_FRONTEND: noninteractive CARGO_HOME: $CI_PROJECT_DIR/../cargo |