ci_template.yml 2.13 KB
Newer Older
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
stages:
  - "manifest"
  - "build"

variables:
  GIT_STRATEGY: none

manifest:
  image: "fedora"
  stage: "manifest"
  script:
    - dnf install -y python3-requests
    - curl -o build_manifest.py https://gitlab.freedesktop.org/gstreamer/gst-ci/raw/master/gitlab/build_manifest.py
    - python3 build_manifest.py
    - cat manifest.xml
  artifacts:
    expire_in: "2 days"
    paths:
      - "manifest.xml"

.build:
  stage: "build"
  dependencies:
    - "manifest"
  variables:
    CC: "ccache gcc"
    CXX: "ccache g++"
    CCACHE_BASEDIR: "${CI_PROJECT_DIR}"
    CCACHE_DIR: "${CI_PROJECT_DIR}/ccache"
    MAIN_DIR: '${CI_PROJECT_DIR}'
    MESON_ARGS: >
      -Dpython=enabled
      -Dlibav=enabled
      -Dugly=enabled
      -Dbad=enabled
      -Ddevtools=enabled
      -Dges=enabled
      -Drtsp_server=enabled
      -Dvaapi=disabled
      -Dsharp=disabled

  script:
    # Not sure why, but permission errors else
    # https://gitlab.freedesktop.org/alatiera/gstreamer/-/jobs/41441
    - cp -r /gst-build/ . && cd gst-build
    - ./git-update --no-interaction --manifest="${CI_PROJECT_DIR}/manifest.xml"
    - meson build/ $MESON_ARGS
    - ninja -C build/
49
50
51
52
53
54
55
56
57
58
59
60
61
62
    - >
      GST_DEBUG_NO_COLOR=1
      ./gst-uninstalled.py gst-validate-launcher
      --shuffle
      --force-sync
      --mute
      --fail-on-testlist-change
      --main-dir validate-output/
      --xunit-file ${CI_PROJECT_DIR}/test-results.xml
      --ignore-numfailures
      --meson-no-rebuild
      --dump-on-failure
      check
    - ls
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  after_script:
    - cd gst-build/
    # Clean the artifacts packages to avoid copying "useless" build products.
    - rm $(find build -name "*.o") $(find -name "*.a")
    # Clean the .git repos since we won't need them anymore
    - rm -rf subprojects/*/.git/
    - rm -rf build/subprojects/*/.git/
  cache:
    paths:
      - "${CCACHE_DIR}"
  artifacts:
    expire_in: 6hours
    when: always
    paths:
      - "manifest.xml"
78
      # - "gst-build/"
79
80
81
    reports:
      junit:
        - "test-results.xml"
82
83
84
85
86

build fedora x86_64:
  extends: .build
  image: "registry.freedesktop.org/gstreamer/gst-ci/amd64/fedora-build:9e0abc3c3be3cf09d0f2272710439b41fbbafdaf"