Begin using gitlab for building to save time on auto code tests.

Code tests are still run on Travis CI, but distro-specific builds are run on GitLab CI.
Currently these are used:
1. Debian stable
2. Ubuntu latest
3. CentOS latest
4. Fedora latest
5. Alpine

Debian and CentOS are for testing builds on older systems, for *.deb vs *.rpm, respectively.
Ubuntu and Fedora are for testing builds on the latest **stable** systems for *.deb and *.rpm.
Alpine is used to test building/installing from source.

All run concurrently.

In the future may expand tests on Gitlab to cover code testing as well.
This commit is contained in:
Fred-Barclay 2018-11-02 22:08:18 -05:00
parent ed74dadd85
commit d92d89b4f2
No known key found for this signature in database
GPG key ID: 7338CE369A928102
3 changed files with 43 additions and 5 deletions

41
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,41 @@
# Basic notes: builds firejail on 5 different systems for 2 package systems:
# 1. Debian-based systems. Use debian:jessie to ensure reasonable backwards
# compat and ubuntu:latest for new setups
# 2. Redhat-based systems. Use centos:latest for reasonable backwards compat
# and fedora:latest for new setups
# 3. Alpine for installing directly from source
build_ubuntu_package:
image: ubuntu:latest
script:
- apt-get update -qq
- apt-get install -y -qq build-essential lintian
- ./configure --prefix=/usr && make deb && dpkg -i firejail*.deb
build_debian_package:
image: debian:jessie
script:
- apt-get update -qq
- apt-get install -y -qq build-essential lintian
- ./configure --prefix=/usr && make deb && dpkg -i firejail*.deb
build_redhat_package:
image: centos:latest
script:
- yum update -y
- yum install -y rpm-build gcc make
- ./configure --prefix=/usr && make rpms && yum install -y firejail*.rpm
build_fedora_package:
image: fedora:latest
script:
- dnf update -y
- dnf install -y rpm-build gcc make
- ./configure --prefix=/usr && make rpms && rpm -i firejail*.rpm
build_src_package:
image: alpine:latest
script:
- apk update
- apk upgrade
- apk add build-base linux-headers
- ./configure --prefix=/usr && make && make install-strip

View file

@ -4,10 +4,6 @@ sudo: true
script:
- sudo apt-get -y install expect csh xzdec lintian fakeroot
# Build Debian package
- ( ./configure --prefix=/usr && make deb && sudo dpkg -i firejail*.deb )
# Remove Debian package
- ( sudo dpkg -P firejail )
- ( ./configure --prefix=/usr && make && sudo make install && make test-travis )
- ( sudo make install-strip DESTDIR=$(readlink -f appdir) )
# If successful, build release tarball

View file

@ -1,5 +1,6 @@
# Firejail
[![Build Status](https://travis-ci.org/netblue30/firejail.svg?branch=master)](https://travis-ci.org/netblue30/firejail)
[![Test Status](https://travis-ci.org/netblue30/firejail.svg?branch=master)](https://travis-ci.org/netblue30/firejail)
[![Build Status](https://gitlab.com/Firejail/firejail_ci/badges/master/pipeline.svg)](https://gitlab.com/Firejail/firejail_ci)
Firejail is a SUID sandbox program that reduces the risk of security breaches by restricting
the running environment of untrusted applications using Linux namespaces, seccomp-bpf