Skip to content

Commit 9b431d8

Browse files
Added support for TencentOS and OpenCloudOS (#1926)
* Added support TencentOS and OpenCloudOS
1 parent 46a5867 commit 9b431d8

13 files changed

Lines changed: 69 additions & 25 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ jobs:
106106
strategy:
107107
matrix:
108108
version: [ 20, 22, 24, 25, 26 ]
109-
os: [ "fedora:41", "amazonlinux:2023", "rockylinux:9", "rockylinux:8", "redhat/ubi9:latest" ]
109+
os: [ "fedora:41", "amazonlinux:2023", "rockylinux:9", "rockylinux:8", "redhat/ubi9:latest", "tencentos/tencentos4:latest" ]
110110
container:
111111
image: ${{ matrix.os }}
112112
defaults:
@@ -198,7 +198,7 @@ jobs:
198198
strategy:
199199
matrix:
200200
version: [ 20, 22, 24, 25, 26 ]
201-
os: [ "rockylinux:9-minimal", "rockylinux:8-minimal", "redhat/ubi9-minimal:latest" ]
201+
os: [ "rockylinux:9-minimal", "rockylinux:8-minimal", "redhat/ubi9-minimal:latest", "tencentos/tencentos4-minimal:latest", "opencloudos/opencloudos9-minimal:latest" ]
202202
container:
203203
image: ${{ matrix.os }}
204204
defaults:
@@ -207,8 +207,16 @@ jobs:
207207
steps:
208208
- name: install git
209209
run: |
210-
microdnf update -y
211-
microdnf install git -y
210+
if command -v microdnf &>/dev/null; then
211+
PM=microdnf
212+
elif command -v dnf &>/dev/null; then
213+
PM=dnf
214+
else
215+
PM=yum
216+
fi
217+
echo "PM=$PM" >> $GITHUB_ENV
218+
$PM update -y
219+
$PM install git -y
212220
213221
- name: Checkout Repo
214222
uses: actions/checkout@v5
@@ -217,11 +225,11 @@ jobs:
217225
run: ./scripts/rpm/setup_${{ matrix.version }}.x
218226

219227
- name: Audit Repository
220-
run: microdnf repolist
228+
run: ${{ env.PM }} repolist
221229

222230
- name: Install Nodejs
223231
run: |
224-
microdnf install nodejs -y
232+
${{ env.PM }} install nodejs -y
225233
226234
- name: Validate Node Version
227235
run: |
@@ -271,8 +279,8 @@ jobs:
271279
- name: Install NSolid
272280
if: matrix.version != 25 && matrix.version != 26
273281
run: |
274-
microdnf remove nodejs -y
275-
microdnf install nsolid -y
282+
${{ env.PM }} remove nodejs -y
283+
${{ env.PM }} install nsolid -y
276284
277285
- name: Validate NSolid Version
278286
if: matrix.version != 25 && matrix.version != 26

scripts/rpm/script_generator/base_script.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ command_exists() {
3232
}
3333

3434
# Check if we are on an RPM-based system
35-
if ! [ -f /etc/redhat-release ] && ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null; then
35+
if ! [ -f /etc/redhat-release ] \
36+
&& ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null \
37+
&& ! grep -qi "TencentOS" /etc/system-release 2>/dev/null \
38+
&& ! grep -qi "OpenCloudOS" /etc/system-release 2>/dev/null; then
3639
handle_error 1 "This script is intended for RPM-based systems. Please run it on an RPM-based system."
3740
fi
3841

scripts/rpm/setup_16.x

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,11 @@ print_bold \
6666
Use the installation script that corresponds to the version of Node.js you
6767
wish to install. e.g.
6868
69-
* ${red}https://rpm.nodesource.com/setup_16.x Node.js 16 \"Gallium\" ${bold}(deprecated)${normal}
70-
* ${green}https://rpm.nodesource.com/setup_18.x Node.js 18 \"Hydrogen\" (Maintenance)${normal}
71-
* ${red}https://rpm.nodesource.com/setup_19.x Node.js 19 \"Nineteen\" ${bold}(deprecated)${normal}
72-
* ${bold}${green}https://rpm.nodesource.com/setup_20.x Node.js 20 LTS \"Iron\" (recommended)${normal}
73-
* ${green}https://rpm.nodesource.com/setup_21.x Node.js 21 \"Iron\" (current)${normal}
69+
* ${red}https://rpm.nodesource.com/setup_16.x - Node.js 16 \"Gallium\" ${bold}(deprecated)${normal}
70+
* ${green}https://rpm.nodesource.com/setup_18.x - Node.js 18 \"Hydrogen\" (Maintenance)${normal}
71+
* ${red}https://rpm.nodesource.com/setup_19.x - Node.js 19 \"Nineteen\" ${bold}(deprecated)${normal}
72+
* ${bold}${green}https://rpm.nodesource.com/setup_20.x - Node.js 20 LTS \"Iron\" (recommended)${normal}
73+
* ${green}https://rpm.nodesource.com/setup_21.x - Node.js 21 \"Iron\" (current)${normal}
7474
7575
7676
@@ -104,7 +104,10 @@ command_exists() {
104104
}
105105

106106
# Check if we are on an RPM-based system
107-
if ! [ -f /etc/redhat-release ] && ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null; then
107+
if ! [ -f /etc/redhat-release ] \
108+
&& ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null \
109+
&& ! grep -qi "TencentOS" /etc/system-release 2>/dev/null \
110+
&& ! grep -qi "OpenCloudOS" /etc/system-release 2>/dev/null; then
108111
handle_error 1 "This script is intended for RPM-based systems. Please run it on an RPM-based system."
109112
fi
110113
node_deprecation_warning

scripts/rpm/setup_18.x

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,10 @@ command_exists() {
5858
}
5959

6060
# Check if we are on an RPM-based system
61-
if ! [ -f /etc/redhat-release ] && ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null; then
61+
if ! [ -f /etc/redhat-release ] \
62+
&& ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null \
63+
&& ! grep -qi "TencentOS" /etc/system-release 2>/dev/null \
64+
&& ! grep -qi "OpenCloudOS" /etc/system-release 2>/dev/null; then
6265
handle_error 1 "This script is intended for RPM-based systems. Please run it on an RPM-based system."
6366
fi
6467

scripts/rpm/setup_20.x

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ command_exists() {
3232
}
3333

3434
# Check if we are on an RPM-based system
35-
if ! [ -f /etc/redhat-release ] && ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null; then
35+
if ! [ -f /etc/redhat-release ] \
36+
&& ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null \
37+
&& ! grep -qi "TencentOS" /etc/system-release 2>/dev/null \
38+
&& ! grep -qi "OpenCloudOS" /etc/system-release 2>/dev/null; then
3639
handle_error 1 "This script is intended for RPM-based systems. Please run it on an RPM-based system."
3740
fi
3841

scripts/rpm/setup_21.x

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ command_exists() {
3232
}
3333

3434
# Check if we are on an RPM-based system
35-
if ! [ -f /etc/redhat-release ] && ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null; then
35+
if ! [ -f /etc/redhat-release ] \
36+
&& ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null \
37+
&& ! grep -qi "TencentOS" /etc/system-release 2>/dev/null \
38+
&& ! grep -qi "OpenCloudOS" /etc/system-release 2>/dev/null; then
3639
handle_error 1 "This script is intended for RPM-based systems. Please run it on an RPM-based system."
3740
fi
3841

scripts/rpm/setup_22.x

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ command_exists() {
3232
}
3333

3434
# Check if we are on an RPM-based system
35-
if ! [ -f /etc/redhat-release ] && ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null; then
35+
if ! [ -f /etc/redhat-release ] \
36+
&& ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null \
37+
&& ! grep -qi "TencentOS" /etc/system-release 2>/dev/null \
38+
&& ! grep -qi "OpenCloudOS" /etc/system-release 2>/dev/null; then
3639
handle_error 1 "This script is intended for RPM-based systems. Please run it on an RPM-based system."
3740
fi
3841

scripts/rpm/setup_23.x

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ command_exists() {
3232
}
3333

3434
# Check if we are on an RPM-based system
35-
if ! [ -f /etc/redhat-release ] && ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null; then
35+
if ! [ -f /etc/redhat-release ] \
36+
&& ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null \
37+
&& ! grep -qi "TencentOS" /etc/system-release 2>/dev/null \
38+
&& ! grep -qi "OpenCloudOS" /etc/system-release 2>/dev/null; then
3639
handle_error 1 "This script is intended for RPM-based systems. Please run it on an RPM-based system."
3740
fi
3841

scripts/rpm/setup_24.x

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ command_exists() {
3232
}
3333

3434
# Check if we are on an RPM-based system
35-
if ! [ -f /etc/redhat-release ] && ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null; then
35+
if ! [ -f /etc/redhat-release ] \
36+
&& ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null \
37+
&& ! grep -qi "TencentOS" /etc/system-release 2>/dev/null \
38+
&& ! grep -qi "OpenCloudOS" /etc/system-release 2>/dev/null; then
3639
handle_error 1 "This script is intended for RPM-based systems. Please run it on an RPM-based system."
3740
fi
3841

scripts/rpm/setup_25.x

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ command_exists() {
3232
}
3333

3434
# Check if we are on an RPM-based system
35-
if ! [ -f /etc/redhat-release ] && ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null; then
35+
if ! [ -f /etc/redhat-release ] \
36+
&& ! grep -q "Amazon Linux" /etc/system-release 2>/dev/null \
37+
&& ! grep -qi "TencentOS" /etc/system-release 2>/dev/null \
38+
&& ! grep -qi "OpenCloudOS" /etc/system-release 2>/dev/null; then
3639
handle_error 1 "This script is intended for RPM-based systems. Please run it on an RPM-based system."
3740
fi
3841

0 commit comments

Comments
 (0)