diff options
author | Jens Georg <mail@jensge.org> | 2021-11-21 12:17:11 +0100 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2021-11-21 12:17:29 +0100 |
commit | 5d8f7642ac232e936f7a97afa0f8ccfd61493641 (patch) | |
tree | 3e97e7f0a56f43d01dfee7013f21841b4fc44b6c | |
parent | af392f44631268a22b6b288ad79f80e3c8602afd (diff) | |
download | gssdp-5d8f7642ac232e936f7a97afa0f8ccfd61493641.tar.gz |
ci: Switch to flatpak temporarily
-rw-r--r-- | .gitlab-ci.yml | 420 | ||||
-rw-r--r-- | build-aux/org.gnome.GUPnP.json | 59 |
2 files changed, 279 insertions, 200 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b0fad7e..591ab8e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,205 +1,225 @@ -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 +flatpak: + tags: + - flatpak + image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master 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+\%)/' + - 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 artifacts: - when: always + when: on_failure + name: "gssdp-_${CI_COMMIT_REF_NAME}" 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.*$/ - + - "${CI_PROJECT_DIR}/_build/meson-logs" +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 new file mode 100644 index 0000000..b7967d3 --- /dev/null +++ b/build-aux/org.gnome.GUPnP.json @@ -0,0 +1,59 @@ +{ + "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" + } + ] + } + ] +} |