Files
squeekboard/.gitlab-ci.yml
MoonlightWave-12 743bd435ec CI: Remove 'check_release'-CI-job and 'check_release.py'
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>
2024-11-06 20:21:10 +01:00

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