image: fedora:34 stages: - build - docs - deploy .build-default: before_script: - dnf install -y ${FEDORA_DEPS} - pip3 install --user meson==${MESON_VERSION} - export PATH="$PATH:$HOME/.local/bin" script: - meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build . - meson compile -C _build - meson test -C _build - meson install -C _build artifacts: when: always name: "json-glib-${CI_COMMIT_REF_NAME}" paths: - "${CI_PROJECT_DIR}/_build/meson-logs" .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 fedora-x86_64: extends: .build-default stage: build needs: [] variables: FEDORA_DEPS: gcc gettext git glib2-devel gobject-introspection-devel ninja-build python3 python3-pip python3-wheel redhat-rpm-config MESON_VERSION: "0.62" MESON_EXTRA_FLAGS: "--buildtype=debug --default-library=both -Dwerror=true -Dglib:werror=false -Dintrospection=enabled" reference: stage: docs needs: [] extends: .gidocgen-build variables: PROJECT_DEPS: docbook-style-xsl gcc gettext git glib2-devel libxslt MESON_VERSION: "0.62" MESON_EXTRA_FLAGS: "-Dman=true -Dintrospection=enabled" DOCS_FLAGS: -Dgtk_doc=enabled DOCS_PATH: doc/json-glib-1.0 pages: stage: deploy needs: ['reference'] script: - mkdir public && cd public - tar xf ../${CI_PROJECT_NAME}-docs.tar artifacts: paths: - public only: - master