stages: - build - deploy image: registry.gitlab.gnome.org/gnome/gobject-introspection:v7 cache: paths: - _ccache/ example-meson: stage: build script: - python3 -m pip install --user mako markdown - meson --prefix /usr --libdir /usr/lib64 --buildtype debug -Ddoctool=enabled -Dgtk_doc=true -Dcairo=enabled -Dpython=python3 _build . - ninja -C _build - sudo ninja -C _build install - g-ir-scanner --version - cd examples/library - meson --prefix /usr --default-library both _build - ninja -C _build - sudo ninja -C _build install - g-ir-inspect --print-typelibs --print-shlibs GISample # also build a small program using libgirepository - cd ../girepository - meson _build - ninja -C _build example-autotools: stage: build script: - python3 -m pip install --user mako markdown - meson --prefix /usr --libdir /usr/lib64 --buildtype debug -Ddoctool=enabled -Dgtk_doc=true -Dcairo=enabled -Dpython=python3 _build . - ninja -C _build - sudo ninja -C _build install - g-ir-scanner --version - cd examples/library - ./autogen.sh --prefix /usr - make -j - sudo make install - g-ir-inspect --print-typelibs --print-shlibs GISample fedora-x86_64-meson: stage: build variables: CCACHE_BASEDIR: "${CI_PROJECT_DIR}" CCACHE_DIR: "${CI_PROJECT_DIR}/_ccache" CFLAGS: "-Werror" script: - python3 -m pip install --user mako markdown - meson --prefix /usr --libdir /usr/lib64 --buildtype debug -Ddoctool=enabled -Dgtk_doc=true -Dcairo=enabled -Dpython=python3 _build . - cd _build - ninja - meson test --print-errorlogs --suite=gobject-introspection --no-suite=glib - ninja gi-doc - cd .. - mkdir -p public - mv _build/docs/reference/html/ public/girepository/ - python3 -m pip install --user flake8 - python3 -m flake8 --count except: - tags artifacts: when: always name: "gi-_${CI_COMMIT_REF_NAME}" paths: - "${CI_PROJECT_DIR}/_build/meson-logs" - public fedora-x86_64-subprojects: image: registry.gitlab.gnome.org/gnome/gobject-introspection:min-v1 stage: build variables: CCACHE_BASEDIR: "${CI_PROJECT_DIR}" CCACHE_DIR: "${CI_PROJECT_DIR}/_ccache" script: - meson _build . - cd _build - ninja - meson test --print-errorlogs --suite=gobject-introspection except: - tags artifacts: when: always name: "gi-_${CI_COMMIT_REF_NAME}" paths: - "${CI_PROJECT_DIR}/_build/meson-logs" - public fedora-x86_64-python3.5: stage: build variables: CCACHE_BASEDIR: "${CI_PROJECT_DIR}" CCACHE_DIR: "${CI_PROJECT_DIR}/_ccache" PYENV_VERSION: "3.5.6" script: - python3 -m pip install --user mako markdown - meson --prefix /usr --libdir /usr/lib64 --buildtype debug -Ddoctool=enabled -Dgtk_doc=true -Dcairo=enabled -Dpython=python3 _build . - cd _build - ninja - meson test --print-errorlogs --suite=gobject-introspection --no-suite=glib except: - tags artifacts: when: always name: "gi-_${CI_COMMIT_REF_NAME}" paths: - "${CI_PROJECT_DIR}/_build/meson-logs" - public msys2-mingw32-meson: stage: build tags: - win32-ps variables: MSYSTEM: "MINGW32" CHERE_INVOKING: "yes" script: - C:\msys64\usr\bin\pacman --noconfirm -Syyuu --ask 20 - C:\msys64\usr\bin\bash -lc "bash -x ./.gitlab-ci/test-msys2-meson.sh" artifacts: when: on_failure name: "gi-_${env:CI_COMMIT_REF_NAME}" paths: - _build/meson-logs vs2017-x64-meson: stage: build tags: - win32-ps script: - .gitlab-ci/test-msvc.bat artifacts: when: on_failure name: "gi-_${env:CI_COMMIT_REF_NAME}" paths: - _build/meson-logs pages: stage: deploy dependencies: - fedora-x86_64-meson script: - echo artifacts: paths: - public only: - master