aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml78
1 files changed, 78 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000..03e18d269
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,78 @@
1# Basic notes: builds firejail on 5 different systems for 2 package systems:
2# 1. Debian-based systems. Use debian:jessie to ensure reasonable backwards
3# compat and ubuntu:rolling for new setups
4# 2. Redhat-based systems. Use centos:latest for reasonable backwards compat
5# and fedora:latest for new setups
6# 3. Alpine for installing directly from source
7# Also builds apparmor package for Ubuntu LTS
8build_ubuntu_package:
9 image: ubuntu:rolling
10 script:
11 - apt-get update -qq
12 - DEBIAN_FRONTEND=noninteractive apt-get install -y -qq build-essential lintian pkg-config python3 gawk
13 - ./configure --prefix=/usr && make deb && dpkg -i firejail*.deb
14 - python3 contrib/sort.py etc/profile-*/*.profile etc/inc/*.inc
15
16build_debian_package:
17 image: debian:stretch
18 script:
19 - apt-get update -qq
20 - apt-get install -y -qq build-essential lintian pkg-config gawk
21 - ./configure --prefix=/usr && make deb && dpkg -i firejail*.deb
22
23build_redhat_package:
24 image: centos:latest
25 script:
26 - dnf update -y
27 - dnf install -y rpm-build gcc make
28 - ./configure --prefix=/usr && make rpms && rpm -i firejail*.rpm
29
30build_fedora_package:
31 image: fedora:latest
32 script:
33 - dnf update -y
34 - dnf install -y rpm-build gcc make
35 - ./configure --prefix=/usr && make rpms && rpm -i firejail*.rpm
36 - python3 contrib/sort.py etc/profile-*/*.profile etc/inc/*.inc
37
38build_src_package:
39 image: alpine:latest
40 script:
41 - apk update
42 - apk upgrade
43 - apk add build-base linux-headers python3 gawk
44 - ./configure --prefix=/usr && make && make install-strip
45 # - python3 contrib/sort.py etc/*.{profile,inc}
46
47build_apparmor:
48 image: ubuntu:latest
49 script:
50 - apt-get update -qq
51 - DEBIAN_FRONTEND=noninteractive apt-get install -y -qq build-essential lintian libapparmor-dev pkg-config gawk
52 - ./configure --prefix=/usr && make deb-apparmor && dpkg -i firejail*.deb
53
54debian_ci:
55 image: registry.salsa.debian.org/salsa-ci-team/ci-image-git-buildpackage:latest
56 variables:
57 DEBFULLNAME: "$GITLAB_USER_NAME"
58 DEBEMAIL: "$GITLAB_USER_EMAIL"
59 before_script:
60 - git checkout -B ci_build $CI_COMMIT_SHA
61 - gitlab-ci-enable-sid
62 - gitlab-ci-enable-experimental
63 - echo "deb-src http://deb.debian.org/debian sid main" >> /etc/apt/sources.list
64 - echo "deb-src http://deb.debian.org/debian experimental main" >> /etc/apt/sources.list
65 - apt-get update
66 - git config user.email "$GITLAB_USER_NAME" && git config user.name "$GITLAB_USER_EMAIL"
67 - cd $CI_PROJECT_DIR/.. && (apt-get source --download-only -t experimental firejail || apt-get source --download-only firejail)
68 - cd $CI_PROJECT_DIR && tar xf ../firejail_*.debian.tar.*
69 - rm -rf debian/patches/
70 # next line is a temporary fix for dh_missing failure; remove it after next release
71 - echo "etc/firejail/*.config" >> debian/firejail.install
72 - VERSION=$(grep ^PACKAGE_VERSION= configure | cut -d"'" -f2) && dch -v ${VERSION}-0.1~ci "Non-maintainer upload." && git archive -o ../firejail_${VERSION}.orig.tar.gz HEAD && pristine-tar commit ../firejail_${VERSION}.orig.tar.gz ci_build && git branch -m pristine-tar origin/pristine-tar
73 - git add debian && git commit -m "add debian/"
74 - export CI_COMMIT_SHA=$(git rev-parse HEAD)
75 script:
76 - apt-get --no-install-recommends install -y -qq gawk
77 - gitlab-ci-git-buildpackage
78 - gitlab-ci-lintian