diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 78 |
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 | ||
8 | build_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 | |||
16 | build_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 | |||
23 | build_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 | |||
30 | build_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 | |||
38 | build_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 | |||
47 | build_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 | |||
54 | debian_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 | ||