This CI-job is a reminder to publish a tag, when there is no tag for the current version-number. This does not work well when the version-number is increased after a release, because there will be no such tag, until the next release has been published. Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/701>
129 lines
2.4 KiB
YAML
129 lines
2.4 KiB
YAML
image: debian:trixie
|
|
|
|
variables:
|
|
DEBIAN_FRONTEND: noninteractive
|
|
|
|
default:
|
|
# Protect CI infra from rogue jobs
|
|
timeout: 15 minutes
|
|
# Allow jobs to be caneled on new commits
|
|
interruptible: true
|
|
# Retry on infra hickups automatically
|
|
retry:
|
|
max: 1
|
|
when:
|
|
- api_failure
|
|
- runner_system_failure
|
|
- scheduler_failure
|
|
- stuck_or_timeout_failure
|
|
|
|
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 --no-install-recommends python3-pip python3-sphinx python3-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 -Dfind_orphans=true --werror
|
|
- ninja -C _build install
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|
|
|
|
build_deb:
|
|
allow_failure: true
|
|
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_reference:
|
|
stage: build
|
|
needs:
|
|
- job: build_meson
|
|
artifacts: true
|
|
artifacts:
|
|
paths:
|
|
- _build/doc
|
|
script:
|
|
- apt-get -y build-dep .
|
|
- apt-get -y install cargo
|
|
- cd _build
|
|
- ../cargo.sh doc --no-deps --document-private-items --features 'zbus_v1_5,clap_v4'
|
|
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 _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"
|
|
|
|
pages:
|
|
stage: deploy
|
|
needs:
|
|
- build_docs
|
|
- build_reference
|
|
script:
|
|
- mv _build/ public/
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
only:
|
|
refs:
|
|
- main
|