summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 6d6c7bbc16d66830ca0ed53f5fdbe89b3924d5e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# You can override the included template(s) by including variable overrides
# SAST customization: https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings
# Secret Detection customization: https://docs.gitlab.com/ee/user/application_security/secret_detection/#customizing-settings
# Dependency Scanning customization: https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#customizing-the-dependency-scanning-settings
# Note that environment variables can be set in several places
# See https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence
include:
- template: Security/SAST.gitlab-ci.yml
- template: Security/Secret-Detection.gitlab-ci.yml

image: fedora:latest

variables:
  LAST_ABI_BREAK: 0da1fcac914ad4c67f016bda7864c4b153cbfbaa
  DEPENDENCIES: gtk3-devel gtk4-devel gsettings-desktop-schemas-devel gettext
                gtk-doc libxkbcommon-devel xkeyboard-config-devel itstool
                gobject-introspection-devel systemd-devel iso-codes-devel
                libseccomp-devel gcc gcc-c++ glibc-devel
                meson redhat-rpm-config
  TEST_DEPENDENCIES: gnome-desktop-testing xorg-x11-server-Xvfb glibc-langpack-en glibc-langpack-he glibc-langpack-ja abattis-cantarell-fonts libabigail git

build_stable:
  before_script:
    # Undo delangification present in the Fedora Docker images
    - rm -f /etc/rpm/macros.image-language-conf
    - echo "reinstall glib2" >> translist.txt
    # Work-around https://bugzilla.redhat.com/show_bug.cgi?id=1607172#c4
    - echo "update dnf gdbm" >> translist.txt
    - echo "remove python3-modulemd" >> translist.txt
    - dnf shell -y --nogpgcheck translist.txt
    - dnf update -y --nogpgcheck
    - dnf install -y --nogpgcheck $DEPENDENCIES
    - dnf install -y --nogpgcheck $TEST_DEPENDENCIES
  script:
    - meson --prefix=/usr -Dinstalled_tests=true build
    - pushd build
    - ninja
    - ninja install
    - ninja dist
    - G_MESSAGES_DEBUG=all xvfb-run -a -s "-screen 0 1024x768x24" ninja test
    - G_MESSAGES_DEBUG=all xvfb-run -a -s "-screen 0 1024x768x24"
                     gnome-desktop-testing-runner --report-directory=test-results gnome-desktop
    - popd
    - .ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
  artifacts:
    paths:
      - build/meson-logs/
      - build/test-results/
    when: on_failure
    paths:
      - build/meson-dist/
    when: on_success

do_gitlab_release:
  stage: deploy
  image: registry.gitlab.com/gitlab-org/release-cli:latest
  rules:
    - if: $CI_COMMIT_TAG
  script:
    - echo 'Running release_job'
  release:
    tag_name: '$CI_COMMIT_TAG'
    description: 'See NEWS file'