The arm64 build often takes a longer time than the rest, so there's no reason to wait for it in the default staged configuration.
105 lines
1.9 KiB
YAML
105 lines
1.9 KiB
YAML
image: debian:bullseye
|
|
|
|
stages:
|
|
- build
|
|
- test
|
|
|
|
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:
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- _build
|
|
script:
|
|
- apt-get -y install python3-pip python3-sphinx
|
|
- pip3 install recommonmark
|
|
- ./doc/build.sh _build
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|
|
|
|
build_meson:
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- _build
|
|
expire_in: 3h
|
|
script:
|
|
- apt-get -y build-dep .
|
|
- meson . _build/ -Ddepdatadir=/usr/share --werror
|
|
- ninja -C _build install
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|
|
|
|
build_deb:
|
|
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:
|
|
tags:
|
|
- aarch64
|
|
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 .
|
|
|
|
test_lintian:
|
|
stage: test
|
|
needs:
|
|
- job: build_deb
|
|
artifacts: true
|
|
script:
|
|
- apt-get -y install lintian
|
|
- lintian *.deb
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|
|
|
|
test:
|
|
stage: test
|
|
needs:
|
|
- job: build_meson
|
|
artifacts: true
|
|
script:
|
|
- apt-get -y build-dep .
|
|
- apt-get -y install clang-tidy
|
|
- ninja -C _build test
|
|
- tools/style-check _build
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|
|
|
|
check_release:
|
|
stage: test
|
|
needs: []
|
|
only:
|
|
refs:
|
|
- master
|
|
script:
|
|
- apt-get -y install git python3
|
|
- (head -n 1 ./debian/changelog && git tag) | ./debian/check_release.py
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|