forked from karljohns0n/nginx-more
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
54 lines (48 loc) · 2.78 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
---
language: shell
env:
# - dist: karljohns0n/centos
# version: 6
# pkg_arch: x86_64
# ngx_modules: "--without=modsecurity"
- dist: centos
version: 7
pkg_arch: x86_64
ngx_modules: "--with=modsecurity"
- dist: almalinux
version: 8
pkg_arch: x86_64
ngx_modules: "--with=modsecurity"
- dist: rockylinux/rockylinux
version: 8
pkg_arch: x86_64
ngx_modules: "--with=modsecurity"
services:
- docker
before_install:
- docker pull karljohns0n/rpmbuild:8
- docker pull "${dist}":"${version}"
script:
- pkg_name=nginx-more
- pkg_version=$(grep "Version:" SPECS/${pkg_name}.spec|awk '{print $2}' )
- pkg_release=$(grep "Release:" SPECS/${pkg_name}.spec|awk '{print $2}'| tr -d "%{?dist}")
- container_id=$(cat /dev/urandom | env LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w 20 | head -n 1)
# Build package
- docker run --name "${container_id}" --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro --volume="${PWD}":/tmp/"${pkg_name}" karljohns0n/rpmbuild:8
- docker exec "${container_id}" mkdir -p /tmp/"${pkg_name}"/{BUILD,RPMS,SPECS,SOURCES,SRPMS}
- docker exec "${container_id}" bash /tmp/"${pkg_name}"/.travis/fetch_sources.sh "${CDNURL}"
- travis_wait 30 docker exec "${container_id}" mock --isolation=simple -r aeris-"${version}"-"${pkg_arch}" --spec=/tmp/"${pkg_name}"/SPECS/"${pkg_name}".spec --sources=/tmp/"${pkg_name}"/SOURCES --resultdir=/tmp/"${pkg_name}"/SRPMS --buildsrpm "${ngx_modules}"
- travis_wait 30 docker exec "${container_id}" mock --isolation=simple --clean -D "dist .el${version}" -r aeris-"${version}"-"${pkg_arch}" --resultdir=/tmp/"${pkg_name}"/RPMS --rebuild /tmp/"${pkg_name}"/SRPMS/"${pkg_name}"-"${pkg_version}"-"${pkg_release}".el"${version}".src.rpm "${ngx_modules}"
- docker exec "${container_id}" rpm -q -l -p /tmp/"${pkg_name}"/RPMS/"${pkg_name}"-"${pkg_version}"-"${pkg_release}".el"${version}"."${pkg_arch}".rpm --noartifact
- docker rm -f "${container_id}"
# Test package
- docker run --name "${container_id}" -t --detach --privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro --volume="${PWD}":/tmp/"${pkg_name}" "${dist}":"${version}"
- docker exec "${container_id}" yum -y install https://repo.aerisnetwork.com/pub/aeris-release-"${version}".rpm
- docker exec "${container_id}" yum install -y --enablerepo="aeris,aeris-testing" /tmp/"${pkg_name}"/RPMS/"${pkg_name}"-"${pkg_version}"-"${pkg_release}".el"${version}"."${pkg_arch}".rpm
- docker exec "${container_id}" nginx -V
- docker exec "${container_id}" /usr/sbin/nginx -t
- docker exec "${container_id}" /usr/sbin/nginx && sleep 5
- docker exec "${container_id}" curl -s -I http://127.0.0.1
- docker exec "${container_id}" cat /var/log/nginx/error.log
- docker exec "${container_id}" yum remove -y nginx-more
- docker rm -f "${container_id}"