From 1022b2cebe73db426241c2f420d4ee9f6f3c1bed Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 02:24:37 +0200 Subject: Adding upstream version 4.1.11. Signed-off-by: Daniel Baumann --- .github/workflows/tox.yml | 110 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 .github/workflows/tox.yml (limited to '.github/workflows/tox.yml') diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml new file mode 100644 index 0000000..f56f266 --- /dev/null +++ b/.github/workflows/tox.yml @@ -0,0 +1,110 @@ +name: tox +on: + create: # is used for publishing to PyPI and TestPyPI + tags: # any tag regardless of its name, no branches + - "**" + push: # only publishes pushes to the main branch to TestPyPI + branches: # any integration branch but not tag + - "main" + pull_request: + schedule: + - cron: 1 0 * * * # Run daily at 0:01 UTC + workflow_call: + +jobs: + pre: + name: pre + runs-on: ubuntu-22.04 + outputs: + matrix: ${{ steps.generate_matrix.outputs.matrix }} + steps: + - name: Determine matrix + id: generate_matrix + uses: coactions/dynamic-matrix@v1 + with: + min_python: "3.9" + max_python: "3.12" + default_python: "3.10" + other_names: | + lint + docs + pkg + py39-ansible212 + py39-ansible213 + py39-ansible214 + py39-ansible215 + py310-ansible215 + py311-ansible215 + py312-ansible216 + py312-devel + smoke + platforms: linux,macos + macos: minmax + build: + name: ${{ matrix.name }} + runs-on: ${{ matrix.os || 'ubuntu-22.04' }} + needs: pre + strategy: + fail-fast: false + matrix: ${{ fromJson(needs.pre.outputs.matrix) }} + env: + FORCE_COLOR: 1 + + steps: + - name: Check out src from Git + uses: actions/checkout@v4 + with: + fetch-depth: 0 # needed by setuptools-scm + + - name: Set up Python ${{ matrix.python_version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python_version }} + + - name: Pre-commit cache + uses: actions/cache@v3 + with: + path: ~/.cache/pre-commit + key: ${{ matrix.name }}-pre-commit-${{ hashFiles('setup.cfg', 'tox.ini', 'pyproject.toml', '.pre-commit-config.yaml') }} + + - name: Pip cache + uses: actions/cache@v3 + with: + path: ~/.cache/pip + key: ${{ matrix.name }}-pip-${{ hashFiles('setup.cfg', 'tox.ini', 'pyproject.toml', '.pre-commit-config.yaml') }} + + - name: Install tox + run: python3 -m pip install --upgrade 'tox>=4.0.3' + + - name: Initialize tox envs + run: python -m tox --notest --skip-missing-interpreters false -vv -e ${{ matrix.passed_name }} + + - name: Test with tox + run: python -m tox -e ${{ matrix.passed_name }} + + - name: Archive logs + uses: actions/upload-artifact@v3 + with: + name: logs.zip + path: .tox/**/log/ + + - name: Upload coverage data + if: ${{ startsWith(matrix.passed_name, 'py') }} + uses: codecov/codecov-action@v3 + with: + name: ${{ matrix.passed_name }} + fail_ci_if_error: false # see https://github.com/codecov/codecov-action/issues/598 + token: ${{ secrets.CODECOV_TOKEN }} + verbose: true # optional (default = false) + + check: # This job does nothing and is only used for the branch protection + if: always() + + needs: + - build + runs-on: ubuntu-22.04 + steps: + - name: Decide whether the needed jobs succeeded or failed + uses: re-actors/alls-green@release/v1 + with: + jobs: ${{ toJSON(needs) }} -- cgit v1.2.3