Add Dockerfile and corresponding tox file to add alpine linux 3.21 & 3.22 to the test suite Add apk as another package manager in the automated install tests Use short switches for su command as busybox's su does not accept long switches here Add Alpine test to github workflow Signed-off-by: Michael Ziminsky (Z) <mgziminsky@users.noreply.github.com>
98 lines
2.4 KiB
YAML
98 lines
2.4 KiB
YAML
name: Test Supported Distributions
|
|
|
|
on:
|
|
pull_request:
|
|
types: [opened, synchronize, reopened, ready_for_review]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
FORCE_COLOR: 1
|
|
PYTHONUNBUFFERED: 1
|
|
PYTHONUTF8: 1
|
|
|
|
jobs:
|
|
smoke-tests:
|
|
if: github.event.pull_request.draft == false
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v5.0.0
|
|
with:
|
|
fetch-depth: 0 # Differential ShellCheck requires full git history
|
|
|
|
- name: Check scripts in repository are executable
|
|
run: |
|
|
IFS=$'\n';
|
|
for f in $(find . -name '*.sh'); do if [[ ! -x $f ]]; then echo "$f is not executable" && FAIL=1; fi ;done
|
|
unset IFS;
|
|
# If FAIL is 1 then we fail.
|
|
[[ $FAIL == 1 ]] && exit 1 || echo "Scripts are executable!"
|
|
|
|
- name: Differential ShellCheck
|
|
uses: redhat-plumbers-in-action/differential-shellcheck@v5
|
|
with:
|
|
severity: warning
|
|
display-engine: sarif-fmt
|
|
|
|
|
|
- name: Spell-Checking
|
|
uses: codespell-project/actions-codespell@master
|
|
with:
|
|
ignore_words_file: .codespellignore
|
|
|
|
- name: Get editorconfig-checker
|
|
uses: editorconfig-checker/action-editorconfig-checker@main # tag v1.0.0 is really out of date
|
|
|
|
- name: Run editorconfig-checker
|
|
run: editorconfig-checker
|
|
|
|
- name: Check python code formatting with black
|
|
uses: psf/black@stable
|
|
with:
|
|
src: "./test"
|
|
options: "--check --diff --color"
|
|
|
|
distro-test:
|
|
if: github.event.pull_request.draft == false
|
|
runs-on: ubuntu-latest
|
|
needs: smoke-tests
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
distro:
|
|
[
|
|
debian_11,
|
|
debian_12,
|
|
ubuntu_20,
|
|
ubuntu_22,
|
|
ubuntu_24,
|
|
centos_9,
|
|
centos_10,
|
|
fedora_40,
|
|
fedora_41,
|
|
fedora_42,
|
|
alpine_3_21,
|
|
alpine_3_22,
|
|
]
|
|
env:
|
|
DISTRO: ${{matrix.distro}}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v5.0.0
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5.6.0
|
|
with:
|
|
python-version: "3.13"
|
|
|
|
- name: Install wheel
|
|
run: pip install wheel
|
|
|
|
- name: Install dependencies
|
|
run: pip install -r test/requirements.txt
|
|
|
|
- name: Test with tox
|
|
run: tox -c test/tox.${DISTRO}.ini
|