image: debian:bullseye stages: - build - test .tags: &tags tags: - librem5 before_script: - apt-get -y update - apt-get -y install wget ca-certificates gnupg - echo "deb [trusted=yes] http://ci.puri.sm/ bullseyeci main" > /etc/apt/sources.list.d/ci.list - wget -O- https://ci.puri.sm/ci-repo.key | apt-key add - - apt-get -y update build_docs: <<: *tags stage: build artifacts: paths: - _build script: - apt-get -y install python3-pip python3-sphinx - pip3 install recommonmark - ./doc/build.sh _build build_meson: tags: - librem5 stage: build artifacts: paths: - _build expire_in: 3h script: - apt-get -y build-dep . - meson . _build/ -Ddepdatadir=/usr/share --werror - ninja -C _build install build_deb: tags: - librem5 stage: build artifacts: paths: - "*.deb" script: - rm -f ../*.deb - apt-get -y build-dep . - apt-get -y install devscripts - debuild -i -us -uc -b - cp ../*.deb . build_deb:amber: image: pureos/amber tags: - librem5 stage: build artifacts: paths: - "*.deb" script: - echo "deb http://ci.puri.sm/ scratch librem5" > /etc/apt/sources.list.d/ci.list - apt-get -y update - rm -f ../*.deb - apt-get -y build-dep . - apt-get -y install devscripts - debuild -i -us -uc -b - cp ../*.deb . build_deb:buster: image: "debian:buster" tags: - librem5 stage: build artifacts: paths: - "*.deb" script: - echo "deb http://ci.puri.sm/ scratch librem5" > /etc/apt/sources.list.d/ci.list - apt-get -y update - rm -f ../*.deb - apt-get -y build-dep . - apt-get -y install devscripts - debuild -i -us -uc -b - cp ../*.deb . build_deb:arm64: tags: - librem5:arm64 stage: build artifacts: paths: - "*.deb" script: - rm -f ../*.deb - apt-get -y build-dep . - apt-get -y install devscripts - debuild -i -us -uc -b - cp ../*.deb . build_deb:arm64_buster: image: "debian:buster" tags: - librem5:arm64 stage: build artifacts: paths: - "*.deb" script: - echo "deb http://ci.puri.sm/ scratch librem5" > /etc/apt/sources.list.d/ci.list - apt-get -y update - rm -f ../*.deb - apt-get -y build-dep . - apt-get -y install devscripts - debuild -i -us -uc -b - cp ../*.deb . test_lintian: <<: *tags stage: test dependencies: - build_deb script: - apt-get -y install lintian - lintian *.deb test: tags: - librem5 stage: test needs: - build_meson script: - apt-get -y build-dep . - apt-get -y install clang-tidy - ninja -C _build test - cd _build - clang-tidy --checks=-clang-diagnostic-missing-braces,readability-braces-around-statements, --warnings-as-errors=readability-braces-around-statements -extra-arg=-Wno-unknown-warning-option ../src/*.c ../eek/*.c ../eekboard/*.c check_release: <<: *tags stage: test only: refs: - master script: - apt-get -y install git python3 - (head -n 1 ./debian/changelog && git tag) | ./debian/check_release.py