image: fedora:34 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 vala json-glib-devel git python3-jinja2 python3-toml python3-typogrify python3-pygments script: - meson _build - ninja -C _build - bash +x ./.gitlab-ci/run-tests.sh 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" .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 libxslt libsoup-devel gtk-doc json-glib-devel MESON_VERSION: "0.55.3" MESON_EXTRA_FLAGS: "-Dintrospection=true" 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