105 lines
2.7 KiB
YAML
105 lines
2.7 KiB
YAML
include:
|
|
- project: 'gnome/citemplates'
|
|
file: 'flatpak/flatpak_ci_initiative.yml'
|
|
- component: gitlab.gnome.org/GNOME/citemplates/release-service@master
|
|
inputs:
|
|
dist-job-name: "build-flatpak"
|
|
tarball-artifact-path: "${TARBALL_ARTIFACT_PATH}"
|
|
|
|
variables:
|
|
APP_ID: "org.gnome.Calendar.Devel"
|
|
BUNDLE: "org.gnome.Calendar.Devel.flatpak"
|
|
FLATPAK_MODULE: "gnome-calendar"
|
|
GIT_SUBMODULE_STRATEGY: 'normal'
|
|
MANIFEST_PATH: "build-aux/org.gnome.Calendar.json"
|
|
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
|
|
TARBALL_ARTIFACT_PATH: ".flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
|
|
|
|
stages:
|
|
- check
|
|
- build
|
|
- analysis
|
|
- deploy
|
|
|
|
style-check-diff:
|
|
image: fedora:latest
|
|
stage: check
|
|
before_script:
|
|
- dnf install -y clang-tools-extra git python
|
|
script:
|
|
- .gitlab-ci/run-style-check-diff.sh
|
|
allow_failure: true
|
|
|
|
build-flatpak:
|
|
extends: '.flatpak@x86_64'
|
|
stage: build
|
|
before_script: []
|
|
|
|
build-flatpak-aarch64:
|
|
extends: '.flatpak@aarch64'
|
|
stage: build
|
|
before_script: []
|
|
when: manual
|
|
|
|
nightly:
|
|
extends: '.publish_nightly'
|
|
needs: ['build-flatpak']
|
|
|
|
nightly-aarch64:
|
|
extends: '.publish_nightly'
|
|
needs: ['build-flatpak-aarch64']
|
|
when: manual
|
|
|
|
coverage:
|
|
stage: analysis
|
|
image: quay.io/gnome_infrastructure/gnome-build-meta:core-nightly
|
|
needs:
|
|
- job: build-flatpak
|
|
artifacts: false
|
|
script:
|
|
- .gitlab-ci/install-grcov.sh
|
|
- .gitlab-ci/build-with-coverage.sh
|
|
- .gitlab-ci/gen-coverage.sh
|
|
coverage: '/Coverage: \d+\.\d+/'
|
|
artifacts:
|
|
name: "gnome-calendar-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
|
|
expire_in: 2 days
|
|
when: always
|
|
reports:
|
|
coverage_report:
|
|
coverage_format: cobertura
|
|
path: public/coverage.xml
|
|
paths:
|
|
- "_build/meson-logs"
|
|
- public
|
|
|
|
static-scan:
|
|
stage: analysis
|
|
image: quay.io/gnome_infrastructure/gnome-build-meta:core-nightly
|
|
needs:
|
|
- job: build-flatpak
|
|
artifacts: false
|
|
script:
|
|
- .gitlab-ci/build-static-scan.sh
|
|
artifacts:
|
|
name: "gnome-calendar-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
|
|
when: always
|
|
paths:
|
|
- "_build/meson-logs"
|
|
- public
|
|
|
|
pages:
|
|
stage: deploy
|
|
needs: [ coverage, static-scan ]
|
|
script:
|
|
- cp .gitlab-ci/landing-page.html public/index.html
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
expire_in: 1 day
|
|
rules:
|
|
# Restrict to the main branch so not every branch tries to deploy the web site
|
|
- if: ($CI_DEFAULT_BRANCH == $CI_COMMIT_BRANCH)
|
|
# Alternatively, restrict it to the GNOME namespace to avoid every fork pushing a set of pages by default
|
|
# - if: ($CI_DEFAULT_BRANCH == $CI_COMMIT_BRANCH && $CI_PROJECT_NAMESPACE == "GNOME")
|