sane-project-backends/.gitlab-ci.yml

126 wiersze
2.9 KiB
YAML

# .gitlab-ci.yml -- to test some source code build scenarios
# Copyright (C) 2016-2019 Olaf Meeuwissen
#
# License: GPL-3.0+
variables:
REGISTRY_HUB: "registry.gitlab.com/sane-project/ci-envs"
CONFIGURE_MINI: "--enable-silent-rules"
CONFIGURE_FULL: "--with-usb --enable-avahi --enable-pnm-backend"
stages:
- prepare
- compile
- archive
- release
prepare:
image: $REGISTRY_HUB:debian-stretch-mini
stage: prepare
script:
- git ls-files | xargs ./tools/style-check.sh
- ./autogen.sh
- ./tools/create-changelog.sh
- ./tools/update-upstreams.sh
- ./configure
- make dist
artifacts:
paths:
- sane-backends-*.tar.gz
expire_in: 1 day
.compile_template: &compile_definition
stage: compile
script:
- mkdir build
- cd build
- tar xzf ../sane-backends-*.tar.gz --strip-components=1
- ./configure $CONFIGURE_OPTS
- make -j2 -k $MAKE_FLAGS
compile:debian-9-mini:
image: $REGISTRY_HUB:debian-stretch-mini
variables:
CONFIGURE_OPTS: "$CONFIGURE_MINI"
MAKE_FLAGS: "CFLAGS=-Werror"
<<: *compile_definition
compile:debian-9-full:
image: $REGISTRY_HUB:debian-stretch-full
variables:
CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL"
MAKE_FLAGS: "CFLAGS=-Werror CXXFLAGS=-Werror"
<<: *compile_definition
after_script:
- make -C build/doc html-pages
- rm -rf lists && mkdir lists && mv build/doc/*.html lists/
- cd build/doc && doxygen doxygen-sanei.conf && mv sanei-html ../../doc
artifacts:
paths:
- sane-backends-*.tar.gz
- lists
- doc/sanei-html
expire_in: 1 day
compile:debian-10-mini:
image: $REGISTRY_HUB:debian-buster-mini
variables:
CONFIGURE_OPTS: "$CONFIGURE_MINI"
#MAKE_FLAGS: "CFLAGS=-Werror"
<<: *compile_definition
compile:debian-10-full:
image: $REGISTRY_HUB:debian-buster-full
variables:
CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL"
#MAKE_FLAGS: "CFLAGS=-Werror"
<<: *compile_definition
compile:fedora-29-clang:
image: $REGISTRY_HUB:fedora-29-clang
variables:
CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL"
<<: *compile_definition
compile:fedora-30-clang:
image: $REGISTRY_HUB:fedora-30-clang
variables:
CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL"
<<: *compile_definition
compile:alpine-3.10-musl:
image: $REGISTRY_HUB:alpine-3.10-musl
variables:
CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL"
<<: *compile_definition
archive:
image: $REGISTRY_HUB:debian-stretch-full
stage: archive
dependencies:
- compile:debian-9-full
script:
- tar xzf sane-backends-*.tar.gz --strip-components=1
- rm sane-backends-*.tar.gz
- ./configure
- make distcheck
artifacts:
paths:
- sane-backends-*.tar.gz
- lists
- doc/sanei-html
release:
image: alpine
stage: release
before_script:
- apk --no-cache add curl git jq
script:
- ./tools/create-release.sh
only:
- tags
when: manual
variables:
GIT_DEPTH: "3"
allow_failure: false