mirror of
https://github.com/pi-hole/pi-hole.git
synced 2026-02-14 23:18:38 +00:00
100 lines
2.7 KiB
YAML
100 lines
2.7 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #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@0d9e5b29625f871e6a4215380486d6f1a7cb6cdd #v5.5.5
|
|
with:
|
|
severity: warning
|
|
display-engine: sarif-fmt
|
|
|
|
|
|
- name: Spell-Checking
|
|
uses: codespell-project/actions-codespell@406322ec52dd7b488e48c1c4b82e2a8b3a1bf630 #v2.1
|
|
with:
|
|
ignore_words_file: .codespellignore
|
|
|
|
- name: Get editorconfig-checker
|
|
uses: editorconfig-checker/action-editorconfig-checker@4b6cd6190d435e7e084fb35e36a096e98506f7b9 #v2.1.0
|
|
|
|
- name: Run editorconfig-checker
|
|
run: editorconfig-checker
|
|
|
|
- name: Check python code formatting with black
|
|
uses: psf/black@af0ba72a73598c76189d6dd1b21d8532255d5942 #25.9.0
|
|
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,
|
|
debian_13,
|
|
ubuntu_20,
|
|
ubuntu_22,
|
|
ubuntu_24,
|
|
centos_9,
|
|
centos_10,
|
|
fedora_40,
|
|
fedora_41,
|
|
fedora_42,
|
|
fedora_43,
|
|
alpine_3_21,
|
|
alpine_3_22,
|
|
]
|
|
env:
|
|
DISTRO: ${{matrix.distro}}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c #v6.0.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
|