@@ -2,10 +2,10 @@ name: Pipeline
22
33on :
44 push :
5- branches : [ main, gh-pages ]
6- tags : [ 'v*' ]
5+ branches : [main, gh-pages]
6+ tags : ["v*" ]
77 pull_request :
8- branches : [ main ]
8+ branches : [main]
99 workflow_dispatch :
1010
1111concurrency :
3636 - name : Lint Shell Scripts
3737 uses : ludeeus/action-shellcheck@2.0.0
3838 with :
39- scandir : ' ./scripts'
39+ scandir : " ./scripts"
4040
4141 - name : Lint Documentation
4242 uses : DavidAnson/markdownlint-cli2-action@v23
@@ -70,11 +70,11 @@ jobs:
7070 - name : Run Ruff Lint
7171 uses : astral-sh/ruff-action@v3
7272 with :
73- args : ' check scripts/ tests/'
73+ args : " check scripts/ tests/"
7474 - name : Run Ruff Format
7575 uses : astral-sh/ruff-action@v3
7676 with :
77- args : ' format --check scripts/ tests/'
77+ args : " format --check scripts/ tests/"
7878 - name : Run Mypy Type Check
7979 run : |
8080 pipx install mypy
@@ -131,31 +131,31 @@ jobs:
131131 fail-fast : false
132132 matrix :
133133 target :
134- - name : ' Fedora'
135- image : ' fedora:latest'
136- pkg_cmd : ' dnf install -y'
137- deps : ' bats python3-pytest python3-pytest-cov python3-pytest-xdist make hostname util-linux python3-yaml'
138- - name : ' AlmaLinux'
139- image : ' almalinux:9'
134+ - name : " Fedora"
135+ image : " fedora:latest"
136+ pkg_cmd : " dnf install -y"
137+ deps : " bats python3-pytest python3-pytest-cov python3-pytest-xdist make hostname util-linux python3-yaml"
138+ - name : " AlmaLinux"
139+ image : " almalinux:9"
140140 # Enable CRB for epel, then install epel-release for bats, then install packages
141- pkg_cmd : ' dnf install -y dnf-plugins-core && dnf config-manager --set-enabled crb && dnf install -y epel-release && dnf install -y'
142- deps : ' bats python3-pytest python3-pytest-cov python3-pytest-xdist make hostname util-linux python3-yaml'
143- - name : ' Debian'
144- image : ' debian:latest'
145- pkg_cmd : ' apt-get update && apt-get install -y'
146- deps : ' bats python3-pytest python3-pytest-cov python3-pytest-xdist make hostname bsdutils python3-yaml'
147- - name : ' Ubuntu'
148- image : ' ubuntu:latest'
149- pkg_cmd : ' apt-get update && apt-get install -y'
150- deps : ' bats python3-pytest python3-pytest-cov python3-pytest-xdist make hostname bsdutils python3-yaml'
151- - name : ' Arch Linux'
152- image : ' archlinux:latest'
153- pkg_cmd : ' pacman -Syu --noconfirm'
154- deps : ' bats python-pytest python-pytest-cov python-pytest-xdist make inetutils util-linux python-yaml'
155- - name : ' OpenSUSE'
156- image : ' opensuse/tumbleweed:latest'
157- pkg_cmd : ' zypper --non-interactive install'
158- deps : ' bats python3-pytest python3-pytest-cov python3-pytest-xdist make hostname util-linux python3-PyYAML python3-dbus-python'
141+ pkg_cmd : " dnf install -y dnf-plugins-core && dnf config-manager --set-enabled crb && dnf install -y epel-release && dnf install -y"
142+ deps : " bats python3-pytest python3-pytest-cov python3-pytest-xdist make hostname util-linux python3-yaml"
143+ - name : " Debian"
144+ image : " debian:latest"
145+ pkg_cmd : " apt-get update && apt-get install -y"
146+ deps : " bats python3-pytest python3-pytest-cov python3-pytest-xdist make hostname bsdutils python3-yaml"
147+ - name : " Ubuntu"
148+ image : " ubuntu:latest"
149+ pkg_cmd : " apt-get update && apt-get install -y"
150+ deps : " bats python3-pytest python3-pytest-cov python3-pytest-xdist make hostname bsdutils python3-yaml"
151+ - name : " Arch Linux"
152+ image : " archlinux:latest"
153+ pkg_cmd : " pacman -Syu --noconfirm"
154+ deps : " bats python-pytest python-pytest-cov python-pytest-xdist make inetutils util-linux python-yaml"
155+ - name : " OpenSUSE"
156+ image : " opensuse/tumbleweed:latest"
157+ pkg_cmd : " zypper --non-interactive install"
158+ deps : " bats python3-pytest python3-pytest-cov python3-pytest-xdist make hostname util-linux python3-PyYAML python3-dbus-python"
159159 container :
160160 image : ${{ matrix.target.image }}
161161 steps :
@@ -244,8 +244,17 @@ jobs:
244244 strategy :
245245 fail-fast : false
246246 matrix :
247- # Added almalinux:9 and opensuse/tumbleweed for comprehensive Linux representation
248- os : [fedora:40, fedora:41, almalinux:9, ubuntu:latest, debian:latest, opensuse/tumbleweed:latest]
247+ # Tested on active stable Fedora releases (43, 44), AlmaLinux 9 & 10, Ubuntu, Debian, and openSUSE Tumbleweed
248+ os :
249+ [
250+ fedora:43,
251+ fedora:44,
252+ almalinux:9,
253+ almalinux:10,
254+ ubuntu:latest,
255+ debian:latest,
256+ opensuse/tumbleweed:latest,
257+ ]
249258 container :
250259 image : ${{ matrix.os }}
251260 options : --privileged
@@ -260,21 +269,23 @@ jobs:
260269 elif command -v zypper >/dev/null 2>&1; then
261270 zypper --non-interactive --no-gpg-checks install curl unzip systemd util-linux shadow
262271 else
263- # For AlmaLinux, enable EPEL, CRB, and Oracle UEK (for snapper)
272+ # For AlmaLinux, enable EPEL, CRB, and Oracle UEK (for EL9 snapper)
264273 if grep -q "AlmaLinux" /etc/os-release; then
265274 dnf install -y epel-release dnf-plugins-core
266275 dnf config-manager --set-enabled crb || true
267- {
268- echo "[ol9_UEKR7]"
269- echo "name=Oracle Linux 9 UEK Release 7 (\$basearch)"
270- echo "baseurl=https://yum.oracle.com/repo/OracleLinux/OL9/UEKR7/\$basearch/"
271- echo "gpgkey=https://yum.oracle.com/RPM-GPG-KEY-oracle-ol9"
272- echo "gpgcheck=1"
273- echo "enabled=1"
274- } > /etc/yum.repos.d/oracle-linux-9.repo
276+ if grep -q 'VERSION_ID="9' /etc/os-release; then
277+ {
278+ echo "[ol9_UEKR7]"
279+ echo "name=Oracle Linux 9 UEK Release 7 (\$basearch)"
280+ echo "baseurl=https://yum.oracle.com/repo/OracleLinux/OL9/UEKR7/\$basearch/"
281+ echo "gpgkey=https://yum.oracle.com/RPM-GPG-KEY-oracle-ol9"
282+ echo "gpgcheck=1"
283+ echo "enabled=1"
284+ } > /etc/yum.repos.d/oracle-linux-9.repo
285+ fi
275286 dnf makecache
276287 # Pre-install dependencies to ensure they are available
277- dnf install -y --allowerasing snapper s-nail || dnf install -y --allowerasing snapper mailx
288+ dnf install -y --allowerasing snapper s-nail || dnf install -y --allowerasing snapper mailx || true
278289 fi
279290
280291 dnf install -y --allowerasing curl unzip systemd shadow-utils util-linux
0 commit comments