stages: - pre-check - build - test include: - component: gitlab.com/sequoia-pgp/common-ci/precheck@main - component: gitlab.com/sequoia-pgp/common-ci/rust-basic@main inputs: job_name: trixie image: 192.168.122.1:5000/sequoia-pgp/build-docker-image/trixie-prebuild - component: gitlab.com/sequoia-pgp/common-ci/rust-basic@main inputs: job_name: trixie-crypto-rust image: 192.168.122.1:5000/sequoia-pgp/build-docker-image/trixie-prebuild cargo_args: '--manifest-path openpgp/Cargo.toml --no-default-features --features crypto-rust,compression,allow-experimental-crypto,allow-variable-time-crypto --example supported-algorithms' - component: gitlab.com/sequoia-pgp/common-ci/rust-basic@main inputs: job_name: trixie-crypto-openssl image: 192.168.122.1:5000/sequoia-pgp/build-docker-image/trixie-prebuild cargo_args: '--manifest-path openpgp/Cargo.toml --no-default-features --features crypto-openssl,compression --example supported-algorithms' - component: gitlab.com/sequoia-pgp/common-ci/rust-basic@main inputs: job_name: trixie-crypto-botan image: 192.168.122.1:5000/sequoia-pgp/build-docker-image/trixie-prebuild cargo_args: '--manifest-path openpgp/Cargo.toml --no-default-features --features crypto-botan2,compression --example supported-algorithms' - component: gitlab.com/sequoia-pgp/common-ci/rust-basic@main inputs: job_name: trixie-crypto-fuzzing image: 192.168.122.1:5000/sequoia-pgp/build-docker-image/trixie-prebuild run_test_job: "false" cargo_cmd: 'check' cargo_args: '--manifest-path openpgp/Cargo.toml --no-default-features --features crypto-fuzzing,compression,allow-experimental-crypto,allow-variable-time-crypto' - component: gitlab.com/sequoia-pgp/common-ci/rust-basic@main inputs: job_name: rust-stable image: 192.168.122.1:5000/sequoia-pgp/build-docker-image/rust-stable-prebuild run_test_job: "false" cargo_args: '--manifest-path openpgp/Cargo.toml --no-default-features --features crypto-nettle,compression --example supported-algorithms' trixie-build: script: - cargo run --manifest-path openpgp/Cargo.toml --no-default-features --features crypto-nettle,compression --example supported-algorithms - if ! git diff --quiet Cargo.lock ; then echo "Cargo.lock changed. Please add the change to the corresponding commit." ; git diff ; false ; fi - if ! git diff --quiet ; then echo "The build changed the source. Please investigate." ; git diff ; fi trixie-crypto-rust-build: script: - cargo test --release --manifest-path openpgp/Cargo.toml --no-default-features --features crypto-rust,compression,allow-experimental-crypto,allow-variable-time-crypto trixie-crypto-openssl-build: script: - cargo test --manifest-path openpgp/Cargo.toml --no-default-features --features crypto-openssl,compression trixie-crypto-botan-build: script: - cargo test --manifest-path openpgp/Cargo.toml --no-default-features --features crypto-botan2,compression rust-stable-build: script: - CARGO_PACKAGES="-p buffered-reader -p sequoia-openpgp" $MAKE_TOP test clippy: tags: - linux stage: build interruptible: true image: 192.168.122.1:5000/sequoia-pgp/build-docker-image/rust-stable-prebuild:latest before_script: - !reference [.before_script, start] - rustup default 1.67.0 # Pin clippy. - rustup component add clippy - cargo clippy --version - !reference [.before_script, end] script: - cargo clippy rules: - !reference [.default_rules, rules] windows-msvc-cng: tags: - win - win2019 stage: build interruptible: true image: 192.168.122.1:5000/sequoia-pgp/build-docker-image/windows-msvc rules: # Forks of this project most likely use gitlab's shared windows runners, which # do not use the docker executor, so disable the windows jobs for forks. - if: $CI_PROJECT_NAMESPACE != "sequoia-pgp" when: never - !reference [.default_rules, rules] before_script: - 'powershell Get-ChildItem env:' - rustc --version --verbose - cargo --version script: # https://github.com/rust-lang/cargo/issues/5015 - cargo run --manifest-path openpgp/Cargo.toml --no-default-features --features crypto-cng,compression --example supported-algorithms - cargo test --tests --manifest-path openpgp/Cargo.toml --no-default-features --features crypto-cng,compression - cargo test --tests --manifest-path ipc/Cargo.toml --no-default-features --features sequoia-openpgp/crypto-cng,sequoia-openpgp/compression - cargo test --tests --manifest-path net/Cargo.toml --no-default-features --features sequoia-openpgp/crypto-cng,sequoia-openpgp/compression after_script: [] # scriptlet doesn't work on Powershell variables: CFLAGS: "" # Silence some C warnings when compiling with MSVC