blob: 3aac823a7a46149c6d9c70647d295cda8f82ddfe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
before_script:
- if [ -d $CARGO_TARGET_DIR ]; then find $CARGO_TARGET_DIR | wc --lines; du -sh $CARGO_TARGET_DIR; fi
- if [ -d $CARGO_HOME ]; then find $CARGO_HOME | wc --lines; du -sh $CARGO_HOME; fi
- rustc --version
- cargo --version
- clang --version
after_script:
- find $CARGO_TARGET_DIR -type f -atime +7 -delete
- du -sh $CARGO_TARGET_DIR
- du -sh $CARGO_HOME
buster:
tags:
- linux
stage: build
image: registry.gitlab.com/sequoia-pgp/build-docker-image/buster:latest
script:
- make codespell CODESPELL_FLAGS=--summary
- SEQUOIA_CTEST_VALGRIND=/usr/bin/valgrind cargo test -p buffered-reader -p sequoia-openpgp -p sequoia-sqv -p sequoia-openpgp-ffi
variables:
CARGO_TARGET_DIR: $CI_PROJECT_DIR/../target.$CI_CONCURRENT_ID.buster
bullseye:
tags:
- 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 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 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
RUSTFLAGS: -D warnings -A unused-parens
rust-stable:
tags:
- linux
stage: build
image: rust:1-slim-buster
before_script:
- apt update -y -qq
- apt install --no-install-recommends -y -qq -o=Dpkg::Use-Pty=0 clang libclang-dev llvm pkg-config nettle-dev
- if [ -d $CARGO_TARGET_DIR ]; then find $CARGO_TARGET_DIR | wc --lines; du -sh $CARGO_TARGET_DIR; fi
- if [ -d $CARGO_HOME ]; then find $CARGO_HOME | wc --lines; du -sh $CARGO_HOME; fi
- rustc --version
- cargo --version
- clang --version
script:
- cargo test -p buffered-reader -p sequoia-openpgp -p sequoia-sqv
variables:
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
CARGO_FLAGS: --color always
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: full
RUSTFLAGS: -D warnings
CFLAGS: -Werror
|