# SPDX-FileCopyrightText: 2021 Heiko Schaefer # SPDX-License-Identifier: CC0-1.0 stages: - build - test - docker-build - docker-test - deploy reuse: image: name: fsfe/reuse:latest entrypoint: [""] script: - reuse lint cargo-test: stage: test image: rust:latest before_script: - mkdir -p /run/user/$UID - apt update -y -qq - apt install -y -qq --no-install-recommends git clang make pkg-config nettle-dev libssl-dev capnproto ca-certificates libpcsclite-dev - apt clean script: - cargo test cargo-test-debian-stable: stage: test image: debian:stable before_script: - mkdir -p /run/user/$UID - apt update -y -qq - apt install -y -qq --no-install-recommends git rustc cargo clang make pkg-config nettle-dev libssl-dev capnproto ca-certificates libpcsclite-dev - apt clean script: - cargo test cargo-fmt: image: rust:latest script: - rustup component add rustfmt - cargo fmt -- --check build_cardtest_smartpgp: stage: docker-build image: docker:stable variables: IMAGE_LATEST: $CI_REGISTRY_IMAGE/cardtest-smartpgp:latest IMAGE_SHA: $CI_REGISTRY_IMAGE/cardtest-smartpgp:$CI_COMMIT_SHA services: - docker:stable-dind before_script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY script: - docker pull $IMAGE_LATEST || true - docker build -f card-functionality/docker/Dockerfile.cardtest.smartpgp --cache-from $IMAGE_LATEST -t $IMAGE_SHA -t $IMAGE_LATEST . - docker push $IMAGE_SHA - docker push $IMAGE_LATEST needs: [] build_cardtest_ykneo: stage: docker-build image: docker:stable variables: IMAGE_LATEST: $CI_REGISTRY_IMAGE/cardtest-ykneo:latest IMAGE_SHA: $CI_REGISTRY_IMAGE/cardtest-ykneo:$CI_COMMIT_SHA services: - docker:stable-dind before_script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY script: - docker pull $IMAGE_LATEST || true - docker build -f card-functionality/docker/Dockerfile.cardtest.ykneo --cache-from $IMAGE_LATEST -t $IMAGE_SHA -t $IMAGE_LATEST . - docker push $IMAGE_SHA - docker push $IMAGE_LATEST needs: [] run_cardtest_smartpgp_import: stage: docker-test image: registry.gitlab.com/hkos/openpgp-card/cardtest-smartpgp script: - cd / - sh run.sh import needs: ["build_cardtest_smartpgp"] run_cardtest_smartpgp_keygen: stage: docker-test image: registry.gitlab.com/hkos/openpgp-card/cardtest-smartpgp script: - cd / - sh run.sh keygen # run after import test - running tests in parallel on the same card fails needs: ["run_cardtest_smartpgp_import"] run_cardtest_ykneo_import: stage: docker-test image: registry.gitlab.com/hkos/openpgp-card/cardtest-ykneo script: - cd / - sh run.sh import needs: ["build_cardtest_ykneo"] run_cardtest_ykneo_keygen: stage: docker-test image: registry.gitlab.com/hkos/openpgp-card/cardtest-ykneo script: - cd / - sh run.sh keygen # run after import test - running tests in parallel on the same card fails needs: ["run_cardtest_ykneo_import"]