442 lines
13 KiB
YAML
442 lines
13 KiB
YAML
.distcheck:
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/deb-build:$CI_COMMIT_REF_SLUG
|
|
retry: 2
|
|
variables:
|
|
GIT_DEPTH: 0
|
|
before_script:
|
|
- if [ ! -z "$ACNG" ]; then sed -i -e "s,http://,$ACNG/," /etc/apt/sources.list; else echo "no proxy configured"; fi
|
|
- apt-get update
|
|
- apt-get -y install --no-install-recommends autoconf autoconf-archive automake libtool libpcsclite-dev libp11-kit-dev libgtk-3-dev libassuan-dev libgpg-error-dev libssl-dev libxml2-dev libcurl4-openssl-dev libproxy-dev plantuml zip gettext build-essential g++ git graphviz
|
|
- pushd $LINUX_BASEDIR
|
|
- git fetch --tags
|
|
- FORCE_VERSION=1 scripts/build-aux/genver.sh
|
|
- autoreconf -f -i
|
|
- popd
|
|
- rm -rf products
|
|
- rm -rf $LINUX_BASEDIR/eid-mw-*.tar.gz $LINUX_BASEDIR/eid-mw-*.zip
|
|
script:
|
|
- pushd $LINUX_BASEDIR
|
|
- ./configure
|
|
- make -j distcheck
|
|
- grep -qv unknown .version
|
|
- popd
|
|
after_script:
|
|
- mkdir -p products/source
|
|
- cp $LINUX_BASEDIR/eid-mw-*.tar.gz $LINUX_BASEDIR/eid-mw-*.zip products/source/
|
|
- cp $LINUX_BASEDIR/.version products/source/version
|
|
- cp $LINUX_BASEDIR/scripts/build-aux/deb-cl.pl products/source/
|
|
- pushd $LINUX_BASEDIR
|
|
- COMMIT_DATE=$(git log --date=rfc HEAD^..HEAD|grep ^Date|cut -d ' ' -f 2-|sed -e 's/^\s*//')
|
|
- popd
|
|
- echo $COMMIT_DATE > products/source/date
|
|
artifacts:
|
|
when:
|
|
on_success
|
|
paths:
|
|
- products/source
|
|
|
|
.gtk4:
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/gtk4-build:$CI_COMMIT_REF_SLUG
|
|
before_script:
|
|
- pushd $LINUX_BASEDIR
|
|
- autoreconf -f -i
|
|
- popd
|
|
script:
|
|
- pushd $LINUX_BASEDIR
|
|
- ./configure --with-gtkvers=4
|
|
- make -j distcheck
|
|
- popd
|
|
allow_failure: true
|
|
|
|
.nogtk:
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/deb-build:$CI_COMMIT_REF_SLUG
|
|
before_script:
|
|
- pushd $LINUX_BASEDIR
|
|
- autoreconf -f -i
|
|
- popd
|
|
script:
|
|
- pushd $LINUX_BASEDIR
|
|
- ./configure --without-gtkvers
|
|
- make check
|
|
|
|
.nodialogs:
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/deb-build:$CI_COMMIT_REF_SLUG
|
|
before_script:
|
|
- pushd $LINUX_BASEDIR
|
|
- autoreconf -f -i
|
|
- popd
|
|
script:
|
|
- pushd $LINUX_BASEDIR
|
|
- ./configure --disable-dialogs
|
|
- make check
|
|
|
|
.robot:linux:
|
|
variables:
|
|
EID_ROBOT_STYLE: zetes:/dev/TB3-CARD:/dev/TB3-USB
|
|
EID_DIALOGS_STYLE: nopin
|
|
CFLAGS: "-O0 -g -Wall -fprofile-arcs -ftest-coverage"
|
|
CXXFLAGS: "-O0 -g -Wall -fprofile-arcs -ftest-coverage"
|
|
dependencies: []
|
|
tags:
|
|
- robot
|
|
- linux
|
|
before_script:
|
|
- pushd $LINUX_BASEDIR
|
|
- autoreconf -f -i
|
|
- rm -f tests/unit/junit.xml
|
|
- popd
|
|
script:
|
|
- pushd $LINUX_BASEDIR
|
|
- ./configure --libexecdir=$(pwd)/scripts/linux/hackbin --disable-pinentry CFLAGS='-g -O0 --coverage' CXXFLAGS='-g -O0 --coverage'
|
|
- ulimit -c unlimited
|
|
- make check
|
|
- mkdir -p products/reports
|
|
- gcovr --xml > products/reports/coverage.xml
|
|
- lcov -c -d cardcomm/pkcs11/src --no-external -o cardcomm.info
|
|
- lcov -c -d tests/unit --no-external -o tests.info
|
|
- lcov -c -d plugins_tools/eid-viewer --no-external -o viewer.info
|
|
- lcov -a tests.info -a cardcomm.info -a viewer.info -o coverage.info
|
|
- genhtml coverage.info -o products/reports/lcov
|
|
- popd
|
|
allow_failure: true
|
|
artifacts:
|
|
paths:
|
|
- products/reports
|
|
reports:
|
|
coverage_report:
|
|
path: products/reports/coverage.xml
|
|
coverage_format: cobertura
|
|
junit: tests/unit/junit.xml
|
|
when: always
|
|
|
|
.validation:linux:firefox:
|
|
tags:
|
|
- robot
|
|
- linux
|
|
before_script:
|
|
- killall Xvfb || true
|
|
script:
|
|
- export PIN=1234
|
|
- cd $CI_PROJECT_DIR/tests/browsertests/Linux/
|
|
- xvfb-run actiona -e -x $CI_PROJECT_DIR/tests/browsertests/Linux/firefoxTest.ascr
|
|
|
|
.validation:linux:google:
|
|
tags:
|
|
- robot
|
|
- linux
|
|
before_script:
|
|
- killall Xvfb || true
|
|
script:
|
|
- export PIN=1234
|
|
- cd $CI_PROJECT_DIR/tests/browsertests/Linux/
|
|
- xvfb-run actiona -e -x $CI_PROJECT_DIR/tests/browsertests/Linux/googleTest.ascr
|
|
|
|
.repro:debian:
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/deb-repro:$CI_COMMIT_REF_SLUG
|
|
dependencies: []
|
|
before_script:
|
|
- if [ ! -z "$ACNG" ]; then sed -i -e "s,http://,$ACNG/," /etc/apt/sources.list; else echo "no proxy configured"; fi
|
|
- apt-get update
|
|
- apt-get -y install reprotest diffoscope equivs devscripts faketime disorderfs sudo
|
|
- mk-build-deps -r -i -t "apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends"
|
|
- autoreconf -f -i
|
|
- pushd $LINUX_BASEDIR
|
|
- ./configure
|
|
- make dist
|
|
- popd
|
|
script:
|
|
- reprotest $LINUX_BASEDIR
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- configure
|
|
|
|
.scan-build:
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/deb-scan-build:$CI_COMMIT_REF_SLUG
|
|
before_script:
|
|
- if [ ! -z "$ACNG" ]; then sed -i -e "s,http://,$ACNG/," /etc/apt/sources.list; else echo "no proxy configured"; fi
|
|
- apt-get update
|
|
- apt-get -y install --no-install-recommends clang-tools autoconf autoconf-archive automake libtool libassuan-dev libgpg-error-dev libpcsclite-dev libp11-kit-dev libgtk-3-dev libssl-dev libxml2-dev libcurl4-openssl-dev libproxy-dev plantuml zip gettext build-essential git g++ graphviz curl
|
|
- pushd $LINUX_BASEDIR
|
|
- autoreconf -f -i
|
|
- ./configure
|
|
- popd
|
|
script:
|
|
- pushd $LINUX_BASEDIR
|
|
- scan-build -disable-checker deadcode.DeadStores --status-bugs -o public make -j $(nproc)
|
|
- popd
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- public
|
|
|
|
.gcc-analyzer:
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/deb-testing:$CI_COMMIT_REF_SLUG
|
|
before_script:
|
|
- if [ ! -z "$ACNG" ]; then sed -i -e "s,http://,$ACNG/," /etc/apt/sources.list; else echo "no proxy configured"; fi
|
|
- apt-get update
|
|
- apt-get -y install --no-install-recommends gcc-12 g++-12
|
|
- pushd $LINUX_BASEDIR
|
|
- autoreconf -f -i
|
|
- ./configure CC=gcc-12 CXX=g++-12 CFLAGS='-g -O2 -Wall -Werror -fanalyzer' CXXFLAGS='-g -O2 -Wall -fanalyzer -Werror'
|
|
- popd
|
|
script:
|
|
- pushd $LINUX_BASEDIR
|
|
- make -j $(nproc)
|
|
- popd
|
|
allow_failure: true
|
|
artifacts:
|
|
when: on_failure
|
|
untracked: true
|
|
|
|
.srpm:
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/fed-build:$CI_COMMIT_REF_SLUG
|
|
before_script:
|
|
- dnf -y install rpm-build git rpmdevtools
|
|
- rpmdev-setuptree
|
|
- VER=$(cat products/source/version)
|
|
- VERSHORT=${VER#*-}
|
|
- mv products/source/eid-mw-$VER.tar.gz $HOME/rpmbuild/SOURCES/
|
|
- tar --extract --file=$HOME/rpmbuild/SOURCES/eid-mw-$VER.tar.gz -C $HOME/rpmbuild/SPECS/ --strip-components=2 eid-mw-$VER/rpm/eid-mw.spec
|
|
- tar --extract --file=$HOME/rpmbuild/SOURCES/eid-mw-$VER.tar.gz -C $HOME/rpmbuild/SOURCES/ --strip-components=2 eid-mw-$VER/rpm/baselibs.conf
|
|
script:
|
|
- rpmbuild --define "revision $VERSHORT" -bs $HOME/rpmbuild/SPECS/eid-mw.spec
|
|
after_script:
|
|
- VER=$(cat products/source/version)
|
|
- VERSHORT=${VER#*-}
|
|
- VERFULL=${VER%-*}-0.$VERSHORT
|
|
- mkdir -p products/srpm/
|
|
- cp $HOME/rpmbuild/SRPMS/eid-mw-$VERFULL.*.src.rpm products/srpm/
|
|
- cp products/source/version products/srpm/
|
|
artifacts:
|
|
paths:
|
|
- products/srpm
|
|
|
|
.build-freebsd-base:
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
tags:
|
|
- freebsd
|
|
before_script:
|
|
- VER=$(cat products/source/version)
|
|
- VERSHORT=${VER#*-}
|
|
- COMMITDATE=$(cat products/source/date)
|
|
- mkdir -p build
|
|
- pushd build
|
|
- tar xvf ../products/source/eid-mw-${VER}.tar.gz --strip-components=1
|
|
- ./configure --disable-dependency-tracking --disable-nls
|
|
- popd
|
|
script:
|
|
- pushd build
|
|
- gmake
|
|
- gmake check
|
|
- popd
|
|
|
|
.build-deb-base:
|
|
before_script:
|
|
- VER=$(cat products/source/version)
|
|
- VERSHORT=${VER#*-}
|
|
- COMMITDATE=$(cat products/source/date)
|
|
- mkdir -p build
|
|
- cd build && tar xvf ../products/source/eid-mw-${VER}.tar.gz --strip-components=1
|
|
- setup-chroot.sh $CODE $ARCH $DIST
|
|
- if [ $CANDIDATEBRANCH = $CI_COMMIT_REF_NAME ]; then TARGET=candidate; fi
|
|
- if [ ! -z "$CI_COMMIT_TAG" ]; then TARGET=proposed; fi
|
|
- if [ -z "$TARGET" ]; then TARGET=continuous; fi
|
|
- export TARGET
|
|
- if [ $ARCH = "i386" ]; then DASHA="-A -s"; else DASHA="--no-arch-all --no-source"; fi
|
|
- export DASHA
|
|
- if [ ! -z "$TARGET" ]; then dist="$TARGET-$CODE"; else dist=$CODE; fi
|
|
- ../products/source/deb-cl.pl debian/changelog "$COMMITDATE" "$VER"
|
|
script:
|
|
- sbuild -n $DASHA -d $dist -c $CODE-$ARCH-sbuild --arch=$ARCH
|
|
after_script:
|
|
- mkdir -p products/deb/
|
|
- dcmd cp eid-mw_*.changes products/deb/
|
|
artifacts:
|
|
paths:
|
|
- products/deb
|
|
when:
|
|
on_success
|
|
|
|
.build-deb-base-arm:
|
|
extends: .build-deb-base
|
|
tags:
|
|
- docker
|
|
- arm
|
|
image: $CI_REGISTRY_IMAGE/deb-sbuild:$CI_COMMIT_REF_SLUG
|
|
|
|
.build-deb-base-x86:
|
|
extends: .build-deb-base
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/deb-sbuild:$CI_COMMIT_REF_SLUG
|
|
|
|
.build-fed-base:
|
|
retry: 2
|
|
before_script:
|
|
- dnf -y install mock git
|
|
- VER=$(cat products/srpm/version)
|
|
- VERSHORT=${VER#*-}
|
|
- mkdir -p products/$DIST-$DVER-$ARCH
|
|
script:
|
|
- mock --dnf --old-chroot --verbose -r $DIST-$DVER-$ARCH --rebuild products/srpm/eid-mw-*.src.rpm --resultdir $CI_PROJECT_DIR/products/$DIST-$DVER-$ARCH --define "revision $VERSHORT"
|
|
artifacts:
|
|
paths:
|
|
- products/$DIST-$DVER-$ARCH
|
|
when:
|
|
on_success
|
|
|
|
.build-fed-base-arm:
|
|
extends: .build-fed-base
|
|
tags:
|
|
- docker
|
|
- arm
|
|
image: $CI_REGISTRY_IMAGE/fed-build:$CI_COMMIT_REF_SLUG
|
|
|
|
.build-fed-base-x86:
|
|
extends: .build-fed-base
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/fed-build:$CI_COMMIT_REF_SLUG
|
|
|
|
.build-suse-base:
|
|
dependencies:
|
|
- src:srpm
|
|
stage: binary-package
|
|
retry: 2
|
|
before_script:
|
|
- VER=$(cat products/srpm/version)
|
|
- VERSHORT=${VER#*-}
|
|
script:
|
|
- http_proxy="$ACNG" build --no-checks --clean -debug --dist sl$DVER --repo http://download.opensuse.org/distribution/leap/$DVER/repo/oss --define "revision $VERSHORT" products/srpm/eid-mw-*.src.rpm
|
|
after_script:
|
|
- mkdir -p products/$DIST-$DVER-$ARCH
|
|
- mv /var/tmp/build-root/home/abuild/rpmbuild/RPMS/*/*rpm products/$DIST-$DVER-$ARCH/
|
|
artifacts:
|
|
paths:
|
|
- products/$DIST-$DVER-$ARCH
|
|
when:
|
|
on_success
|
|
|
|
.build-suse-base-arm:
|
|
extends: .build-suse-base
|
|
tags:
|
|
- docker
|
|
- arm
|
|
image: $CI_REGISTRY_IMAGE/suse-build:$CI_COMMIT_REF_SLUG
|
|
|
|
.build-suse-base-x86:
|
|
extends: .build-suse-base
|
|
tags:
|
|
- docker
|
|
- x86
|
|
image: $CI_REGISTRY_IMAGE/suse-build:$CI_COMMIT_REF_SLUG
|
|
|
|
.inject-debs:
|
|
tags:
|
|
- repobuilder
|
|
before_script:
|
|
- $LINUX_BASEDIR/scripts/build-aux/ensure-reprepro-config
|
|
- dcmd cp products/deb/*ges $REPREPRO_BASE_DIR/incoming
|
|
script:
|
|
- reprepro processincoming incoming
|
|
after_script:
|
|
- rm -f $REPREPRO_BASE_DIR/incoming/*
|
|
|
|
.inject-fed:
|
|
tags:
|
|
- repobuilder
|
|
script:
|
|
- if [ $CANDIDATEBRANCH = $CI_COMMIT_REF_NAME ]; then TARGET=candidate; fi
|
|
- if [ ! -z "$CI_COMMIT_TAG" ]; then TARGET=candidate; fi
|
|
- if [ -z "$TARGET" ]; then TARGET=continuous; fi
|
|
- export TARGET
|
|
- bash -x $LINUX_BASEDIR/scripts/build-aux/fed-rel.sh
|
|
|
|
.inject-suse:
|
|
tags:
|
|
- repobuilder
|
|
script:
|
|
- if [ $CANDIDATEBRANCH = $CI_COMMIT_REF_NAME ]; then TARGET=candidate; fi
|
|
- if [ ! -z "$CI_COMMIT_TAG" ]; then TARGET=candidate; fi
|
|
- if [ -z "$TARGET" ]; then TARGET=continuous; fi
|
|
- export TARGET
|
|
- bash -x $LINUX_BASEDIR/scripts/build-aux/suse-rel.sh
|
|
|
|
.inject-source:
|
|
tags:
|
|
- repobuilder
|
|
script:
|
|
- VER=$(cat products/source/version)
|
|
- SOURCETGZ=products/source/eid-mw-${VER}.tar.gz
|
|
- SOURCEZIP=products/source/eid-mw-${VER}.zip
|
|
- cp $SOURCETGZ $SOURCEZIP $DIST_LOC/continuous/sources/
|
|
- cd $DIST_LOC/continuous/sources
|
|
- gpg --yes --batch --passphrase "" --default-key $GPG_TEST_KEY_ID --no-tty -b --armor $(basename $SOURCETGZ)
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
|
|
.coverity:linux:
|
|
variables:
|
|
PATH: /opt/coverity/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
|
|
image: $COVERITY_BUILD_IMAGE
|
|
tags:
|
|
- docker
|
|
- x86
|
|
before_script:
|
|
- pushd $LINUX_BASEDIR
|
|
- autoreconf -f -i
|
|
- popd
|
|
script:
|
|
- pushd $LINUX_BASEDIR
|
|
- ./configure --libexecdir=$(pwd)/scripts/linux/hackbin --disable-pinentry
|
|
- cov-build --dir=cov-int make
|
|
- cov-build --dir=cov-int make check
|
|
- tar cvaf eid-mw-coverity.tar.gz cov-int
|
|
- curl --form token=$COVERITY_TOKEN --form email=w@uter.be --form 'file=@"eid-mw-coverity.tar.gz"' --form version=$CI_COMMIT_SHA --form description="automatic submission by GitLab CI" https://scan.coverity.com/builds?project=eID+middleware
|
|
- popd
|
|
|
|
.check-translations:
|
|
tags:
|
|
- docker
|
|
image: $CI_REGISTRY_IMAGE/deb-build:$CI_COMMIT_REF_SLUG
|
|
before_script:
|
|
- if [ ! -z "$ACNG" ]; then sed -i -e "s,http://,$ACNG/," /etc/apt/sources.list; else echo "no proxy configured"; fi
|
|
- apt-get update
|
|
- apt-get -y install --no-install-recommends libxml-simpleobject-perl libjson-perl
|
|
script:
|
|
- perl -I $LINUX_BASEDIR/plugins_tools/eid-viewer/localization $LINUX_BASEDIR/plugins_tools/eid-viewer/localization/compare-translations -l $LINUX_BASEDIR/plugins_tools/eid-viewer/gtk/po -m $MACOS_BASEDIR/beidmw_l10n -w $LINUX_BASEDIR/plugins_tools/eid-viewer/Windows/eIDViewer/Resources > translation-report.json
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- translation-report.json
|