Commit 75e0ee7c authored by Corentin Noël's avatar Corentin Noël

Use fedora 28 CI

parent d1bae907
Pipeline #25871239 failed with stages
in 1 minute and 51 seconds
image: ubuntu:xenial
image: fedora:28
cache:
key: apt-cache
paths:
- apt-cache/
before_script:
- export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
- apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y autotools-dev gobject-introspection gtk-doc-tools libdbus-1-dev libgirepository1.0-dev libglib2.0-dev pkg-config valac python3 python3-gi python-gi-dev lcov gcovr check
- apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y libsqlite3-dev git # TODO Remove it once gsignond is mainlined in debian/ubuntu
build_amd64:
stage: build
script:
- export PYTHON=python3
- NOCONFIGURE=1 ./autogen.sh
- mkdir build
- cd build
- ../configure --enable-gtk-doc --enable-introspection=yes --enable-tests --enable-python --enable-coverage
- make -j 4
artifacts:
key: dnf-cache
paths:
- ./
- dnf-cache/
test_amd64:
stage: test
script:
### Remove this once gsignond is packaged into debian/ubuntu
- git clone https://gitlab.com/accounts-sso/gsignond.git
- cd gsignond
- ./autogen.sh --prefix=/usr
- make -j 4
- make install
variables:
BUILDTOOLS_PKGS: "meson gcc redhat-rpm-config vala-tools"
GLIB2_PKGS: "pkgconfig(glib-2.0) pkgconfig(gio-2.0) pkgconfig(gio-unix-2.0) pkgconfig(gmodule-2.0)"
SQLITE_PKG: "pkgconfig(sqlite3)"
DOCGEN_PKGS: "pkgconfig(gtk-doc)"
GIR_PKGS: "pkgconfig(gobject-introspection-1.0)"
CI_PKGS: "pkgconfig(check) lcov unzip git"
LOCALE_PKGS: "langpacks-en"
before_script:
- dnf --setopt=cachedir=`pwd`/dnf-cache --quiet --refresh --assumeyes install $BUILDTOOLS_PKGS $GLIB2_PKGS $SQLITE_PKG $DOCGEN_PKGS $GIR_PKGS $CI_PKGS $LOCALE_PKGS
- cd ..
### Remove down to here
- find build | xargs touch # Avoid rebuilding
- git clone https://gitlab.com/accounts-sso/gsignond.git
- cd signond
- curl --header "PRIVATE-TOKEN:$PRIVATE_TOKEN" "https://gitlab.com/api/v4/projects/accounts-sso%2Fgsignond/jobs/artifacts/master/download?job=build_x86-64" -L -o artifacts.zip
- unzip artifacts.zip
- cd build
- make check || (cat tests/test-suite.log && /bin/false)
- make lcov
dependencies:
- build_amd64
artifacts:
paths:
- ./
- make install
- cd ../../libgsignon-glib
build_x86-64:
stage: build
script:
- meson build -Ddebug=true -Ddocumentation=true -Db_coverage=true
- cd build
- ninja
artifacts:
paths:
- ./
test_x86-64:
stage: test
script:
- cd build
- ninja test
- ninja coverage-html
dependencies:
- build_x86-64
artifacts:
paths:
- ./
pages:
stage: deploy
script:
- mkdir public
- cp -a build/lcov-report public/coverage
- cp -a build/docs/reference/html/* public
only:
- tags
dependencies:
- test_amd64
artifacts:
paths:
- public
stage: deploy
script:
- cd build
- ninja install
- cd ..
- mkdir public
- cp -a build/meson-logs/coveragereport public/coverage
- cp -a build/docs/reference/html/* public
only:
- master@accounts-sso/libgsignon-glib
dependencies:
- test_x86-64
artifacts:
paths:
- public
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment