diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml index e9ac8ada..6022574e 100644 --- a/.github/actionlint.yaml +++ b/.github/actionlint.yaml @@ -3,5 +3,6 @@ self-hosted-runner: labels: # Not self hosted but actionlint still does not have a # release out supporting it - - macos-13 - - macos-14 + - macos-15 + - ubuntu-24.04 + - windows-2025 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a9fcb578..69424c16 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ jobs: publish: name: Publish Release environment: release - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing steps: diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index fcc43701..d2901da2 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -18,7 +18,7 @@ concurrency: jobs: Pre-Commit: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup-actionlint @@ -42,7 +42,7 @@ jobs: pre-commit run --show-diff-on-failure --color=always --all-files Docs: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: Pre-Commit timeout-minutes: 10 @@ -74,7 +74,7 @@ jobs: PyLint: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: Pre-Commit timeout-minutes: 10 @@ -113,9 +113,11 @@ jobs: fail-fast: false matrix: pytest-version: - - "7.4.0" + - "7.4.4" + - "8.4.1" salt-version: - "3006" + - "3007" steps: - uses: actions/checkout@v4 @@ -126,7 +128,6 @@ jobs: run: | sudo -E apt-get update sudo -E apt-get install -y python3-setuptools python-is-python3 - sudo -E python3 -m pip install --upgrade pip sudo -E python3 -m pip install 'nox<2022.8.7' sudo mv /usr/bin/pip /usr/bin/pip2 sudo ln -sf /usr/bin/pip3 /usr/bin/pip @@ -149,29 +150,6 @@ jobs: run: | sudo -E nox --force-color -e tests --no-venv -- -vv --system-service tests/ - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - directory: artifacts/ - fail_ci_if_error: false - files: coverage-project.xml - flags: src,${{ runner.os }},salt-${{ matrix.salt-version }},system,pytest-${{ matrix.pytest-version }} - name: project-${{ runner.os }}-Salt-${{ matrix.salt-version }}-System-Pytest${{ matrix.pytest-version }} - verbose: true - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - directory: artifacts/ - env_vars: PYTHON,SALT,TESTSUITE,SOURCE - fail_ci_if_error: false - files: coverage-tests.xml - flags: tests,${{ runner.os }},salt-${{ matrix.salt-version }},system,pytest-${{ matrix.pytest-version }} - name: tests-${{ runner.os }}-Salt-${{ matrix.salt-version }}-System-Pytest${{ matrix.pytest-version }} - verbose: true - - name: Upload Logs if: always() uses: actions/upload-artifact@v4 @@ -181,7 +159,7 @@ jobs: Windows: - runs-on: windows-latest + runs-on: windows-2025 needs: Pre-Commit timeout-minutes: 60 @@ -193,14 +171,15 @@ jobs: python-version: - "3.10" salt-version: - - "3006.9" - - "3007.1" + - "3006.13" + - "3007.5" pytest-version: - - "7.4.0" - - "8.0.0" - - "8.1.1" - - "8.2.0" - - "8.3.3" + - "7.4.4" + - "8.0.2" + - "8.1.2" + - "8.2.2" + - "8.3.5" + - "8.4.1" steps: - uses: actions/checkout@v4 @@ -237,29 +216,6 @@ jobs: export PATH="/C/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64;$PATH" nox --force-color -e tests-${{ matrix.python-version }} -- -vv tests/ - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - directory: artifacts/ - fail_ci_if_error: false - files: coverage-project.xml - flags: src,${{ runner.os }},salt-${{ matrix.salt-version }},py${{ matrix.python-version }},pytest-${{ matrix.pytest-version }} - name: project-${{ runner.os }}-Salt-${{ matrix.salt-version }}-Py${{ matrix.python-version}}-Pytest${{ matrix.pytest-version }} - verbose: true - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - directory: artifacts/ - env_vars: PYTHON,SALT,TESTSUITE,SOURCE - fail_ci_if_error: false - files: coverage-tests.xml - flags: tests,${{ runner.os }},salt-${{ matrix.salt-version }},py${{ matrix.python-version }},pytest-${{ matrix.pytest-version }} - name: tests-${{ runner.os }}-Salt-${{ matrix.salt-version }}-Py${{ matrix.python-version}}-Pytest${{ matrix.pytest-version }} - verbose: true - - name: Upload Logs if: always() uses: actions/upload-artifact@v4 @@ -269,7 +225,7 @@ jobs: MacOS: - runs-on: ${{ github.event.repository.fork && 'macos-latest' || 'macos-13' }} + runs-on: ${{ github.event.repository.fork && 'macos-15' || 'macos-15' }} needs: Pre-Commit timeout-minutes: 90 @@ -281,13 +237,15 @@ jobs: python-version: - "3.10" salt-version: - - "3006.9" + - "3006.13" + - "3007.5" pytest-version: - - "7.4.0" - - "8.0.0" - - "8.1.1" - - "8.2.0" - - "8.3.3" + - "7.4.4" + - "8.0.2" + - "8.1.2" + - "8.2.2" + - "8.3.5" + - "8.4.1" steps: - uses: actions/checkout@v4 @@ -320,29 +278,6 @@ jobs: run: | nox --force-color -e tests-${{ matrix.python-version }} -- -vv tests/ - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - directory: artifacts/ - fail_ci_if_error: false - files: coverage-project.xml - flags: src,${{ runner.os }},salt-${{ matrix.salt-version }},py${{ matrix.python-version }},pytest-${{ matrix.pytest-version }} - name: project-${{ runner.os }}-Salt-${{ matrix.salt-version }}-Py${{ matrix.python-version}}-Pytest${{ matrix.pytest-version }} - verbose: true - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - directory: artifacts/ - env_vars: PYTHON,SALT,TESTSUITE,SOURCE - fail_ci_if_error: false - files: coverage-tests.xml - flags: tests,${{ runner.os }},salt-${{ matrix.salt-version }},py${{ matrix.python-version }},pytest-${{ matrix.pytest-version }} - name: tests-${{ runner.os }}-Salt-${{ matrix.salt-version }}-Py${{ matrix.python-version}}-Pytest${{ matrix.pytest-version }} - verbose: true - - name: Upload Logs if: always() uses: actions/upload-artifact@v4 @@ -352,7 +287,7 @@ jobs: Linux: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: Pre-Commit timeout-minutes: 25 @@ -364,14 +299,15 @@ jobs: python-version: - "3.10" salt-version: - - "3006.9" - - "3007.1" + - "3006.13" + - "3007.5" pytest-version: - - "7.4.0" - - "8.0.0" - - "8.1.1" - - "8.2.0" - - "8.3.3" + - "7.4.4" + - "8.0.2" + - "8.1.2" + - "8.2.2" + - "8.3.5" + - "8.4.1" steps: - uses: actions/checkout@v4 @@ -404,29 +340,6 @@ jobs: run: | nox --force-color -e tests-${{ matrix.python-version }} -- -vv --sys-stats tests/ - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - directory: artifacts/ - fail_ci_if_error: false - files: coverage-project.xml - flags: src,${{ runner.os }},salt-${{ matrix.salt-version }},py${{ matrix.python-version }},pytest-${{ matrix.pytest-version }} - name: project-${{ runner.os }}-Salt-${{ matrix.salt-version }}-Py${{ matrix.python-version}}-Pytest${{ matrix.pytest-version }} - verbose: true - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - directory: artifacts/ - env_vars: PYTHON,SALT,TESTSUITE,SOURCE - fail_ci_if_error: false - files: coverage-tests.xml - flags: tests,${{ runner.os }},salt-${{ matrix.salt-version }},py${{ matrix.python-version }},pytest-${{ matrix.pytest-version }} - name: tests-${{ runner.os }}-Salt-${{ matrix.salt-version }}-Py${{ matrix.python-version}}-Pytest${{ matrix.pytest-version }} - verbose: true - - name: Upload Logs if: always() uses: actions/upload-artifact@v4 @@ -436,7 +349,7 @@ jobs: Build: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 environment: release permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing @@ -478,7 +391,7 @@ jobs: # on a pull request instead of requiring all name: Set the ${{ github.workflow }} Pipeline Exit Status if: always() - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: - pre-commit - Docs diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2239b2a3..f0105e4d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ minimum_pre_commit_version: 1.15.2 repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v5.0.0 hooks: - id: check-merge-conflict # Check for files that contain merge conflict strings. - id: trailing-whitespace # Trims trailing whitespace. @@ -28,8 +28,8 @@ repos: language: system # <---- Local Hooks ------------------------------------------------------------------------------------------------ - - repo: https://github.com/s0undt3ch/python-tools-scripts - rev: "0.17.0" + - repo: https://github.com/saltstack/python-tools-scripts + rev: "0.20.5" hooks: - id: tools alias: actionlint diff --git a/noxfile.py b/noxfile.py index 3d9d4c60..c1b4fcb6 100644 --- a/noxfile.py +++ b/noxfile.py @@ -118,7 +118,7 @@ def session_run_always(session, *command, **kwargs): session._runner.global_config.install_only = old_install_only_value -@nox.session(python=("3", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11")) +@nox.session(python=("3", "3.10", "3.11")) def tests(session): """ Run tests.