-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmatrix.yml
More file actions
126 lines (125 loc) · 4.32 KB
/
matrix.yml
File metadata and controls
126 lines (125 loc) · 4.32 KB
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
---
# Defines supported distros and their specific settings, if any
# This file is maintained manually, and is a source of automation to generate
# build configs based on the latest versions of distros.
# How many versions of OS to build for each distro, if not specified explicitly
# Can be overriden by setting os_versions in a distro definition
distro_defaults:
# How many latest versions of distro to build for
os_versions: 2
# Default packager, unless overriden in a distro definition
packager: dnf
distros:
# The key of a distro is used by lastversion to check current version
# e.g. in this case `lastversion rhel` will run to determine latest RHEL version
rhel:
dist: el
dir: redhat
# Temporary field to incite logic in crypt-keeper.sh of rpmbuilder
# should be replaced with a more generic solution
# e.g. having crypt-keeper.sh use logic based on distro settings here
rpmbuilder_name: centos
description: "CentOS/RHEL"
has_plesk: True
# The setting to specify docker image to use for this distro
docker: rockylinux
# Specifies packager command to use for this distro
packager: dnf
# disable versions check and specify versions explicitly for now
versions_check: false
versions:
- 7
- 8
- 9
- 10
# Override settings for specific versions
version_overrides:
7:
# The setting to specify docker image to use for this distro version
docker: centos
packager: yum
10:
has_plesk: False
fedora:
dist: fc
dir: fedora
description: "Fedora Linux"
# Rawhide has too many issues and requires sponsoring due to workload and stability issues that needs to be addressed all the time
# For example: Error: Path "/root/rpmbuild/BUILDROOT/hello-1.0-1.fc41.x86_64" is outside of $RPM_BUILD_ROOT
# Go figure! So we disable builds on Rawhide for now
include_rolling_release: False
rpmbuilder_name: fedora
amazonlinux:
dist: amzn
description: "Amazon Linux"
versions_check: false
versions:
- 2
- 2023
version_overrides:
2:
packager: yum
rpmbuilder_name: amazonlinux
sles:
dist: sles
description: "SUSE Linux Enterprise"
os_versions: 1
docker: opensuse/leap
rpmbuilder_name: opensuse
collections:
nginx:
custom_steps_after_checkout:
- run:
name: "Set up RPM macro reflecting the NGINX branch"
command: |
echo "%nginx_branch ${CIRCLE_BRANCH}" >> rpmmacros
- run:
name: "Set up %plesk macro if passed by a job"
command: |
[ -z ${PLESK+x} ] || echo "%plesk ${PLESK}" >> rpmmacros
# we generate both nginx-module-<foo> and sw-nginx-module-<foo> from a single spec file, so:
[ -z ${PLESK+x} ] || (echo >> rpmlint.config && echo 'addFilter ("E: invalid-spec-name")' >> rpmlint.config)
[ -z ${MOD+x} ] || echo "%_nginx_mod ${MOD}" >> rpmmacros
[ -z ${MOD+x} ] || (echo >> rpmlint.config && echo 'addFilter ("E: invalid-spec-name")' >> rpmlint.config)
# which virtual NGINX branch builds on which git branch
# NGINX branch is either an NGINX fork, or an actual NGINX branch like mainline or stable
# or a custom build for a panel like Plesk
branches:
stable:
description: "Stable NGINX"
git_branch: master
mainline:
description: "Mainline NGINX"
angie:
description: "Angie"
# spec is always equal to stable (with mod conditionals), but we only push those modules which need unique version
# due to SSL requirements, etc.
# nginx-mod for modules only needed for e.g. EL7 where we built against non-system OpenSSL, but not in EL8, etc.
nginx-mod:
description: "NGINX-MOD"
tengine:
description: "Tengine"
plesk:
description: "Plesk"
plesk_version: 18
only_dists:
- "el*" # CentOS/RHEL
only_archs:
- x86_64
ea4:
description: "EA4"
git_branch: ea4
only_dists:
- "el7"
- "el8"
- "el9"
only_archs:
- x86_64
freenginx-stable:
description: "FreeNGINX Stable"
freenginx-mainline:
description: "FreeNGINX Mainline"
varnish:
branches:
varnish60:
description: "Varnish 6.0 LTS"