[STYLE] Improved input checking durring bootstrap (- WIP #70 -) #239
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- master | |
- stable | |
tags: | |
- v* | |
pull_request: | |
types: | |
- opened | |
- edited | |
- reopened | |
- synchronize | |
- ready_for_review | |
# Declare default permissions as read only. | |
permissions: read-all | |
jobs: | |
BUILD: | |
if: github.repository == 'reactive-firewall/multicast' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
env: | |
LANG: "en_US.UTF-8" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Pre-Clean | |
id: clean | |
run: make -j1 -f Makefile purge 2>/dev/null || true ; | |
- name: Test Build | |
id: build | |
run: make -j1 -f Makefile build ; | |
- name: Post-Clean | |
id: post | |
run: make -j1 -f Makefile purge || true ; | |
BOOTSTRAP: | |
if: ${{ !cancelled() }} | |
needs: BUILD | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
timeout-minutes: 5 | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12"] | |
lang-var: ["de.utf-8", "jp.utf-8"] | |
experimental: [true] | |
include: | |
- python-version: 3.7 | |
lang-var: "en_US.utf-8" | |
experimental: false | |
- python-version: 3.8 | |
lang-var: "en_US.utf-8" | |
experimental: false | |
- python-version: 3.9 | |
lang-var: "de.utf-8" | |
experimental: false | |
- python-version: 3.9 | |
lang-var: "jp.utf-8" | |
experimental: false | |
- python-version: 3.9 | |
lang-var: "en_US.utf-8" | |
experimental: false | |
- python-version: "3.10" | |
lang-var: "en_US.utf-8" | |
experimental: false | |
- python-version: "3.11" | |
lang-var: "en_US.utf-8" | |
experimental: false | |
- python-version: "3.12" | |
lang-var: "en_US.utf-8" | |
experimental: false | |
env: | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
LANG: ${{ matrix.lang-var }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Setup dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools build wheel | |
pip install -r ./requirements.txt | |
- name: Pre-build | |
id: bootstrap | |
run: | | |
make -j1 -f Makefile clean || true ; | |
make -j1 -f Makefile build ; | |
shell: bash | |
- name: Summerize Building | |
id: sumerize-py-build | |
run: | | |
echo "- Building works on python version ${{ matrix.python-version }}" >> $GITHUB_STEP_SUMMARY | |
if: ${{ success() }} | |
shell: bash | |
- name: Run Tests | |
id: test-install | |
run: make -j1 -f Makefile user-install ; | |
shell: bash | |
- name: Summerize Install | |
id: sumerize-user-install | |
run: | | |
echo "- User Installing works on python version ${{ matrix.python-version }}" >> $GITHUB_STEP_SUMMARY | |
if: ${{ success() }} | |
shell: bash | |
- name: Test Info | |
id: test-info | |
run: python -m setup --name --version --license || true ; | |
- name: Post-Clean | |
id: post | |
run: | | |
make -j1 -f Makefile purge || true ; | |
make -j1 -f Makefile clean || true ; | |
if: ${{ always() }} | |
shell: bash | |
MATS: | |
if: ${{ !cancelled() }} | |
needs: BUILD | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12"] | |
env: | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
LANG: "en_US.utf-8" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies for ${{ matrix.python-version }} | |
run: | | |
pip install -r ./requirements.txt ; | |
pip install coverage || true ; | |
- name: Pre-Clean | |
id: clean | |
run: make -j1 -f Makefile clean || true ; | |
- name: Run Tests for python ${{ matrix.python-version }} | |
id: tests | |
run: make -j1 -f Makefile test ; | |
- name: Summerize MATs for python ${{ matrix.python-version }} | |
id: sumerize-mats | |
run: | | |
echo "- MATS works on python version ${{ matrix.python-version }}" >> $GITHUB_STEP_SUMMARY | |
if: ${{ success() }} | |
shell: bash | |
- name: Post-Clean | |
id: post | |
run: make -j1 -f Makefile clean || true ; | |
if: ${{ always() }} | |
COVERAGE-MATS: | |
if: ${{ success() }} | |
needs: [BUILD, MATS] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
python-version: ["3.11", "3.12"] | |
env: | |
OS: ${{ matrix.os }} | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
LANG: "en_US.utf-8" | |
COVERAGE_RCFILE: ./.coveragerc | |
COV_CORE_SOURCE: ./ | |
COV_CORE_CONFIG: ./.coveragerc | |
COV_CORE_DATAFILE: ./coverage.xml | |
CODECLIMATE_REPO_TOKEN: ${{ secrets.CODECLIMATE_TOKEN }} | |
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }} | |
run: | | |
pip install --upgrade --upgrade-strategy eager pip setuptools wheel ; | |
pip install --upgrade --upgrade-strategy eager -r ./requirements.txt ; | |
pip install --upgrade --upgrade-strategy eager pytest ; | |
pip install --upgrade --upgrade-strategy eager pytest-cov ; | |
pip install --upgrade --upgrade-strategy eager coverage ; | |
- name: Install code-climate tools for ${{ matrix.python-version }} | |
if: ${{ runner.os }} == "Linux" | |
shell: bash | |
run: | | |
if [ $OS == ubuntu-latest ] ; then curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter || true ; fi ; | |
if [ $OS == ubuntu-latest ] ; then chmod +x ./cc-test-reporter 2>/dev/null || true ; fi | |
if [ $OS == ubuntu-latest ] ; then ./cc-test-reporter before-build || true ; fi | |
- name: Install deepsource tools for ${{ matrix.python-version }} | |
if: ${{ runner.os }} == "Linux" | |
shell: bash | |
run: | | |
if [ $OS == ubuntu-latest ] ; then (curl https://deepsource.io/cli | sh) || true ; else echo "SKIP deepsource" ; fi ; | |
- name: Pre-Clean | |
id: clean | |
run: make -j1 -f Makefile clean || true ; | |
- name: Generate Coverage for py3.9 on ${{ matrix.os }} | |
if: ${{ runner.python-version }} == "3.9" | |
run: make -f Makefile test ; | |
- name: Generate Coverage for py${{ matrix.python-version }} on ${{ matrix.os }} | |
if: ${{ runner.python-version }} != "3.9" | |
run: make -f Makefile test-pytest ; | |
- name: Upload Python ${{ matrix.python-version }} coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./coverage.xml | |
directory: . | |
flags: multicast,${{ matrix.os }},${{ matrix.python-version }} | |
name: multicast-github-${{ matrix.os }}-${{ matrix.python-version }} | |
verbose: true | |
fail_ci_if_error: false | |
- name: Upload Python ${{ matrix.python-version }} Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Test-Report-${{ matrix.os }}-${{ matrix.python-version }} | |
path: ./test-reports/ | |
if-no-files-found: ignore | |
- name: code-climate for ${{ matrix.python-version }} | |
if: ${{ runner.os }} == "Linux" | |
shell: bash | |
run: | | |
if [ $OS == ubuntu-latest ] ; then ./cc-test-reporter after-build --exit-code 0 || true ; else echo "SKIP code climate" ; fi ; | |
- name: deepsource for ${{ matrix.python-version }} | |
if: ${{ runner.os }} == "Linux" | |
shell: bash | |
run: | | |
if [ $OS == ubuntu-latest ] ; then ./bin/deepsource report --analyzer test-coverage --key python --value-file ./coverage.xml 2>/dev/null || true ; else echo "SKIP deepsource" ; fi ; | |
- name: Post-Clean | |
id: post | |
run: make -j1 -f Makefile clean || true ; | |
if: ${{ always() }} | |
COVERAGE: | |
if: ${{ success() }} | |
needs: [BUILD, MATS, COVERAGE-MATS] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-13, windows-latest] | |
python-version: [3.7, 3.8, 3.9, "3.10"] | |
env: | |
OS: ${{ matrix.os }} | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
LANG: "en_US.utf-8" | |
COVERAGE_RCFILE: ./.coveragerc | |
COV_CORE_SOURCE: ./ | |
COV_CORE_CONFIG: ./.coveragerc | |
COV_CORE_DATAFILE: ./coverage.xml | |
CODECLIMATE_REPO_TOKEN: ${{ secrets.CODECLIMATE_TOKEN }} | |
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }} | |
run: | | |
pip install --upgrade --upgrade-strategy eager pip setuptools wheel ; | |
pip install --upgrade --upgrade-strategy eager -r ./requirements.txt ; | |
pip install --upgrade --upgrade-strategy eager pytest ; | |
pip install --upgrade --upgrade-strategy eager pytest-cov ; | |
pip install --upgrade --upgrade-strategy eager coverage ; | |
- name: Install code-climate tools for ${{ matrix.python-version }} | |
if: ${{ runner.os }} == "Linux" | |
shell: bash | |
run: | | |
if [ $OS == ubuntu-latest ] ; then curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter || true ; fi ; | |
if [ $OS == ubuntu-latest ] ; then chmod +x ./cc-test-reporter 2>/dev/null || true ; fi | |
if [ $OS == ubuntu-latest ] ; then ./cc-test-reporter before-build || true ; fi | |
- name: Install deepsource tools for ${{ matrix.python-version }} | |
if: ${{ runner.os }} == "Linux" | |
shell: bash | |
run: | | |
if [ $OS == ubuntu-latest ] ; then (curl https://deepsource.io/cli | sh) || true ; else echo "SKIP deepsource" ; fi ; | |
- name: Pre-Clean | |
id: clean | |
run: make -j1 -f Makefile clean || true ; | |
- name: Generate Coverage for py3.9 on ${{ matrix.os }} | |
if: ${{ runner.python-version }} == "3.9" | |
run: make -f Makefile test ; | |
- name: Generate Coverage for py${{ matrix.python-version }} on ${{ matrix.os }} | |
if: ${{ runner.python-version }} != "3.9" | |
run: make -f Makefile test-pytest ; | |
- name: Upload Python ${{ matrix.python-version }} coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./coverage.xml | |
directory: . | |
flags: multicast,${{ matrix.os }},${{ matrix.python-version }} | |
name: multicast-github-${{ matrix.os }}-${{ matrix.python-version }} | |
verbose: true | |
fail_ci_if_error: false | |
- name: Upload Python ${{ matrix.python-version }} Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Test-Report-${{ matrix.os }}-${{ matrix.python-version }} | |
path: ./test-reports/ | |
if-no-files-found: ignore | |
- name: code-climate for ${{ matrix.python-version }} | |
if: ${{ runner.os }} == "Linux" | |
shell: bash | |
run: | | |
if [ $OS == ubuntu-latest ] ; then ./cc-test-reporter after-build --exit-code 0 || true ; else echo "SKIP code climate" ; fi ; | |
- name: deepsource for ${{ matrix.python-version }} | |
if: ${{ runner.os }} == "Linux" | |
shell: bash | |
run: | | |
if [ $OS == ubuntu-latest ] ; then ./bin/deepsource report --analyzer test-coverage --key python --value-file ./coverage.xml 2>/dev/null || true ; else echo "SKIP deepsource" ; fi ; | |
- name: Post-Clean | |
id: post | |
run: make -j1 -f Makefile clean || true ; | |
if: ${{ always() }} | |
STYLE: | |
if: ${{ success() }} | |
needs: [BUILD, MATS] | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
env: | |
PYTHON_VERSION: '3.10' | |
LANG: "en_US.utf-8" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies for python Linters | |
run: | | |
pip install --upgrade pip setuptools build wheel | |
pip install -r ./requirements.txt ; | |
pip install flake8 ; | |
pip install pyflakes ; | |
pip install pep8 ; | |
- name: Pre-Clean | |
id: clean | |
run: make -j1 -f Makefile clean || true ; | |
- name: Testing Style | |
id: style | |
run: make -j1 -f Makefile test-style ; | |
shell: bash | |
- name: Post-Clean | |
id: post | |
run: make -j1 -f Makefile clean || true ; | |
if: ${{ always() }} | |
INTEGRATION: | |
if: ${{ success() }} | |
needs: [MATS, COVERAGE] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
python-version: ["3.10", "3.11", "3.12"] | |
env: | |
OS: ${{ matrix.os }} | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
LANG: "en_US.utf-8" | |
LC_CTYPE: "en_US.utf-8" | |
COVERAGE_RCFILE: ./.coveragerc | |
COV_CORE_SOURCE: ./ | |
COV_CORE_CONFIG: ./.coveragerc | |
COV_CORE_DATAFILE: .coverage | |
CODECLIMATE_REPO_TOKEN: ${{ secrets.CODECLIMATE_TOKEN }} | |
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }} | |
run: | | |
pip install --upgrade pip setuptools wheel | |
pip install -r ./requirements.txt ; | |
pip install coverage ; | |
pip install pytest ; | |
pip install pytest-cov ; | |
- name: Install code-climate tools for ${{ matrix.python-version }} | |
if: ${{ runner.os }} != "Linux" | |
run: | | |
if [ $OS == macos-latest ] ; then curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-darwin-amd64 > ./cc-test-reporter || true ; fi ; | |
if [ $OS == macos-latest ] ; then chmod +x ./cc-test-reporter 2>/dev/null || true ; fi | |
if [ $OS == macos-latest ] ; then ./cc-test-reporter before-build || true ; fi | |
shell: bash | |
- name: Pre-Clean | |
id: clean-prep | |
run: make -j1 -f Makefile clean ; | |
- name: Pre-build for Python ${{ matrix.python-version }} on ${{ matrix.os }} | |
run: make -j1 -f Makefile build ; | |
if: ${{ success() }} | |
- name: Pre-install for Python ${{ matrix.python-version }} on ${{ matrix.os }} | |
run: make -j1 -f Makefile user-install || true ; | |
if: ${{ success() }} | |
- name: Re-Generate Coverage for py${{ matrix.python-version }} on ${{ matrix.os }} | |
run: | | |
make -j1 -f Makefile test-pytest ; | |
cp -vf ./coverage.xml ./test-reports/coverage.xml || true ; | |
shell: bash | |
- name: Generate Extra Coverage for py${{ matrix.python-version }} on ${{ matrix.os }} | |
run: | | |
hash -p ./.github/tool_shlock_helper.sh shlock ; | |
./tests/check_integration_coverage || echo "::warning file=tests/check_integration_coverage,line=1,endLine=1,title=SKIPPED::SKIP Integration Tests." ; | |
shell: bash | |
- name: Upload Python ${{ matrix.python-version }} integration coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./test-reports/coverage_supplement.xml | |
directory: . | |
flags: multicast,${{ matrix.os }},${{ matrix.python-version }} | |
name: multicast-github-${{ matrix.os }}-${{ matrix.python-version }} | |
verbose: true | |
fail_ci_if_error: false | |
- name: Upload Extra Python ${{ matrix.python-version }} Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Integration-Test-Report-${{ matrix.os }}-${{ matrix.python-version }} | |
path: ./test-reports/ | |
if-no-files-found: ignore | |
- name: code-climate for ${{ matrix.python-version }} | |
if: ${{ runner.os }} != "Linux" | |
run: | | |
if [ $OS == macos-latest ] ; then ./cc-test-reporter after-build --exit-code 0 || true ; else echo "::warning file=.github/workflows/Tests.yml,line=457,endLine=457,title=SKIPPED::SKIP Code-Climate" ; fi ; | |
- name: Upload Python ${{ matrix.python-version }} integration test results to Codecov | |
if: ${{ !cancelled() }} | |
uses: codecov/test-results-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./test-reports/junit.xml | |
directory: . | |
flags: multicast,${{ matrix.os }},${{ matrix.python-version }} | |
name: multicast-github-${{ matrix.os }}-${{ matrix.python-version }}-test-results | |
verbose: true | |
fail_ci_if_error: false | |
- name: Post-purge | |
id: post-uninstall | |
run: make -j1 -f Makefile purge || true ; | |
if: ${{ !cancelled() }} | |
- name: Post-Clean | |
id: post-end | |
run: make -j1 -f Makefile clean || true ; | |
if: ${{ !cancelled() }} | |
EXTRAS: | |
if: ${{ success() }} | |
needs: [BOOTSTRAP] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
python-version: ["3.10", "3.11", "3.12"] | |
env: | |
OS: ${{ matrix.os }} | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
LANG: "en_US.utf-8" | |
LC_CTYPE: "en_US.utf-8" | |
COVERAGE_RCFILE: ./.coveragerc | |
COV_CORE_SOURCE: ./ | |
COV_CORE_CONFIG: ./.coveragerc | |
COV_CORE_DATAFILE: .coverage | |
CODECLIMATE_REPO_TOKEN: ${{ secrets.CODECLIMATE_TOKEN }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }} | |
run: | | |
pip install --upgrade pip setuptools build wheel | |
pip install -r ./requirements.txt ; | |
pip install coverage ; | |
pip install pytest ; | |
pip install pytest-cov ; | |
- name: Pre-Clean | |
id: clean-prep | |
run: make -j1 -f Makefile clean ; | |
- name: Pre-build for Python ${{ matrix.python-version }} on ${{ matrix.os }} | |
run: make -j1 -f Makefile build ; | |
if: ${{ success() }} | |
- name: Pre-install for Python ${{ matrix.python-version }} on ${{ matrix.os }} | |
run: make -j1 -f Makefile user-install || true ; | |
if: ${{ success() }} | |
- name: Generate Extra Legacy Setup Coverage for py${{ matrix.python-version }} on ${{ matrix.os }} | |
run: | | |
hash -p ./.github/tool_shlock_helper.sh shlock ; | |
./tests/check_legacy_setup_coverage || echo "::warning file=tests/check_legacy_setup_coverage,line=1,endLine=1,title=SKIPPED::SKIP Legacy Setup.py Tests." ; | |
shell: bash | |
- name: Upload Python ${{ matrix.python-version }} Legacy Setup.py coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./test-reports/coverage_setup.xml | |
directory: . | |
flags: multicast,${{ matrix.os }},${{ matrix.python-version }} | |
name: multicast-github-${{ matrix.os }}-${{ matrix.python-version }} | |
verbose: true | |
fail_ci_if_error: false | |
- name: Upload Extra Python ${{ matrix.python-version }} Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Legacy_Setup-Test-Report-${{ matrix.os }}-${{ matrix.python-version }} | |
path: ./test-reports/ | |
if-no-files-found: ignore | |
- name: Post-purge | |
id: post-uninstall | |
run: make -j1 -f Makefile purge || true ; | |
if: ${{ !cancelled() }} | |
- name: Post-Clean | |
id: post-end | |
run: make -j1 -f Makefile clean || true ; | |
if: ${{ !cancelled() }} | |
TOX: | |
if: ${{ success() }} | |
needs: [MATS, COVERAGE-MATS, STYLE, COVERAGE, INTEGRATION] | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
env: | |
PYTHON_VERSION: '3.12' | |
LANG: 'en_US.utf-8' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Install dependencies for Tox | |
run: | | |
pip install --upgrade pip setuptools build wheel tox | |
pip install -r ./requirements.txt ; | |
pip install coverage ; | |
pip install codecov ; | |
pip install flake8 ; | |
pip install pyflakes ; | |
pip install pep8 ; | |
pip install tox ; | |
pip install six ; | |
- name: Pre-Clean | |
id: clean | |
run: make -j1 -f Makefile clean || true ; | |
- name: Testing Tox | |
run: make -j1 -f Makefile test-tox || true ; | |
- name: Post-Clean | |
id: post | |
run: make -j1 -f Makefile clean || true ; | |
if: ${{ !cancelled() }} |