Bookworm will be the basis for the next PureOS. Plus, there was some persistent network error when running sid jobs.
181 lines
3.5 KiB
YAML
181 lines
3.5 KiB
YAML
image: pureos/byzantium
|
|
|
|
stages:
|
|
- build
|
|
- test
|
|
- deploy
|
|
|
|
before_script:
|
|
- apt-get -y update
|
|
- apt-get -y install ca-certificates
|
|
|
|
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:
|
|
image: debian:bookworm
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- _build
|
|
expire_in: 3h
|
|
script:
|
|
- mv debian/control-newer debian/control
|
|
- 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
|
|
- REV=$(git log -1 --format=%h)
|
|
- VER=$(dpkg-parsechangelog -SVersion)
|
|
- DEBFULLNAME="Librem5 CI"
|
|
- EMAIL="librem5-builds@lists.community.puri.sm"
|
|
- dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
|
|
- debuild -i -us -uc -b
|
|
- cp ../*.deb .
|
|
|
|
build_deb:arm64:
|
|
image: pureos/byzantium
|
|
tags:
|
|
- aarch64
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- '*.deb'
|
|
script:
|
|
- rm -f ../*.deb
|
|
- apt-get -y build-dep .
|
|
- apt-get -y install devscripts
|
|
- REV=$(git log -1 --format=%h)
|
|
- VER=$(dpkg-parsechangelog -SVersion)
|
|
- DEBFULLNAME="Librem5 CI"
|
|
- EMAIL="librem5-builds@lists.community.puri.sm"
|
|
- dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
|
|
- debuild -i -us -uc -b
|
|
- cp ../*.deb .
|
|
|
|
build_deb:future:
|
|
image: debian:bookworm
|
|
allow_failure: true
|
|
tags:
|
|
- aarch64
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- '*.deb'
|
|
script:
|
|
- rm -f ../*.deb
|
|
- mv debian/control-newer debian/control
|
|
- apt-get -y build-dep .
|
|
- apt-get -y install devscripts
|
|
- REV=$(git log -1 --format=%h)
|
|
- VER=$(dpkg-parsechangelog -SVersion)
|
|
- DEBFULLNAME="Librem5 CI"
|
|
- EMAIL="librem5-builds@lists.community.puri.sm"
|
|
- dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG"
|
|
- debuild -i -us -uc -b
|
|
- cp ../*.deb .
|
|
|
|
build_reference:
|
|
image: debian:bookworm
|
|
stage: build
|
|
needs:
|
|
- job: build_meson
|
|
artifacts: true
|
|
artifacts:
|
|
paths:
|
|
- _build/doc
|
|
script:
|
|
- apt-get -y install cargo
|
|
- cd _build
|
|
- ../cargo.sh doc --no-deps --document-private-items
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|
|
|
|
test_lintian:
|
|
stage: test
|
|
needs:
|
|
- job: build_deb
|
|
artifacts: true
|
|
script:
|
|
- apt-get -y install lintian
|
|
- lintian *.deb
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|
|
|
|
test:
|
|
image: debian:bookworm
|
|
stage: test
|
|
needs:
|
|
- job: build_meson
|
|
artifacts: true
|
|
script:
|
|
- mv debian/control-newer debian/control
|
|
- apt-get -y build-dep .
|
|
- apt-get -y install clang-tidy
|
|
- ninja -C _build test
|
|
- tools/style-check_build _build
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|
|
|
|
test_style:
|
|
stage: test
|
|
needs: []
|
|
script:
|
|
- apt-get -y build-dep .
|
|
- tools/style-check_source
|
|
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"
|
|
|
|
pages:
|
|
stage: deploy
|
|
needs:
|
|
- build_docs
|
|
- build_reference
|
|
script:
|
|
- mv _build/ public/
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
only:
|
|
refs:
|
|
- master
|