mirror of
https://gitlab.kit.edu/kit/scc/sys/mail/exim-encrypt-dlfunc.git
synced 2025-12-06 07:33:55 +01:00
116 lines
2.9 KiB
YAML
116 lines
2.9 KiB
YAML
stages:
|
|
- build
|
|
- debian-package
|
|
|
|
.image-buster:
|
|
image: '${CONTAINER_REGISTRY_NAME}/exim-encrypt-dlfunc-build-buster'
|
|
|
|
.image-bullseye:
|
|
image: '${CONTAINER_REGISTRY_NAME}/exim-encrypt-dlfunc-build-bullseye'
|
|
|
|
.image-focal:
|
|
image: '${CONTAINER_REGISTRY_NAME}/exim-encrypt-dlfunc-build-focal'
|
|
|
|
.code-coverage:
|
|
stage: build
|
|
script:
|
|
- "export PATH=/usr/local/sbin:/usr/local/bin:${PATH}"
|
|
- meson build -Db_coverage=true
|
|
- cd build
|
|
- ninja
|
|
- ninja test
|
|
- ninja coverage-xml
|
|
- grep -Eo 'line-rate="[^"]+"' meson-logs/coverage.xml | head -n 1 |
|
|
grep -Eo '[0-9.]+' | awk '{ printf "coverage\x3a %.2f%% of statements\n", $1 * 100 }'
|
|
- ninja coverage-html
|
|
- mv meson-logs/coveragereport ../coverage
|
|
artifacts:
|
|
paths:
|
|
- coverage/
|
|
reports:
|
|
cobertura: build/meson-logs/coverage.xml
|
|
|
|
.build:
|
|
stage: build
|
|
script:
|
|
- which meson
|
|
- meson build
|
|
- cd build
|
|
- ninja
|
|
- ninja test
|
|
artifacts:
|
|
paths:
|
|
- build/src/libexim-encrypt-dlfunc.so
|
|
- build/src/libexim-encrypt-dlfunc-genkeys
|
|
- build/src/libexim-encrypt-dlfunc-decrypt-secretbox
|
|
- build/src/libexim-encrypt-dlfunc-decrypt-sealedbox
|
|
|
|
.debian-package:
|
|
stage: debian-package
|
|
script:
|
|
- mkdir ~/.gnupg; chown root:root ~/.gnupg; chmod 700 ~/.gnupg
|
|
- eval $(gpg-agent --batch --sh --disable-scdaemon)
|
|
- echo "pinentry-mode loopback" > ~/.gnupg/gpg.conf
|
|
- echo "allow-loopback-pinentry" > ~/.gnupg/gpg-agent.conf
|
|
- gpg-connect-agent /bye
|
|
- echo $DEBIAN_SIGNING_KEY_ASC | base64 -d | gpg --batch --import --always-trust --yes
|
|
- echo "1DC7C2770DC111723D505DD61614D5CDEE1555A7:6:" | gpg --import-ownertrust
|
|
- dpkg-buildpackage --sign-key=1DC7C2770DC111723D505DD61614D5CDEE1555A7
|
|
- mv -t . ../*.deb ../*.dsc ../*.tar.gz ../*.changes ../*.buildinfo
|
|
artifacts:
|
|
paths:
|
|
- ./*.deb
|
|
- ./*.dsc
|
|
- ./*.tar.gz
|
|
- ./*.changes
|
|
- ./*.buildinfo
|
|
|
|
code-coverage:
|
|
extends:
|
|
- .image-bullseye
|
|
- .code-coverage
|
|
needs: [ ]
|
|
|
|
build:bullseye:
|
|
extends:
|
|
- .image-bullseye
|
|
- .build
|
|
- .code-coverage
|
|
needs: [ ]
|
|
|
|
build:focal:
|
|
extends:
|
|
- .image-focal
|
|
- .build
|
|
needs: [ ]
|
|
|
|
build:buster:
|
|
extends:
|
|
- .build
|
|
- .image-buster
|
|
needs: [ ]
|
|
|
|
debian-package:bullseye:
|
|
extends:
|
|
- .image-bullseye
|
|
- .debian-package
|
|
dependencies:
|
|
- build:bullseye
|
|
needs: [ "build:bullseye" ]
|
|
|
|
debian-package:focal:
|
|
extends:
|
|
- .image-focal
|
|
- .debian-package
|
|
dependencies:
|
|
- build:focal
|
|
needs: [ "build:focal" ]
|
|
|
|
debian-package:buster:
|
|
extends:
|
|
- .image-buster
|
|
- .debian-package
|
|
dependencies:
|
|
- build:buster
|
|
needs: [ "build:buster" ]
|