diff options
author | Jens Georg <mail@jensge.org> | 2022-02-12 13:08:46 +0000 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2022-02-12 13:08:46 +0000 |
commit | 761bac5db1d4c70c4136c7b2b702c9b9f0f15b30 (patch) | |
tree | ae862dce0f3b99566c9c92aa20b5bc4a65b28108 | |
parent | a89d6d9ad1bc458709e058e6d787dd66e2d6302b (diff) | |
download | gssdp-761bac5db1d4c70c4136c7b2b702c9b9f0f15b30.tar.gz |
ci: Switch CI back to fdo buildgssdp-1.5.0
-rw-r--r-- | .gitlab-ci.yml | 436 | ||||
-rw-r--r-- | build-aux/org.gnome.GUPnP.json | 59 |
2 files changed, 216 insertions, 279 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 591ab8e..f1ce95d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,225 +1,221 @@ -flatpak: - tags: - - flatpak - image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master +include: + - remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/0c312d9c7255f46e741d43bcd1930f09cd12efe7/templates/ci-fairy.yml" + - remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/0c312d9c7255f46e741d43bcd1930f09cd12efe7/templates/fedora.yml' + +variables: + MESON_TEST_TIMEOUT_MULTIPLIER: 3 + +stages: + - review + - prepare + - build + - test + - analysis + - website + +.check-template: &check + extends: + - .fdo.ci-fairy + artifacts: + expire_in: 1 week + paths: + - check-junit-report.xml + reports: + junit: check-junit-report.xml + +check-commit-log: + variables: + GIT_DEPTH: "100" + stage: review + script: + - if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ; + then + ci-fairy check-commits --junit-xml=check-junit-report.xml ; + else + echo "Not a merge request" ; + fi + <<: *check + +check-merge-request: + variables: + GIT_STRATEGY: none + stage: review + script: + - if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ; + then + ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-junit-report.xml ; + else + echo "Not a merge request" ; + fi + <<: *check + +.build-template: &build stage: build script: - - flatpak-builder build-dir build-aux/org.gnome.GUPnP.json --stop-at=gssdp --user --disable-rofiles-fuse - - flatpak build build-dir meson _build - - flatpak build build-dir ninja -C _build - - flatpak build build-dir meson test -C _build --gdb + - git clone --depth=1 https://gitlab.gnome.org/GNOME/libsoup.git && pushd libsoup + - meson _build --prefix=/usr -Dtls_check=false -Dgtk_doc=false + - ninja -C _build install + - popd + - meson . build --prefix=/usr -Db_coverage=true + - ninja -C build artifacts: - when: on_failure - name: "gssdp-_${CI_COMMIT_REF_NAME}" + expire_in: 1 day + paths: + - build + +.gssdp.fedora@common: + variables: + BASE_TAG: '2022-02-12.2' + FDO_UPSTREAM_REPO: GNOME/gssdp + FDO_DISTRIBUTION_PACKAGES: 'clang clang-analyzer gcovr git libasan libubsan python3-gobject python3-pip xmlto gtk4-devel' + FDO_DISTRIBUTION_EXEC: | + dnf install -y 'dnf-command(builddep)' && + dnf builddep -y gssdp --setopt=install_weak_deps=False && + dnf install -y libnghttp2-devel libpsl-devel sqlite-devel && + dnf clean all && + pip3 install meson markdown gi-docgen jinja2 Markdown markupsafe pygments toml typogrify + +.soup3: + before_script: + - git clone --depth=1 https://gitlab.gnome.org/GNOME/libsoup.git && pushd libsoup + - meson _build --prefix=/usr -Dtls_check=false -Dgtk_doc=false + - ninja -C _build install + - popd + +.gssdp.fedora:35@x86_64: + extends: + - .gssdp.fedora@common + variables: + FDO_DISTRIBUTION_VERSION: 35 + FDO_DISTRIBUTION_TAG: "x86_64-${BASE_TAG}" + +build-fedora-container@x86_64: + extends: + - .fdo.container-build@fedora + - .gssdp.fedora:35@x86_64 + stage: prepare + variables: + GIT_STRATEGY: none + + +build-fedora@x86_64: + extends: + - .fdo.distribution-image@fedora + - .gssdp.fedora:35@x86_64 + needs: + - build-fedora-container@x86_64 + <<: *build + + +.test-template: &test + stage: test + variables: + G_SLICE: "always-malloc" + MALLOC_CHECK_: "3" + script: + - cd build + - | + # Remove the many "CI_" variables from the environment. Meson dumps the + # whole environment for every failed test, and that gives a whole + # screenful of junk each time unless we strip these. + unset $(env|grep -o '^CI_[^=]*') + env LANG=C.UTF-8 LC_ALL=C.UTF-8 meson test --print-errorlogs ${MESON_TEST_EXTRA_ARGS} + after_script: + - | + echo "Distribution: " + echo + egrep '^NAME=|^VERSION=' /etc/os-release + echo + echo "Test suite settings:" + echo + echo "G_MESSAGES_DEBUG: ${G_MESSAGES_DEBUG}" + echo "MESON_TEST_EXTRA_ARGS: ${MESON_TEST_EXTRA_ARGS}" + echo + echo "These values can be set at https://gitlab.gnome.org/GNOME/gssdp/pipelines/new" + artifacts: + expire_in: 1 day + when: always paths: - - "${CI_PROJECT_DIR}/_build/meson-logs" + - build + reports: + junit: "build/meson-logs/testlog.junit.xml" + +test-fedora@x86_64: + extends: + - .fdo.distribution-image@fedora + - .gssdp.fedora:35@x86_64 + - .soup3 + needs: + - build-fedora@x86_64 + <<: *test + +trigger-gupnp: + stage: analysis + needs: + - test-fedora@x86_64 + trigger: GNOME/gupnp + only: + - master + +coverage-analysis: + extends: + - .fdo.distribution-image@fedora + - .gssdp.fedora:35@x86_64 + stage: analysis + allow_failure: true + script: + - cd build + - mkdir -p coveragereport + - gcovr --html-details --print-summary --root=.. --exclude=../docs/reference --exclude=../tests --exclude=../tools --exclude=../examples --output coveragereport/index.html + coverage: '/^lines: (\d+\.\d+\%)/' + artifacts: + when: always + paths: + - build/coveragereport + needs: + - test-fedora@x86_64 + +static-scan: + extends: + - .fdo.distribution-image@fedora + - .gssdp.fedora:35@x86_64 + - .soup3 + stage: analysis + needs: + - build-fedora-container@x86_64 + script: + - meson --buildtype=debug _scan_build + - export SCANBUILD="$PWD/.gitlab-ci/scanbuild-wrapper.sh" + - ninja -C _scan_build scan-build + artifacts: + paths: + - _scan_build/meson-logs + after_script: + - .gitlab-ci/scanbuild-plist-to-junit.py _scan_build/meson-logs/scanbuild/ > _scan_build/junit-scan-build.xml + artifacts: + reports: + junit: "_scan_build/junit-scan-build.xml" + +pages: + extends: + - .fdo.distribution-image@fedora + - .gssdp.fedora:35@x86_64 + - .soup3 + stage: website + script: + - meson doc-build -Dgtk_doc=true + - ninja -C doc-build doc/GSSDP + - mkdir -p public + - mv doc-build/doc/GSSDP public/docs + + artifacts: + paths: + - public + needs: + - build-fedora-container@x86_64 + only: + - master + - /^wip\/.*\/ci.*$/ + - /^wip\/.*\/.*doc.*$/ + -stages: - - build - -#include: -# - remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/290b79e0e78eab67a83766f4e9691be554fc4afd/templates/ci-fairy.yml" -# - remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/290b79e0e78eab67a83766f4e9691be554fc4afd/templates/fedora.yml' -# -#variables: -# MESON_TEST_TIMEOUT_MULTIPLIER: 3 -# -#stages: -# - review -# - prepare -# - build -# - test -# - analysis -# - website -# -#.check-template: &check -# extends: -# - .fdo.ci-fairy -# artifacts: -# expire_in: 1 week -# paths: -# - check-junit-report.xml -# reports: -# junit: check-junit-report.xml -# -#check-commit-log: -# variables: -# GIT_DEPTH: "100" -# stage: review -# script: -# - if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ; -# then -# ci-fairy check-commits --junit-xml=check-junit-report.xml ; -# else -# echo "Not a merge request" ; -# fi -# <<: *check -# -#check-merge-request: -# variables: -# GIT_STRATEGY: none -# stage: review -# script: -# - if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ; -# then -# ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-junit-report.xml ; -# else -# echo "Not a merge request" ; -# fi -# <<: *check -# -#.build-template: &build -# stage: build -# script: -# - meson . build --prefix=/usr -Db_coverage=true -# - ninja -C build -# artifacts: -# expire_in: 1 day -# paths: -# - build -# -#.gssdp.fedora@common: -# variables: -# BASE_TAG: '2021-06-19.0' -# FDO_UPSTREAM_REPO: GNOME/gssdp -# FDO_DISTRIBUTION_PACKAGES: 'clang clang-analyzer gcovr git libasan libubsan python3-gobject python3-pip xmlto gtk4-devel' -# FDO_DISTRIBUTION_EXEC: | -# dnf install -y 'dnf-command(builddep)' && -# dnf builddep -y gssdp --setopt=install_weak_deps=False && -# dnf clean all && -# pip3 install meson markdown toml typogrify -# -#.gssdp.fedora:34@x86_64: -# extends: .gssdp.fedora@common -# variables: -# FDO_DISTRIBUTION_VERSION: 34 -# FDO_DISTRIBUTION_TAG: "x86_64-${BASE_TAG}" -# -#build-fedora-container@x86_64: -# extends: -# - .fdo.container-build@fedora -# - .gssdp.fedora:34@x86_64 -# stage: prepare -# variables: -# GIT_STRATEGY: none -# -# -#build-fedora@x86_64: -# extends: -# - .fdo.distribution-image@fedora -# - .gssdp.fedora:34@x86_64 -# needs: -# - build-fedora-container@x86_64 -# <<: *build -# -# -#.test-template: &test -# stage: test -# variables: -# G_SLICE: "always-malloc" -# MALLOC_CHECK_: "3" -# script: -# - cd build -# - | -# # Remove the many "CI_" variables from the environment. Meson dumps the -# # whole environment for every failed test, and that gives a whole -# # screenful of junk each time unless we strip these. -# unset $(env|grep -o '^CI_[^=]*') -# env LANG=C.UTF-8 LC_ALL=C.UTF-8 meson test --print-errorlogs ${MESON_TEST_EXTRA_ARGS} -# after_script: -# - | -# echo "Distribution: " -# echo -# egrep '^NAME=|^VERSION=' /etc/os-release -# echo -# echo "Test suite settings:" -# echo -# echo "G_MESSAGES_DEBUG: ${G_MESSAGES_DEBUG}" -# echo "MESON_TEST_EXTRA_ARGS: ${MESON_TEST_EXTRA_ARGS}" -# echo -# echo "These values can be set at https://gitlab.gnome.org/GNOME/gssdp/pipelines/new" -# artifacts: -# expire_in: 1 day -# when: always -# paths: -# - build -# reports: -# junit: "build/meson-logs/testlog.junit.xml" -# -#test-fedora@x86_64: -# extends: -# - .fdo.distribution-image@fedora -# - .gssdp.fedora:34@x86_64 -# needs: -# - build-fedora@x86_64 -# <<: *test -# -#trigger-gupnp: -# stage: analysis -# needs: -# - test-fedora@x86_64 -# trigger: GNOME/gupnp -# only: -# - master -# -#coverage-analysis: -# extends: -# - .fdo.distribution-image@fedora -# - .gssdp.fedora:34@x86_64 -# stage: analysis -# allow_failure: true -# script: -# - cd build -# - mkdir -p coveragereport -# - gcovr --html-details --print-summary --root=.. --exclude=../docs/reference --exclude=../tests --exclude=../tools --exclude=../examples --output coveragereport/index.html -# coverage: '/^lines: (\d+\.\d+\%)/' -# artifacts: -# when: always -# paths: -# - build/coveragereport -# needs: -# - test-fedora@x86_64 -# -#static-scan: -# extends: -# - .fdo.distribution-image@fedora -# - .gssdp.fedora:34@x86_64 -# stage: analysis -# needs: -# - build-fedora-container@x86_64 -# script: -# - meson --buildtype=debug _scan_build -# - export SCANBUILD="$PWD/.gitlab-ci/scanbuild-wrapper.sh" -# - ninja -C _scan_build scan-build -# artifacts: -# paths: -# - _scan_build/meson-logs -# after_script: -# - .gitlab-ci/scanbuild-plist-to-junit.py _scan_build/meson-logs/scanbuild/ > _scan_build/junit-scan-build.xml -# artifacts: -# reports: -# junit: "_scan_build/junit-scan-build.xml" -# -#pages: -# extends: -# - .fdo.distribution-image@fedora -# - .gssdp.fedora:34@x86_64 -# stage: website -# script: -# - meson doc-build -Dgtk_doc=true -# - ninja -C doc-build doc/GSSDP -# - mkdir -p public -# - mv doc-build/doc/GSSDP public/docs -# -# artifacts: -# paths: -# - public -# needs: -# - build-fedora-container@x86_64 -# only: -# - master -# - /^wip\/.*\/ci.*$/ -# - /^wip\/.*\/.*doc.*$/ -# -# -# diff --git a/build-aux/org.gnome.GUPnP.json b/build-aux/org.gnome.GUPnP.json deleted file mode 100644 index b7967d3..0000000 --- a/build-aux/org.gnome.GUPnP.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "app-id" : "org.gnome.GUPnP", - "runtime" : "org.gnome.Platform", - "runtime-version" : "master", - "sdk" : "org.gnome.Sdk", - "command" : "light-server", - "finish-args" : [ - "--share=network", - "--share=ipc", - "--talk-name=org.gtk.vfs", - "--talk-name=org.gtk.vfs.*", - "--filesystem=xdg-pictures", - "--filesystem=xdg-videos", - "--filesystem=xdg-music", - "--own-name=org.gnome.Rygel1" - ], - "build-options" : { - "cflags" : "-O2 -g", - "cxxflags" : "-O2 -g", - "env" : { - "V" : "1" - } - }, - "cleanup" : [ - "/include", - "/lib/pkgconfig", - "/man", - "/share/doc", - "/share/gtk-doc", - "/share/man", - "/share/pkgconfig", - "*.la", - "*.a" - ], - "modules" : [ - { - "name" : "gssdp", - "buildsystem" : "meson", - "sources" : [ - { - "type" : "git", - "url" : "https://gitlab.gnome.org/GNOME/gssdp.git/", - "branch" : "wip/libsoup3" - } - ] - }, - { - "name" : "gupnp", - "buildsystem" : "meson", - "sources" : [ - { - "type" : "git", - "url" : "https://gitlab.gnome.org/GNOME/gupnp.git/", - "branch" : "wip/phako/libsoup3" - } - ] - } - ] -} |