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")