include: - project: 'gnome/citemplates' file: 'flatpak/flatpak_ci_initiative.yml' variables: MANIFEST_PATH: 'examples/demo/org.gnome.RestDemo.json' FLATPAK_MODULE: 'librest-demo' FLATPAK_BUILD_DIR: build LAST_ABI_BREAK: "a36606b6633e4244740793ab3a17d392b1cf6035" image: fedora:36 stages: - build - docs - deploy build-librest: stage: build except: - tags before_script: - dnf update -y --nogpgcheck - dnf -y install --nogpgcheck redhat-rpm-config glib2-devel gobject-introspection-devel libxml2-devel meson ninja-build libsoup-devel libsoup3-devel vala json-glib-devel git python3-jinja2 python3-toml python3-typogrify python3-pygments libadwaita-devel gtksourceview5-devel git libabigail script: - meson _build -Dexamples=true - ninja -C _build - bash +x ./.gitlab-ci/run-tests.sh - curl https://gitlab.freedesktop.org/hadess/check-abi/-/raw/main/contrib/check-abi-fedora.sh | bash - check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD) artifacts: reports: junit: "_build/${CI_JOB_NAME}-report.xml" name: "librest-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" when: always paths: - "_build/config.h" - "_build/meson-logs" - "_build/${CI_JOB_NAME}-report.xml" build-flatpak: extends: '.flatpak' stage: build before_script: [] variables: RUNTIME_REPO: 'https://nightly.gnome.org/gnome-nightly.flatpakrepo' APP_ID: 'org.gnome.RestDemo' BUNDLE: 'org.gnome.RestDemo.flatpak' .gidocgen-build: image: fedora:latest before_script: - export PATH="$HOME/.local/bin:$PATH" - dnf install -y python3 python3-pip python3-wheel gobject-introspection-devel graphviz ninja-build redhat-rpm-config - dnf install -y ${PROJECT_DEPS} - pip3 install --user meson==${MESON_VERSION} gi-docgen jinja2 Markdown markupsafe pygments toml typogrify script: - meson setup ${MESON_EXTRA_FLAGS} ${DOCS_FLAGS} _docs . - meson compile -C _docs - | pushd "_docs/${DOCS_PATH}" > /dev/null tar cf ${CI_PROJECT_NAME}-docs.tar . popd > /dev/null - mv _docs/${DOCS_PATH}/${CI_PROJECT_NAME}-docs.tar . artifacts: when: always name: 'Documentation' expose_as: 'Download the API reference' paths: - ${CI_PROJECT_NAME}-docs.tar reference: stage: docs needs: [] extends: .gidocgen-build variables: PROJECT_DEPS: docbook-style-xsl gcc gettext git glib2-devel libxml2-devel libxslt libsoup3-devel gtk-doc json-glib-devel MESON_VERSION: "0.56" MESON_EXTRA_FLAGS: "-Dintrospection=true -Dexamples=false" DOCS_FLAGS: -Dgtk_doc=true DOCS_PATH: docs/librest-1.0 pages: stage: deploy needs: ['reference'] script: - mkdir public && cd public - tar xf ../${CI_PROJECT_NAME}-docs.tar artifacts: paths: - public only: - master