name: Test Supported Distributions on: pull_request: types: [opened, synchronize, reopened, ready_for_review] permissions: contents: read jobs: smoke-tests: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2 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' -o -name '*.bats'); 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 if: github.event_name == 'pull_request' uses: redhat-plumbers-in-action/differential-shellcheck@d965e66ec0b3b2f821f75c8eff9b12442d9a7d1e #v5.5.6 with: severity: warning display-engine: sarif-fmt - name: Spell-Checking uses: codespell-project/actions-codespell@8f01853be192eb0f849a5c7d721450e7a467c579 #v2.2 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 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, alpine_3_23, ] steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2 - name: Run BATS test suite for ${{ matrix.distro }} run: DISTRO=${{ matrix.distro }} bash test/run.sh