Skip to content

build(deps): bump super-linter/super-linter from 8.3.0 to 8.3.1 #1828

build(deps): bump super-linter/super-linter from 8.3.0 to 8.3.1

build(deps): bump super-linter/super-linter from 8.3.0 to 8.3.1 #1828

Workflow file for this run

# Based on https://fedoramagazine.org/github-actions-use-podman-to-run-fedora-linux/
name: CI
on:
pull_request:
jobs:
unit:
name: unit
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version:
- "3.11"
- "3.12"
rust-version:
# RHEL 9.4 has rustc 1.75
- "1.75"
os:
- ubuntu-latest
- macos-latest
steps:
- name: Get source
uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Set up Rust ${{ matrix.rust-version }}
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust-version }}
default: true
override: true
- name: Disable AppArmor restriction for unprivileged user namespaces
if: matrix.os == 'ubuntu-latest'
run: sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0
- name: Check unshare is working
if: matrix.os == 'ubuntu-latest'
run: unshare -rn echo "unshare works"
- name: Install dependencies
run: python -m pip install hatch 'click!=8.3.0'
- name: Run tests
run: hatch run test:test
- name: Upload coverage
uses: actions/upload-artifact@v6
with:
name: coverage-unit-py${{ matrix.python-version }}-rs${{ matrix.rust-version }}-${{ matrix.os }}
path: .coverage.*
include-hidden-files: true
if-no-files-found: ignore
retention-days: 1
e2e:
name: e2e
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version:
- "3.11"
- "3.12"
rust-version:
# RHEL 9.4 has rustc 1.75
- "1.75"
test-script:
- ci_bootstrap_suite
- ci_bootstrap_parallel_suite
- ci_build_suite
- ci_config_suite
- ci_specialized_suite
- ci_workflow_suite
os:
- ubuntu-latest
- macos-latest
exclude:
# macOS tests are slower and congested
# only run macOS tests on latest stable Python version
- os: macos-latest
python-version: "3.11"
steps:
- name: Get source
uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Set up Rust ${{ matrix.rust-version }}
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust-version }}
default: true
override: true
- name: Disable AppArmor restriction for unprivileged user namespaces
if: matrix.os == 'ubuntu-latest'
run: sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0
- name: Check unshare is working
if: matrix.os == 'ubuntu-latest'
run: unshare -rn echo "unshare works"
- name: Install dependencies
run: python -m pip install hatch 'click!=8.3.0'
- name: Run tests
run: HATCH_PYTHON=${{ matrix.python-version }} ./e2e/${{ matrix.test-script }}.sh
- name: Upload logs for debugging
if: ${{ failure() }}
uses: actions/upload-artifact@v6
with:
name: ${{ matrix.test-script }}-py${{ matrix.python-version }}-rs${{ matrix.rust-version }}-${{ matrix.os }}
path: e2e-output
- name: Upload coverage
uses: actions/upload-artifact@v6
with:
name: coverage-e2e-${{ matrix.test-script }}-py${{ matrix.python-version }}-rs${{ matrix.rust-version }}-${{ matrix.os }}
path: .coverage.*
include-hidden-files: true
if-no-files-found: ignore
retention-days: 1
coverage:
name: Coverage report
runs-on: ubuntu-latest
needs:
- unit
- e2e
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.12
cache: pip
cache-dependency-path: |
**/pyproject.toml
- name: Install dependencies
run: python -m pip install hatch 'click!=8.3.0'
- name: Download coverage data
uses: actions/download-artifact@v7
with:
pattern: coverage-*
merge-multiple: true
- name: Coverage report
run: |
hatch run test:coverage combine
hatch run test:coverage report
hatch run test:coverage report --format=markdown >> $GITHUB_STEP_SUMMARY
hatch run test:coverage report --fail-under=60
- name: Upload report
uses: actions/upload-artifact@v6
with:
path: htmlcov
name: htmlcov
retention-days: 7