Merge pull request #66417 from s0undt3ch/hotfix/merge-forward-into-3007.x

[3007.x] Merge 3006.x into 3007.x
This commit is contained in:
Pedro Algarvio 2024-04-24 19:46:47 +01:00 committed by GitHub
commit 8a78c2d272
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
108 changed files with 1218 additions and 1550 deletions

View file

@ -19,6 +19,7 @@ Remove this section if not relevant
### Commits signed with GPG?
Yes/No
Please review [Salt's Contributing Guide](https://docs.saltproject.io/en/master/topics/development/contributing.html) for best practices.
Please review [Salt's Contributing Guide](https://docs.saltproject.io/en/master/topics/development/contributing.html) for best practices, including the
[PR Guidelines](https://docs.saltproject.io/en/master/topics/development/pull_requests.html).
See GitHub's [page on GPG signing](https://help.github.com/articles/signing-commits-using-gpg/) for more information about signing commits with GPG.

View file

@ -16,7 +16,7 @@ on:
env:
COLUMNS: 190
CACHE_SEED: SEED-1 # Bump the number to invalidate all caches
CACHE_SEED: SEED-2 # Bump the number to invalidate all caches
RELENV_DATA: "${{ github.workspace }}/.relenv"
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
@ -437,8 +437,8 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
build-salt-onedir:
name: Build Salt Onedir
@ -453,8 +453,8 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
build-pkgs-onedir:
name: Build Packages
@ -466,8 +466,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
source: "onedir"
build-pkgs-src:
@ -480,8 +480,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
source: "src"
build-ci-deps:
name: CI Deps
@ -495,7 +495,7 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
rockylinux-8-pkg-tests:
@ -515,7 +515,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -536,7 +536,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -557,7 +557,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -578,7 +578,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -599,7 +599,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -620,7 +620,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -641,7 +641,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -662,7 +662,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -683,28 +683,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-10-pkg-tests:
name: Debian 10 Package Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON(needs.prepare-workflow.outputs.os-labels), 'debian-10') }}
needs:
- prepare-workflow
- build-pkgs-onedir
- build-ci-deps
uses: ./.github/workflows/test-packages-action-linux.yml
with:
distro-slug: debian-10
nox-session: ci-test-onedir
platform: linux
arch: x86_64
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -725,7 +704,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -746,7 +725,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -767,7 +746,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -788,7 +767,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -809,7 +788,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -831,7 +810,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -853,14 +832,14 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
photonos-5-arm64-pkg-tests:
name: Photon OS 5 Arm64 Package Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON(needs.prepare-workflow.outputs.os-labels), 'photonos-5-arm64') }}
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-pkgs-onedir
@ -875,7 +854,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -897,7 +876,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -918,7 +897,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -939,7 +918,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -960,7 +939,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -982,7 +961,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1004,7 +983,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1026,7 +1005,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1047,7 +1026,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1068,7 +1047,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1089,7 +1068,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1110,7 +1089,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1131,7 +1110,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1152,7 +1131,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1172,7 +1151,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1193,7 +1172,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1214,7 +1193,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1236,7 +1215,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1258,7 +1237,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1280,7 +1259,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1301,7 +1280,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1322,7 +1301,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1343,7 +1322,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1364,7 +1343,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1385,7 +1364,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1406,7 +1385,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1427,7 +1406,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1448,7 +1427,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1469,7 +1448,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1490,28 +1469,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
debian-10:
name: Debian 10 Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON(needs.prepare-workflow.outputs.os-labels), 'debian-10') }}
needs:
- prepare-workflow
- build-ci-deps
uses: ./.github/workflows/test-action-linux.yml
with:
distro-slug: debian-10
nox-session: ci-test-onedir
platform: linux
arch: x86_64
nox-version: 2022.8.7
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1532,7 +1490,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1553,7 +1511,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1574,7 +1532,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1595,7 +1553,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1616,7 +1574,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1637,7 +1595,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1658,7 +1616,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1680,7 +1638,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1702,7 +1660,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1710,7 +1668,7 @@ jobs:
photonos-5-arm64:
name: Photon OS 5 Arm64 Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON(needs.prepare-workflow.outputs.os-labels), 'photonos-5-arm64') }}
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-ci-deps
@ -1724,7 +1682,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1746,7 +1704,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1767,7 +1725,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1788,7 +1746,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1809,7 +1767,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1837,7 +1795,6 @@ jobs:
- amazonlinux-2023-arm64
- archlinux-lts
- centos-7
- debian-10
- debian-11
- debian-11-arm64
- debian-12
@ -1903,7 +1860,9 @@ jobs:
nox --force-color -e create-xml-coverage-reports
- name: Upload Code Coverage To Codecov
if: ${{ ! github.event.repository.private }}
if: ${{ ! github.event.repository.private && ! github.event.repository.fork }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
tools ci upload-coverage --commit-sha=${{ github.event.pull_request.head.sha || github.sha }} artifacts/coverage/
@ -1991,7 +1950,6 @@ jobs:
- amazonlinux-2023-arm64
- archlinux-lts
- centos-7
- debian-10
- debian-11
- debian-11-arm64
- debian-12
@ -2015,7 +1973,6 @@ jobs:
- amazonlinux-2023-pkg-tests
- amazonlinux-2023-arm64-pkg-tests
- centos-7-pkg-tests
- debian-10-pkg-tests
- debian-11-pkg-tests
- debian-11-arm64-pkg-tests
- debian-12-pkg-tests

View file

@ -22,7 +22,7 @@ on:
env:
COLUMNS: 190
CACHE_SEED: SEED-1 # Bump the number to invalidate all caches
CACHE_SEED: SEED-2 # Bump the number to invalidate all caches
RELENV_DATA: "${{ github.workspace }}/.relenv"
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
@ -494,8 +494,8 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
build-salt-onedir:
name: Build Salt Onedir
@ -510,8 +510,8 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
build-pkgs-onedir:
name: Build Packages
@ -523,8 +523,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
source: "onedir"
environment: nightly
sign-macos-packages: true
@ -541,8 +541,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
source: "src"
environment: nightly
sign-macos-packages: true
@ -560,7 +560,7 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
rockylinux-8-pkg-tests:
@ -580,7 +580,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -601,7 +601,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -622,7 +622,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -643,7 +643,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -664,7 +664,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -685,7 +685,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -706,7 +706,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -727,7 +727,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -748,28 +748,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-10-pkg-tests:
name: Debian 10 Package Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-pkgs-onedir
- build-ci-deps
uses: ./.github/workflows/test-packages-action-linux.yml
with:
distro-slug: debian-10
nox-session: ci-test-onedir
platform: linux
arch: x86_64
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -790,7 +769,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -811,7 +790,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -832,7 +811,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -853,7 +832,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -874,7 +853,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -896,7 +875,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -918,7 +897,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -940,7 +919,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -962,7 +941,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -983,7 +962,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1004,7 +983,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1025,7 +1004,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1047,7 +1026,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1069,7 +1048,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1091,7 +1070,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1112,7 +1091,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1133,7 +1112,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1154,7 +1133,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1175,7 +1154,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1196,7 +1175,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1217,7 +1196,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1237,7 +1216,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1258,7 +1237,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1279,7 +1258,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1301,7 +1280,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1323,7 +1302,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1345,7 +1324,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1366,7 +1345,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1387,7 +1366,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1408,7 +1387,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1429,7 +1408,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1450,7 +1429,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1471,7 +1450,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1492,7 +1471,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1513,7 +1492,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1534,7 +1513,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1555,28 +1534,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
debian-10:
name: Debian 10 Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-ci-deps
uses: ./.github/workflows/test-action-linux.yml
with:
distro-slug: debian-10
nox-session: ci-test-onedir
platform: linux
arch: x86_64
nox-version: 2022.8.7
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1597,7 +1555,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1618,7 +1576,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1639,7 +1597,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1660,7 +1618,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1681,7 +1639,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1702,7 +1660,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1723,7 +1681,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1745,7 +1703,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1767,7 +1725,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1789,7 +1747,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1811,7 +1769,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1832,7 +1790,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1853,7 +1811,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1874,7 +1832,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1902,7 +1860,6 @@ jobs:
- amazonlinux-2023-arm64
- archlinux-lts
- centos-7
- debian-10
- debian-11
- debian-11-arm64
- debian-12
@ -1968,7 +1925,9 @@ jobs:
nox --force-color -e create-xml-coverage-reports
- name: Upload Code Coverage To Codecov
if: ${{ ! github.event.repository.private }}
if: ${{ ! github.event.repository.private && ! github.event.repository.fork }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
tools ci upload-coverage --commit-sha=${{ github.event.pull_request.head.sha || github.sha }} artifacts/coverage/
@ -2143,14 +2102,6 @@ jobs:
fail-fast: false
matrix:
include:
- pkg-type: deb
distro: debian
version: "10"
arch: x86_64
- pkg-type: deb
distro: debian
version: "10"
arch: arm64
- pkg-type: deb
distro: debian
version: "11"
@ -2814,7 +2765,6 @@ jobs:
- amazonlinux-2023-arm64
- archlinux-lts
- centos-7
- debian-10
- debian-11
- debian-11-arm64
- debian-12
@ -2897,7 +2847,6 @@ jobs:
- amazonlinux-2023-pkg-tests
- amazonlinux-2023-arm64-pkg-tests
- centos-7-pkg-tests
- debian-10-pkg-tests
- debian-11-pkg-tests
- debian-11-arm64-pkg-tests
- debian-12-pkg-tests

View file

@ -21,7 +21,7 @@ on:
env:
COLUMNS: 190
CACHE_SEED: SEED-1 # Bump the number to invalidate all caches
CACHE_SEED: SEED-2 # Bump the number to invalidate all caches
RELENV_DATA: "${{ github.workspace }}/.relenv"
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
@ -184,7 +184,7 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
backup:
@ -266,7 +266,7 @@ jobs:
uses: ./.github/workflows/test-package-downloads-action.yml
with:
nox-session: ci-test-onedir
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
environment: release
nox-version: 2022.8.7

View file

@ -12,7 +12,7 @@ on:
env:
COLUMNS: 190
CACHE_SEED: SEED-1 # Bump the number to invalidate all caches
CACHE_SEED: SEED-2 # Bump the number to invalidate all caches
RELENV_DATA: "${{ github.workspace }}/.relenv"
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
@ -484,8 +484,8 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
build-salt-onedir:
name: Build Salt Onedir
@ -500,8 +500,8 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
build-pkgs-onedir:
name: Build Packages
@ -513,8 +513,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
source: "onedir"
build-pkgs-src:
@ -527,8 +527,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
source: "src"
build-ci-deps:
name: CI Deps
@ -542,7 +542,7 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
rockylinux-8-pkg-tests:
@ -562,7 +562,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -583,7 +583,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -604,7 +604,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -625,7 +625,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -646,7 +646,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -667,7 +667,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -688,7 +688,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -709,7 +709,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -730,28 +730,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-10-pkg-tests:
name: Debian 10 Package Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-pkgs-onedir
- build-ci-deps
uses: ./.github/workflows/test-packages-action-linux.yml
with:
distro-slug: debian-10
nox-session: ci-test-onedir
platform: linux
arch: x86_64
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -772,7 +751,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -793,7 +772,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -814,7 +793,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -835,7 +814,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -856,7 +835,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -878,7 +857,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -900,7 +879,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -922,7 +901,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -944,7 +923,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -965,7 +944,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -986,7 +965,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1007,7 +986,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1029,7 +1008,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1051,7 +1030,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1073,7 +1052,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1094,7 +1073,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1115,7 +1094,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1136,7 +1115,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1157,7 +1136,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1178,7 +1157,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1199,7 +1178,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1219,7 +1198,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1240,7 +1219,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1261,7 +1240,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1283,7 +1262,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1305,7 +1284,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1327,7 +1306,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1348,7 +1327,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1369,7 +1348,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1390,7 +1369,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1411,7 +1390,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1432,7 +1411,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1453,7 +1432,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1474,7 +1453,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1495,7 +1474,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1516,7 +1495,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1537,28 +1516,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
debian-10:
name: Debian 10 Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-ci-deps
uses: ./.github/workflows/test-action-linux.yml
with:
distro-slug: debian-10
nox-session: ci-test-onedir
platform: linux
arch: x86_64
nox-version: 2022.8.7
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1579,7 +1537,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1600,7 +1558,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1621,7 +1579,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1642,7 +1600,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1663,7 +1621,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1684,7 +1642,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1705,7 +1663,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1727,7 +1685,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1749,7 +1707,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1771,7 +1729,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1793,7 +1751,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1814,7 +1772,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1835,7 +1793,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1856,7 +1814,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1884,7 +1842,6 @@ jobs:
- amazonlinux-2023-arm64
- archlinux-lts
- centos-7
- debian-10
- debian-11
- debian-11-arm64
- debian-12
@ -1950,7 +1907,9 @@ jobs:
nox --force-color -e create-xml-coverage-reports
- name: Upload Code Coverage To Codecov
if: ${{ ! github.event.repository.private }}
if: ${{ ! github.event.repository.private && ! github.event.repository.fork }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
tools ci upload-coverage --commit-sha=${{ github.event.pull_request.head.sha || github.sha }} artifacts/coverage/
@ -2040,7 +1999,6 @@ jobs:
- amazonlinux-2023-arm64
- archlinux-lts
- centos-7
- debian-10
- debian-11
- debian-11-arm64
- debian-12
@ -2064,7 +2022,6 @@ jobs:
- amazonlinux-2023-pkg-tests
- amazonlinux-2023-arm64-pkg-tests
- centos-7-pkg-tests
- debian-10-pkg-tests
- debian-11-pkg-tests
- debian-11-arm64-pkg-tests
- debian-12-pkg-tests

View file

@ -37,7 +37,7 @@ on:
env:
COLUMNS: 190
CACHE_SEED: SEED-1 # Bump the number to invalidate all caches
CACHE_SEED: SEED-2 # Bump the number to invalidate all caches
RELENV_DATA: "${{ github.workspace }}/.relenv"
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
@ -476,8 +476,8 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
build-salt-onedir:
name: Build Salt Onedir
@ -492,8 +492,8 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
build-pkgs-onedir:
name: Build Packages
@ -505,8 +505,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
source: "onedir"
environment: staging
sign-macos-packages: true
@ -523,8 +523,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.15.1"
python-version: "3.10.13"
relenv-version: "0.16.0"
python-version: "3.10.14"
source: "src"
environment: staging
sign-macos-packages: true
@ -542,7 +542,7 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
rockylinux-8-pkg-tests:
@ -562,7 +562,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -583,7 +583,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -604,7 +604,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -625,7 +625,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -646,7 +646,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -667,7 +667,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -688,7 +688,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -709,7 +709,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -730,28 +730,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-10-pkg-tests:
name: Debian 10 Package Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-pkgs-onedir
- build-ci-deps
uses: ./.github/workflows/test-packages-action-linux.yml
with:
distro-slug: debian-10
nox-session: ci-test-onedir
platform: linux
arch: x86_64
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -772,7 +751,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -793,7 +772,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -814,7 +793,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -835,7 +814,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -856,7 +835,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -878,7 +857,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -900,7 +879,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -922,7 +901,7 @@ jobs:
pkg-type: rpm
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
fips: true
@ -944,7 +923,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -965,7 +944,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -986,7 +965,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1007,7 +986,7 @@ jobs:
pkg-type: deb
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1029,7 +1008,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1051,7 +1030,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1073,7 +1052,7 @@ jobs:
pkg-type: macos
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1094,7 +1073,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1115,7 +1094,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1136,7 +1115,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1157,7 +1136,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1178,7 +1157,7 @@ jobs:
pkg-type: NSIS
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1199,7 +1178,7 @@ jobs:
pkg-type: MSI
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
@ -1219,7 +1198,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1240,7 +1219,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1261,7 +1240,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }}
@ -1283,7 +1262,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1305,7 +1284,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1327,7 +1306,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1348,7 +1327,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1369,7 +1348,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1390,7 +1369,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1411,7 +1390,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1432,7 +1411,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1453,7 +1432,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1474,7 +1453,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1495,7 +1474,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1516,7 +1495,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1537,28 +1516,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
debian-10:
name: Debian 10 Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-ci-deps
uses: ./.github/workflows/test-action-linux.yml
with:
distro-slug: debian-10
nox-session: ci-test-onedir
platform: linux
arch: x86_64
nox-version: 2022.8.7
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1579,7 +1537,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1600,7 +1558,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1621,7 +1579,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1642,7 +1600,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1663,7 +1621,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1684,7 +1642,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1705,7 +1663,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1727,7 +1685,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1749,7 +1707,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1771,7 +1729,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1793,7 +1751,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1814,7 +1772,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1835,7 +1793,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1856,7 +1814,7 @@ jobs:
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: true
workflow-slug: staging
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}
@ -1980,14 +1938,6 @@ jobs:
fail-fast: false
matrix:
include:
- pkg-type: deb
distro: debian
version: "10"
arch: x86_64
- pkg-type: deb
distro: debian
version: "10"
arch: arm64
- pkg-type: deb
distro: debian
version: "11"
@ -2754,7 +2704,7 @@ jobs:
uses: ./.github/workflows/test-package-downloads-action.yml
with:
nox-session: ci-test-onedir
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
environment: staging
nox-version: 2022.8.7
@ -2786,7 +2736,6 @@ jobs:
- amazonlinux-2023-arm64
- archlinux-lts
- centos-7
- debian-10
- debian-11
- debian-11-arm64
- debian-12
@ -2810,7 +2759,6 @@ jobs:
- amazonlinux-2023-pkg-tests
- amazonlinux-2023-arm64-pkg-tests
- centos-7-pkg-tests
- debian-10-pkg-tests
- debian-11-pkg-tests
- debian-11-arm64-pkg-tests
- debian-12-pkg-tests

View file

@ -378,7 +378,9 @@
nox --force-color -e create-xml-coverage-reports
- name: Upload Code Coverage To Codecov
if: ${{ ! github.event.repository.private }}
if: ${{ ! github.event.repository.private && ! github.event.repository.fork }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
tools ci upload-coverage --commit-sha=${{ github.event.pull_request.head.sha || github.sha }} artifacts/coverage/

View file

@ -34,7 +34,7 @@ on:
env:
COLUMNS: 190
CACHE_SEED: SEED-1 # Bump the number to invalidate all caches
CACHE_SEED: SEED-2 # Bump the number to invalidate all caches
RELENV_DATA: "${{ github.workspace }}/.relenv"
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"

View file

@ -96,12 +96,6 @@ jobs:
- distro-slug: centos-7-arm64
arch: arm64
pkg-type: package
- distro-slug: debian-10
arch: x86_64
pkg-type: package
- distro-slug: debian-10-arm64
arch: arm64
pkg-type: package
- distro-slug: debian-11
arch: x86_64
pkg-type: package

View file

@ -186,7 +186,7 @@ jobs:
tools --timestamps vm decompress-dependencies ${{ inputs.distro-slug }}
- name: Downgrade importlib-metadata
if: ${{ contains(fromJSON('["amazonlinux-2", "centos-7", "debian-10"]'), inputs.distro-slug) && contains(fromJSON('["upgrade-classic", "downgrade-classic"]'), matrix.tests-chunk) }}
if: ${{ contains(fromJSON('["amazonlinux-2", "centos-7"]'), inputs.distro-slug) && contains(fromJSON('["upgrade-classic", "downgrade-classic"]'), matrix.tests-chunk) }}
run: |
# This step can go away once we stop testing classic packages upgrade/downgrades to/from 3005.x
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- "sudo python3 -m pip install -U 'importlib-metadata<=4.13.0' 'virtualenv<=20.21.1'"

View file

@ -185,7 +185,7 @@ jobs:
tools --timestamps vm decompress-dependencies ${{ inputs.distro-slug }}
- name: Downgrade importlib-metadata
if: ${{ contains(fromJSON('["amazonlinux-2", "centos-7", "debian-10"]'), inputs.distro-slug) && contains(fromJSON('["upgrade-classic", "downgrade-classic"]'), matrix.tests-chunk) }}
if: ${{ contains(fromJSON('["amazonlinux-2", "centos-7"]'), inputs.distro-slug) && contains(fromJSON('["upgrade-classic", "downgrade-classic"]'), matrix.tests-chunk) }}
run: |
# This step can go away once we stop testing classic packages upgrade/downgrades to/from 3005.x
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- "sudo python3 -m pip install -U 'importlib-metadata<=4.13.0' 'virtualenv<=20.21.1'"

2
changelog/60508.fixed.md Normal file
View file

@ -0,0 +1,2 @@
Fix an issue with the win_system module detecting established connections on
non-Windows systems. Uses psutils instead of parsing the return of netstat

3
changelog/62734.fixed.md Normal file
View file

@ -0,0 +1,3 @@
Fixed an issue with adding new machine policies and applying those same
policies in the same state by adding a ``refresh_cache`` option to the
``lgpo.set`` state.

1
changelog/66205.fixed.md Normal file
View file

@ -0,0 +1 @@
Auto discovery of ssh, scp and ssh-keygen binaries.

1
changelog/66289.fixed.md Normal file
View file

@ -0,0 +1 @@
removed log line that did nothing.

View file

@ -0,0 +1 @@
Bump to `idna==3.7` due to https://github.com/advisories/GHSA-jjg7-2v4v-x38h

1
changelog/66400.fixed.md Normal file
View file

@ -0,0 +1 @@
The file module correctly perserves file permissions on link target.

1
changelog/66402.fixed.md Normal file
View file

@ -0,0 +1 @@
Upgrade relenv to 0.16.0 and python to 3.10.14

View file

@ -0,0 +1 @@
Bump to `aiohttp==3.9.4` due to https://github.com/advisories/GHSA-7gpw-8wmc-pm8g

View file

@ -69,26 +69,6 @@
"is_windows": "false",
"ssh_username": "centos"
},
"debian-10-arm64": {
"ami": "ami-0a4d0583945dba7a7",
"ami_description": "CI Image of Debian 10 arm64",
"ami_name": "salt-project/ci/debian/10/arm64/20240325.2134",
"arch": "arm64",
"cloudwatch-agent-available": "false",
"instance_type": "m6g.large",
"is_windows": "false",
"ssh_username": "admin"
},
"debian-10": {
"ami": "ami-0f474f6f3b4f1a981",
"ami_description": "CI Image of Debian 10 x86_64",
"ami_name": "salt-project/ci/debian/10/x86_64/20240325.2134",
"arch": "x86_64",
"cloudwatch-agent-available": "true",
"instance_type": "t3a.large",
"is_windows": "false",
"ssh_username": "admin"
},
"debian-11-arm64": {
"ami": "ami-0e1d6f34aaeba1e58",
"ami_description": "CI Image of Debian 11 arm64",

View file

@ -1,6 +1,6 @@
nox_version: "2022.8.7"
python_version: "3.10.13"
relenv_version: "0.15.1"
python_version: "3.10.14"
relenv_version: "0.16.0"
release_branches:
- "3006.x"
- "3007.x"
@ -8,6 +8,7 @@ mandatory_os_slugs:
- rockylinux-9
- amazonlinux-2023-arm64
- archlinux-lts
- photonos-5-arm64
- macos-13-arm64
- ubuntu-22.04-arm64
- windows-2022

View file

@ -185,3 +185,47 @@ PR's that do not require tests include:
* fixing tests
* pylint
* changes outside of the salt directory
Pull Request CI/CD test suite
=============================
By default, PRs run a limited subset of the test suite against the following
operating systems:
* Linux:
- Latest ``Rocky Linux x86_64``
- Latest ``Amazon Linux aarch64``
- Latest ``Ubuntu LTS arm64``
- Latest ``Arch Linux x86_64``
* Latest ``Windows Server x86_64``
* Latest ``MacOS arm64``
Optional OS additions
---------------------
There are times where a PR is specifically addressing a target OS, or a core component of
Salt is being updated that needs to be tested against all support operating systems. This
is often required to fix ``nightly`` builds, or introduce a new operating system into CI/CD.
Labels can be applied to a PR, via those who have the appropriate permissions, using the
``test:os:<os-name><os-arch>`` format.
* Example: ``test:os:debian-11-arm64`` would also ensure the Debian 11 arm64 OS is included.
Optionally, ``test:os:all`` can be used as a way to target all operating systems
that nightlies, staging, release target without having to add them all individually.
Optional test additions
-----------------------
If wanting to also increase the scope of tests themselves, not just the scope of operating
systems, then additional labels can be used such as:
* ``test:pkg``: Run all package-related tests that are otherwise not included by default
on the currently selected operating systems.
* ``test:full``: Run all tests in the Salt test suite that can be ran on the currently
selected operating systems.
* ``test:coverage``: Run all tests in the Salt test suite on all operating systems while
collecting code coverage.
* ``test:random-cache-seed``: Randomize the GH Actions cache seed to make sure no caches
are used during the build.

View file

@ -10,8 +10,8 @@
%define __brp_python_hardlink /usr/bin/true
# Disable private libraries from showing in provides
%global __provides_exclude_from ^.*\\.so.*$
%global __requires_exclude_from ^.*\\.so.*$
%global __provides_exclude_from ^lib/.*\\.so.*$
%global __requires_exclude_from ^lib/.*\\.so.*$
%define _source_payload w2.gzdio
%define _binary_payload w2.gzdio
%define _SALT_GROUP salt

View file

@ -26,7 +26,7 @@ cryptography==42.0.5
# pyspnego
# requests-ntlm
# smbprotocol
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.10/linux.txt
# requests

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.10/darwin.txt requirements/darwin.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/darwin.in requirements/static/pkg/darwin.in
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.10/darwin.txt
# -r requirements/base.txt
@ -114,7 +114,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.10/darwin.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -143,13 +143,13 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
hglib==2.6.2
# via -r requirements/static/ci/darwin.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.10/darwin.txt
# etcd3-py
@ -479,7 +479,7 @@ six==1.16.0
# websocket-client
smmap==5.0.1
# via gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -30,7 +30,7 @@ cherrypy==18.8.0
# -r requirements/static/ci/docs.in
docutils==0.20.1
# via sphinx
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.10/linux.txt
# requests

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.10/freebsd.txt requirements/base.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/freebsd.in requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.10/freebsd.txt
# -r requirements/base.txt
@ -113,7 +113,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.10/freebsd.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -142,13 +142,13 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
hglib==2.6.2
# via -r requirements/static/ci/freebsd.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.10/freebsd.txt
# etcd3-py
@ -484,7 +484,7 @@ six==1.16.0
# websocket-client
smmap==5.0.1
# via gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -20,7 +20,7 @@ docker==6.1.3
# via
# -c requirements/static/ci/py3.10/linux.txt
# -r requirements/static/ci/lint.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.10/linux.txt
# requests

View file

@ -6,7 +6,7 @@
#
aiohttp-retry==2.8.3
# via twilio
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# -r requirements/base.txt
@ -127,7 +127,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -158,7 +158,7 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
@ -170,7 +170,7 @@ httpcore==0.17.3
# via httpx
httpx==0.24.1
# via python-telegram-bot
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# anyio
@ -546,7 +546,7 @@ sniffio==1.3.0
# anyio
# httpcore
# httpx
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -12,7 +12,7 @@ charset-normalizer==3.2.0
# via
# -c requirements/static/ci/../ci/py3.10/tools.txt
# requests
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../ci/py3.10/tools.txt
# requests

View file

@ -20,7 +20,7 @@ certifi==2023.7.22
# via requests
charset-normalizer==3.2.0
# via requests
idna==3.4
idna==3.7
# via requests
jinja2==3.1.3
# via -r requirements/static/ci/tools.in

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.10/windows.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/windows.in requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.10/windows.txt
# -r requirements/base.txt
@ -112,7 +112,7 @@ distro==1.8.0
# pytest-skip-markers
dmidecode==0.9.0
# via -r requirements/static/ci/windows.in
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -137,18 +137,18 @@ genshi==0.7.7
# via -r requirements/static/ci/common.in
geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.11
gitdb==4.0.10
# via
# -c requirements/static/ci/../pkg/py3.10/windows.txt
# gitpython
gitpython==3.1.42 ; sys_platform == "win32"
gitpython==3.1.43 ; sys_platform == "win32"
# via
# -c requirements/static/ci/../pkg/py3.10/windows.txt
# -r requirements/base.txt
# -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.10/windows.txt
# etcd3-py
@ -447,7 +447,7 @@ smmap==5.0.1
# via
# -c requirements/static/ci/../pkg/py3.10/windows.txt
# gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -26,7 +26,7 @@ cryptography==42.0.5
# pyspnego
# requests-ntlm
# smbprotocol
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.11/linux.txt
# requests

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.11/darwin.txt requirements/darwin.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/darwin.in requirements/static/pkg/darwin.in
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.11/darwin.txt
# -r requirements/base.txt
@ -113,7 +113,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.11/darwin.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -140,13 +140,13 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
hglib==2.6.2
# via -r requirements/static/ci/darwin.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.11/darwin.txt
# etcd3-py
@ -480,7 +480,7 @@ six==1.16.0
# websocket-client
smmap==5.0.1
# via gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -34,7 +34,7 @@ cherrypy==18.8.0
# -r requirements/static/ci/docs.in
docutils==0.20.1
# via sphinx
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.11/linux.txt
# requests

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.11/freebsd.txt requirements/base.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/freebsd.in requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.11/freebsd.txt
# -r requirements/base.txt
@ -112,7 +112,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.11/freebsd.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -139,13 +139,13 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
hglib==2.6.2
# via -r requirements/static/ci/freebsd.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.11/freebsd.txt
# etcd3-py
@ -486,7 +486,7 @@ six==1.16.0
# websocket-client
smmap==5.0.1
# via gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -20,7 +20,7 @@ docker==6.1.3
# via
# -c requirements/static/ci/py3.11/linux.txt
# -r requirements/static/ci/lint.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.11/linux.txt
# requests

View file

@ -6,7 +6,7 @@
#
aiohttp-retry==2.8.3
# via twilio
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.11/linux.txt
# -r requirements/base.txt
@ -126,7 +126,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.11/linux.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -153,7 +153,7 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
@ -165,7 +165,7 @@ httpcore==0.17.3
# via httpx
httpx==0.24.1
# via python-telegram-bot
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.11/linux.txt
# anyio
@ -546,7 +546,7 @@ sniffio==1.3.0
# anyio
# httpcore
# httpx
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -12,7 +12,7 @@ charset-normalizer==3.2.0
# via
# -c requirements/static/ci/../ci/py3.11/tools.txt
# requests
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../ci/py3.11/tools.txt
# requests

View file

@ -20,7 +20,7 @@ certifi==2023.07.22
# via requests
charset-normalizer==3.2.0
# via requests
idna==3.4
idna==3.7
# via requests
jinja2==3.1.3
# via -r requirements/static/ci/tools.in

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.11/windows.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/windows.in requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.11/windows.txt
# -r requirements/base.txt
@ -111,7 +111,7 @@ distro==1.8.0
# pytest-skip-markers
dmidecode==0.9.0
# via -r requirements/static/ci/windows.in
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -134,18 +134,18 @@ genshi==0.7.7
# via -r requirements/static/ci/common.in
geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.11
gitdb==4.0.10
# via
# -c requirements/static/ci/../pkg/py3.11/windows.txt
# gitpython
gitpython==3.1.42 ; sys_platform == "win32"
gitpython==3.1.43 ; sys_platform == "win32"
# via
# -c requirements/static/ci/../pkg/py3.11/windows.txt
# -r requirements/base.txt
# -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.11/windows.txt
# etcd3-py
@ -448,7 +448,7 @@ smmap==5.0.1
# via
# -c requirements/static/ci/../pkg/py3.11/windows.txt
# gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.12/cloud.txt requirements/base.txt requirements/pytest.txt requirements/static/ci/cloud.in requirements/static/ci/common.in requirements/static/pkg/linux.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
@ -153,7 +153,7 @@ distro==1.8.0
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/static/ci/common.in
@ -197,7 +197,7 @@ gitdb==4.0.10
# via
# -c requirements/static/ci/py3.12/linux.txt
# gitpython
gitpython==3.1.41
gitpython==3.1.43
# via
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/static/ci/common.in
@ -205,7 +205,7 @@ google-auth==2.27.0
# via
# -c requirements/static/ci/py3.12/linux.txt
# kubernetes
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
@ -694,7 +694,7 @@ smmap==5.0.1
# via
# -c requirements/static/ci/py3.12/linux.txt
# gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/static/ci/common.in

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.12/darwin.txt requirements/darwin.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/darwin.in requirements/static/pkg/darwin.in
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.12/darwin.txt
# -r requirements/base.txt
@ -113,7 +113,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.12/darwin.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -140,13 +140,13 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
hglib==2.6.2
# via -r requirements/static/ci/darwin.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.12/darwin.txt
# etcd3-py
@ -480,7 +480,7 @@ six==1.16.0
# websocket-client
smmap==5.0.1
# via gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.12/docs.txt requirements/base.txt requirements/static/ci/docs.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/base.txt
@ -69,7 +69,7 @@ frozenlist==1.4.1
# -c requirements/static/ci/py3.12/linux.txt
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.12/linux.txt
# requests

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.12/freebsd.txt requirements/base.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/freebsd.in requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.12/freebsd.txt
# -r requirements/base.txt
@ -112,7 +112,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.12/freebsd.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -139,13 +139,13 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
hglib==2.6.2
# via -r requirements/static/ci/freebsd.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.12/freebsd.txt
# etcd3-py
@ -486,7 +486,7 @@ six==1.16.0
# websocket-client
smmap==5.0.1
# via gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -8,7 +8,7 @@ aiohttp-retry==2.8.3
# via
# -c requirements/static/ci/py3.12/linux.txt
# twilio
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
@ -169,7 +169,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/base.txt
dnspython==2.3.0
dnspython==2.6.1
# via
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/static/ci/common.in
@ -209,7 +209,7 @@ gitdb==4.0.10
# via
# -c requirements/static/ci/py3.12/linux.txt
# gitpython
gitpython==3.1.41
gitpython==3.1.43
# via
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/static/ci/common.in
@ -233,7 +233,7 @@ httpx==0.24.1
# via
# -c requirements/static/ci/py3.12/linux.txt
# python-telegram-bot
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
@ -701,7 +701,7 @@ sniffio==1.3.0
# anyio
# httpcore
# httpx
sqlparse==0.4.4
sqlparse==0.5.0
# via
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/static/ci/common.in

View file

@ -6,7 +6,7 @@
#
aiohttp-retry==2.8.3
# via twilio
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -r requirements/base.txt
@ -126,7 +126,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -153,7 +153,7 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
@ -165,7 +165,7 @@ httpcore==0.17.3
# via httpx
httpx==0.24.1
# via python-telegram-bot
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# anyio
@ -546,7 +546,7 @@ sniffio==1.3.0
# anyio
# httpcore
# httpx
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -12,7 +12,7 @@ charset-normalizer==3.2.0
# via
# -c requirements/static/ci/../ci/py3.12/tools.txt
# requests
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../ci/py3.12/tools.txt
# requests

View file

@ -20,7 +20,7 @@ certifi==2023.07.22
# via requests
charset-normalizer==3.2.0
# via requests
idna==3.4
idna==3.7
# via requests
jinja2==3.1.3
# via -r requirements/static/ci/tools.in

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.12/windows.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/windows.in requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.12/windows.txt
# -r requirements/base.txt
@ -111,7 +111,7 @@ distro==1.8.0
# pytest-skip-markers
dmidecode==0.9.0
# via -r requirements/static/ci/windows.in
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -134,18 +134,18 @@ genshi==0.7.7
# via -r requirements/static/ci/common.in
geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.11
gitdb==4.0.10
# via
# -c requirements/static/ci/../pkg/py3.12/windows.txt
# gitpython
gitpython==3.1.42 ; sys_platform == "win32"
gitpython==3.1.43 ; sys_platform == "win32"
# via
# -c requirements/static/ci/../pkg/py3.12/windows.txt
# -r requirements/base.txt
# -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.12/windows.txt
# etcd3-py
@ -448,7 +448,7 @@ smmap==5.0.1
# via
# -c requirements/static/ci/../pkg/py3.12/windows.txt
# gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -26,7 +26,7 @@ cryptography==42.0.5
# pyspnego
# requests-ntlm
# smbprotocol
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.8/linux.txt
# requests

View file

@ -30,7 +30,7 @@ cherrypy==18.8.0
# -r requirements/static/ci/docs.in
docutils==0.20.1
# via sphinx
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.8/linux.txt
# requests

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.8/freebsd.txt requirements/base.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/freebsd.in requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.8/freebsd.txt
# -r requirements/base.txt
@ -113,7 +113,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.8/freebsd.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -142,13 +142,13 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
hglib==2.6.2
# via -r requirements/static/ci/freebsd.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.8/freebsd.txt
# etcd3-py
@ -488,7 +488,7 @@ six==1.16.0
# websocket-client
smmap==5.0.1
# via gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -20,7 +20,7 @@ docker==6.1.3
# via
# -c requirements/static/ci/py3.8/linux.txt
# -r requirements/static/ci/lint.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.8/linux.txt
# requests

View file

@ -6,7 +6,7 @@
#
aiohttp-retry==2.8.3
# via twilio
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.8/linux.txt
# -r requirements/base.txt
@ -122,7 +122,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.8/linux.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -153,7 +153,7 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
@ -165,7 +165,7 @@ httpcore==0.17.3
# via httpx
httpx==0.24.1
# via python-telegram-bot
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.8/linux.txt
# anyio
@ -540,7 +540,7 @@ sniffio==1.3.0
# anyio
# httpcore
# httpx
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.8/windows.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/windows.in requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.8/windows.txt
# -r requirements/base.txt
@ -112,7 +112,7 @@ distro==1.8.0
# pytest-skip-markers
dmidecode==0.9.0
# via -r requirements/static/ci/windows.in
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -137,18 +137,18 @@ genshi==0.7.7
# via -r requirements/static/ci/common.in
geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.11
gitdb==4.0.10
# via
# -c requirements/static/ci/../pkg/py3.8/windows.txt
# gitpython
gitpython==3.1.42 ; sys_platform == "win32"
gitpython==3.1.43 ; sys_platform == "win32"
# via
# -c requirements/static/ci/../pkg/py3.8/windows.txt
# -r requirements/base.txt
# -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.8/windows.txt
# etcd3-py
@ -452,7 +452,7 @@ smmap==5.0.1
# via
# -c requirements/static/ci/../pkg/py3.8/windows.txt
# gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -26,7 +26,7 @@ cryptography==42.0.5
# pyspnego
# requests-ntlm
# smbprotocol
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.9/linux.txt
# requests

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.9/darwin.txt requirements/darwin.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/darwin.in requirements/static/pkg/darwin.in
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.9/darwin.txt
# -r requirements/base.txt
@ -114,7 +114,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.9/darwin.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -143,13 +143,13 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
hglib==2.6.2
# via -r requirements/static/ci/darwin.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.9/darwin.txt
# etcd3-py
@ -479,7 +479,7 @@ six==1.16.0
# websocket-client
smmap==5.0.1
# via gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -30,7 +30,7 @@ cherrypy==18.8.0
# -r requirements/static/ci/docs.in
docutils==0.20.1
# via sphinx
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.9/linux.txt
# requests

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.9/freebsd.txt requirements/base.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/freebsd.in requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.9/freebsd.txt
# -r requirements/base.txt
@ -113,7 +113,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.9/freebsd.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -142,13 +142,13 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
hglib==2.6.2
# via -r requirements/static/ci/freebsd.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.9/freebsd.txt
# etcd3-py
@ -484,7 +484,7 @@ six==1.16.0
# websocket-client
smmap==5.0.1
# via gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -20,7 +20,7 @@ docker==6.1.3
# via
# -c requirements/static/ci/py3.9/linux.txt
# -r requirements/static/ci/lint.in
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/py3.9/linux.txt
# requests

View file

@ -6,7 +6,7 @@
#
aiohttp-retry==2.8.3
# via twilio
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# -r requirements/base.txt
@ -122,7 +122,7 @@ distro==1.8.0
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -153,7 +153,7 @@ geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.10
# via gitpython
gitpython==3.1.41
gitpython==3.1.43
# via -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
@ -165,7 +165,7 @@ httpcore==0.17.3
# via httpx
httpx==0.24.1
# via python-telegram-bot
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# anyio
@ -536,7 +536,7 @@ sniffio==1.3.0
# anyio
# httpcore
# httpx
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -12,7 +12,7 @@ charset-normalizer==3.2.0
# via
# -c requirements/static/ci/../ci/py3.9/tools.txt
# requests
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../ci/py3.9/tools.txt
# requests

View file

@ -20,7 +20,7 @@ certifi==2023.7.22
# via requests
charset-normalizer==3.2.0
# via requests
idna==3.4
idna==3.7
# via requests
jinja2==3.1.3
# via -r requirements/static/ci/tools.in

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.9/windows.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/windows.in requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via
# -c requirements/static/ci/../pkg/py3.9/windows.txt
# -r requirements/base.txt
@ -112,7 +112,7 @@ distro==1.8.0
# pytest-skip-markers
dmidecode==0.9.0
# via -r requirements/static/ci/windows.in
dnspython==2.3.0
dnspython==2.6.1
# via
# -r requirements/static/ci/common.in
# python-etcd
@ -137,18 +137,18 @@ genshi==0.7.7
# via -r requirements/static/ci/common.in
geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.11
gitdb==4.0.10
# via
# -c requirements/static/ci/../pkg/py3.9/windows.txt
# gitpython
gitpython==3.1.42 ; sys_platform == "win32"
gitpython==3.1.43 ; sys_platform == "win32"
# via
# -c requirements/static/ci/../pkg/py3.9/windows.txt
# -r requirements/base.txt
# -r requirements/static/ci/common.in
google-auth==2.27.0
# via kubernetes
idna==3.4
idna==3.7
# via
# -c requirements/static/ci/../pkg/py3.9/windows.txt
# etcd3-py
@ -448,7 +448,7 @@ smmap==5.0.1
# via
# -c requirements/static/ci/../pkg/py3.9/windows.txt
# gitdb
sqlparse==0.4.4
sqlparse==0.5.0
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.10/darwin.txt requirements/darwin.txt requirements/static/pkg/darwin.in
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.10/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.10/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.10/windows.txt requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -40,11 +40,11 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
gitdb==4.0.11
gitdb==4.0.10
# via gitpython
gitpython==3.1.42 ; sys_platform == "win32"
gitpython==3.1.43 ; sys_platform == "win32"
# via -r requirements/base.txt
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.11/darwin.txt requirements/darwin.txt requirements/static/pkg/darwin.in
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.11/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.11/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.11/windows.txt requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -40,11 +40,11 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
gitdb==4.0.11
gitdb==4.0.10
# via gitpython
gitpython==3.1.42 ; sys_platform == "win32"
gitpython==3.1.43 ; sys_platform == "win32"
# via -r requirements/base.txt
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.12/darwin.txt requirements/darwin.txt requirements/static/pkg/darwin.in
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.12/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.12/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.12/windows.txt requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -40,11 +40,11 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
gitdb==4.0.11
gitdb==4.0.10
# via gitpython
gitpython==3.1.42 ; sys_platform == "win32"
gitpython==3.1.43 ; sys_platform == "win32"
# via -r requirements/base.txt
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.8/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.8/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.8/windows.txt requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -40,11 +40,11 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
gitdb==4.0.11
gitdb==4.0.10
# via gitpython
gitpython==3.1.42 ; sys_platform == "win32"
gitpython==3.1.43 ; sys_platform == "win32"
# via -r requirements/base.txt
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.9/darwin.txt requirements/darwin.txt requirements/static/pkg/darwin.in
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.9/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.9/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -36,7 +36,7 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -4,7 +4,7 @@
#
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.9/windows.txt requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.9.2
aiohttp==3.9.5
# via -r requirements/base.txt
aiosignal==1.3.1
# via aiohttp
@ -40,11 +40,11 @@ frozenlist==1.4.1
# via
# aiohttp
# aiosignal
gitdb==4.0.11
gitdb==4.0.10
# via gitpython
gitpython==3.1.42 ; sys_platform == "win32"
gitpython==3.1.43 ; sys_platform == "win32"
# via -r requirements/base.txt
idna==3.4
idna==3.7
# via
# requests
# yarl

View file

@ -13,6 +13,7 @@ import time
import salt.defaults.exitcodes
import salt.utils.json
import salt.utils.nb_popen
import salt.utils.path
import salt.utils.vt
log = logging.getLogger(__name__)
@ -33,12 +34,16 @@ SUDO_PROMPT_RE = re.compile(
RSTR = "_edbc7885e4f9aac9b83b35999b68d015148caf467b78fa39c05f669c0ff89878"
RSTR_RE = re.compile(r"(?:^|\r?\n)" + RSTR + r"(?:\r?\n|$)")
SSH_KEYGEN_PATH = salt.utils.path.which("ssh-keygen") or "ssh-keygen"
SSH_PATH = salt.utils.path.which("ssh") or "ssh"
SCP_PATH = salt.utils.path.which("scp") or "scp"
def gen_key(path):
"""
Generate a key for use with salt-ssh
"""
cmd = ["ssh-keygen", "-P", "", "-f", path, "-t", "rsa", "-q"]
cmd = [SSH_KEYGEN_PATH, "-P", "", "-f", path, "-t", "rsa", "-q"]
dirname = os.path.dirname(path)
if dirname and not os.path.isdir(dirname):
os.makedirs(os.path.dirname(path))
@ -243,7 +248,7 @@ class Shell:
stdout, stderr, retcode = self._run_cmd(self._copy_id_str_new())
return stdout, stderr, retcode
def _cmd_str(self, cmd, ssh="ssh"):
def _cmd_str(self, cmd, ssh=SSH_PATH):
"""
Return the cmd string to execute
"""
@ -252,13 +257,13 @@ class Shell:
# need to deliver the SHIM to the remote host and execute it there
command = [ssh]
if ssh != "scp":
if ssh != SCP_PATH:
command.append(self.host)
if self.tty and ssh == "ssh":
if self.tty and ssh == SSH_PATH:
command.append("-t -t")
if self.passwd or self.priv:
command.append(self.priv and self._key_opts() or self._passwd_opts())
if ssh != "scp" and self.remote_port_forwards:
if ssh != SCP_PATH and self.remote_port_forwards:
command.append(
" ".join(
[f"-R {item}" for item in self.remote_port_forwards.split(",")]
@ -355,7 +360,7 @@ class Shell:
host = f"[{host}]"
cmd = f"{local} {host}:{remote}"
cmd = self._cmd_str(cmd, ssh="scp")
cmd = self._cmd_str(cmd, ssh=SCP_PATH)
logmsg = f"Executing command: {cmd}"
if self.passwd:

View file

@ -1290,7 +1290,6 @@ class MWorker(salt.utils.process.SignalHandlingProcess):
log.info(
"%s decrementing inherited ReqServer niceness to 0", self.name
)
log.info(os.nice())
os.nice(-1 * self.opts["req_server_niceness"])
else:
log.error(

View file

@ -5303,7 +5303,7 @@ def check_perms(
if err:
ret["result"] = False
ret["comment"].append(err)
else:
elif not is_link:
# Python os.chown() resets the suid and sgid, hence we
# setting the previous mode again. Pending mode changes
# will be applied later.
@ -5354,7 +5354,6 @@ def check_perms(
ret["comment"].append(f"Failed to change group to {group}")
elif "cgroup" in perms:
ret["changes"]["group"] = group
if mode is not None:
# File is a symlink, ignore the mode setting
# if follow_symlinks is False

View file

@ -501,11 +501,13 @@ def _verify_safe_py_code(*args):
def _verify_virtualenv(venv_path):
bin_path = os.path.join(venv_path, "bin/python")
if salt.utils.platform.is_windows():
bin_path = os.path.join(venv_path, "Scripts", "python.exe")
else:
bin_path = os.path.join(venv_path, "bin", "python")
if not os.path.exists(bin_path):
raise CommandExecutionError(
"Path '{}' does not appear to be a virtualenv: bin/python not found.".format(
venv_path
)
f"Path '{venv_path}' does not appear to be a virtualenv: '{bin_path}' not found."
)
return bin_path

View file

@ -5314,6 +5314,25 @@ def _get_policy_definitions(path="c:\\Windows\\PolicyDefinitions", language="en-
return __context__["lgpo.policy_definitions"]
def clear_policy_cache():
"""
Clears the policy definitions and resource stored in ``__context__``. They
will be rebuilt the next time a policy is applied.
CLI Example:
.. code-block:: bash
salt '*' lgpo.clear_policy_cache
"""
if "lgpo.policy_definitions" in __context__:
log.debug("LGPO: Removing cached policy definitions")
__context__.pop("lgpo.policy_definitions")
if "lgpo.policy_resources" in __context__:
log.debug("LGPO: Removing cached policy resources")
__context__.pop("lgpo.policy_resources")
def _get_policy_resources(path="c:\\Windows\\PolicyDefinitions", language="en-US"):
if "lgpo.policy_resources" not in __context__:
log.debug("LGPO: Loading policy resources")

View file

@ -11,7 +11,6 @@ or for problem solving if your minion is having problems.
import ctypes
import datetime
import logging
import subprocess
import salt.utils.event
import salt.utils.platform
@ -486,6 +485,24 @@ def _byte_calc(val):
return tstr
def _get_connected_ips(port):
"""
List all connections on the system that have an established connection on
the passed port. This uses psutil.net_connections instead of netstat to be
locale agnostic.
"""
connected_ips = set()
# Let's use psutil to be non-locale specific
conns = psutil.net_connections()
for conn in conns:
if conn.status == psutil.CONN_ESTABLISHED:
if conn.laddr.port == port:
connected_ips.add(conn.laddr.ip)
return connected_ips
def master(master=None, connected=True):
"""
.. versionadded:: 2015.5.0
@ -501,44 +518,6 @@ def master(master=None, connected=True):
salt '*' status.master
"""
def _win_remotes_on(port):
"""
Windows specific helper function.
Returns set of ipv4 host addresses of remote established connections
on local or remote tcp port.
Parses output of shell 'netstat' to get connections
PS C:> netstat -n -p TCP
Active Connections
Proto Local Address Foreign Address State
TCP 10.1.1.26:3389 10.1.1.1:4505 ESTABLISHED
TCP 10.1.1.26:56862 10.1.1.10:49155 TIME_WAIT
TCP 10.1.1.26:56868 169.254.169.254:80 CLOSE_WAIT
TCP 127.0.0.1:49197 127.0.0.1:49198 ESTABLISHED
TCP 127.0.0.1:49198 127.0.0.1:49197 ESTABLISHED
"""
remotes = set()
try:
data = subprocess.check_output(["netstat", "-n", "-p", "TCP"])
except subprocess.CalledProcessError:
log.error("Failed netstat")
raise
lines = salt.utils.stringutils.to_unicode(data).split("\n")
for line in lines:
if "ESTABLISHED" not in line:
continue
chunks = line.split()
remote_host, remote_port = chunks[2].rsplit(":", 1)
if int(remote_port) != port:
continue
remotes.add(remote_host)
return remotes
# the default publishing port
port = 4505
master_ips = None
@ -553,7 +532,7 @@ def master(master=None, connected=True):
port = int(__salt__["config.get"]("publish_port"))
master_connection_status = False
connected_ips = _win_remotes_on(port)
connected_ips = _get_connected_ips(port)
# Get connection status for master
for master_ip in master_ips:

View file

@ -285,6 +285,7 @@ def set_(
user_policy=None,
cumulative_rights_assignments=True,
adml_language="en-US",
refresh_cache=False,
):
"""
Ensure the specified policy is set.
@ -323,6 +324,18 @@ def set_(
adml_language (str):
The adml language to use for AMDX policy data/display conversions.
Default is ``en-US``
refresh_cache (bool):
Clear the cached policy definitions before applying the state. This
is useful when the underlying policy files (ADMX/ADML) have been
added/modified in the same state. This will allow those new policies
to be picked up. This adds time to the state run when applied to
multiple states within the same run. Therefore, it is best to only
apply this to the first policy that is applied. For individual runs
this will have no effect. Default is ``False``
.. versionadded:: 3006.8
.. versionadded:: 3007.1
"""
ret = {"name": name, "result": True, "changes": {}, "comment": ""}
policy_classes = ["machine", "computer", "user", "both"]
@ -387,6 +400,10 @@ def set_(
"machine": {"requested_policy": computer_policy, "policy_lookup": {}},
}
if refresh_cache:
# Remove cached policies so new policies can be picked up
__salt__["lgpo.clear_policy_cache"]()
current_policy = {}
deprecation_comments = []
for p_class, p_data in pol_data.items():

View file

@ -484,6 +484,7 @@ class RequestServer(salt.transport.base.DaemonizedRequestServer):
"""
self.message_handler = message_handler
self._run = asyncio.Event()
self._started = asyncio.Event()
self._run.set()
async def server():
@ -496,6 +497,7 @@ class RequestServer(salt.transport.base.DaemonizedRequestServer):
self.site = aiohttp.web.SockSite(runner, self._socket, ssl_context=ctx)
log.info("Worker binding to socket %s", self._socket)
await self.site.start()
self._started.set()
# pause here for very long time by serving HTTP requests and
# waiting for keyboard interruption
while self._run.is_set():

View file

@ -32,6 +32,8 @@ def test_set_output_volume(desktop):
Tests the return of set_output_volume.
"""
current_vol = desktop.get_output_volume()
if current_vol == "missing value":
current_vol = 0
try:
to_set = 10
if current_vol == str(to_set):
@ -66,6 +68,7 @@ def test_lock(desktop):
assert ret
@pytest.mark.skipif(True, reason="Test is flaky. Is this really needed?")
def test_say(desktop):
"""
Tests the return of the say function.

View file

@ -19,7 +19,7 @@ def group(modules):
# Create group name strings for tests
@pytest.fixture(scope="module")
@pytest.fixture(scope="function")
def non_existing_group_name(group):
group_name = random_string("group-", lowercase=False)
try:
@ -31,7 +31,7 @@ def non_existing_group_name(group):
group.delete(group_name)
@pytest.fixture(scope="module")
@pytest.fixture(scope="function")
def existing_group_name(group):
group_name = random_string("group-", lowercase=False)
try:
@ -46,7 +46,7 @@ def existing_group_name(group):
group.delete(group_name)
@pytest.fixture(scope="module")
@pytest.fixture(scope="function")
def non_existing_user(group):
group_name = random_string("user-", lowercase=False)
try:
@ -58,7 +58,7 @@ def non_existing_user(group):
group.delete(group_name)
@pytest.fixture(scope="module")
@pytest.fixture(scope="function")
def existing_user(group, existing_group_name):
group_name = random_string("user-", lowercase=False)
try:
@ -78,7 +78,7 @@ def rep_user_group():
yield random_string("RS-", lowercase=False)
@pytest.fixture(scope="module")
@pytest.fixture(scope="function")
def non_existing_group_member(group):
group_name = random_string("user-", lowercase=False)
try:
@ -152,9 +152,10 @@ def test_mac_members(
"""
Test replacing members of a group
"""
group.members(existing_group_name, existing_user)
group_info = group.info(existing_group_name)
assert non_existing_group_member not in group_info["members"]
assert non_existing_user in group_info["members"]
assert existing_user in group_info["members"]
# Replace group members
rep_group_mem = group.members(existing_group_name, non_existing_group_member)
@ -163,7 +164,7 @@ def test_mac_members(
# ensure new user is added to group and previous user is removed
group_info = group.info(existing_group_name)
assert non_existing_group_member in group_info["members"]
assert non_existing_user not in group_info["members"]
assert existing_user not in group_info["members"]
def test_mac_getent(group, existing_user, existing_group_name):

View file

@ -1,8 +1,66 @@
import os
import pathlib
import re
import shutil
import sys
from contextlib import contextmanager
import pytest
from tests.support.helpers import VirtualEnv
import salt.utils.platform
from salt.exceptions import CommandNotFoundError
from salt.modules.virtualenv_mod import KNOWN_BINARY_NAMES
from tests.support.helpers import VirtualEnv, patched_environ
pytestmark = [
pytest.mark.slow_test,
pytest.mark.requires_network,
pytest.mark.windows_whitelisted,
pytest.mark.skip_if_binaries_missing(*KNOWN_BINARY_NAMES, check_all=False),
]
@pytest.fixture
def venv(tmp_path):
with VirtualEnv(venv_dir=tmp_path / "the-venv") as venv:
yield venv
@pytest.fixture
def pip(modules):
with patched_environ(
PIP_SOURCE_DIR="",
PIP_BUILD_DIR="",
__cleanup__=[k for k in os.environ if k.startswith("PIP_")],
):
yield modules.pip
def _pip_successful_install(
target,
expect=(
"irc3-plugins-test",
"pep8",
),
):
"""
Isolate regex for extracting `successful install` message from pip
"""
expect = set(expect)
expect_str = "|".join(expect)
success = re.search(
r"^.*Successfully installed\s([^\n]+)(?:Clean.*)?", target, re.M | re.S
)
success_for = (
re.findall(rf"({expect_str})(?:-(?:[\d\.-]))?", success.groups()[0])
if success
else []
)
return expect.issubset(set(success_for))
@pytest.mark.parametrize(
@ -20,13 +78,11 @@ from tests.support.helpers import VirtualEnv
"pip>=21.0",
),
)
@pytest.mark.requires_network
@pytest.mark.slow_test
def test_list_available_packages(modules, pip_version, tmp_path):
def test_list_available_packages(pip, pip_version, tmp_path):
with VirtualEnv(venv_dir=tmp_path, pip_requirement=pip_version) as virtualenv:
virtualenv.install("-U", pip_version)
package_name = "pep8"
available_versions = modules.pip.list_all_versions(
available_versions = pip.list_all_versions(
package_name, bin_env=str(virtualenv.venv_bin_dir)
)
assert available_versions
@ -41,7 +97,7 @@ def test_list_available_packages(modules, pip_version, tmp_path):
"pip>=21.0",
),
)
def test_list_available_packages_with_index_url(modules, pip_version, tmp_path):
def test_list_available_packages_with_index_url(pip, pip_version, tmp_path):
if sys.version_info < (3, 6) and pip_version == "pip>=21.0":
pytest.skip(f"{pip_version} is not available on Py3.5")
if sys.version_info >= (3, 10) and pip_version == "pip==9.0.3":
@ -49,9 +105,248 @@ def test_list_available_packages_with_index_url(modules, pip_version, tmp_path):
with VirtualEnv(venv_dir=tmp_path, pip_requirement=pip_version) as virtualenv:
virtualenv.install("-U", pip_version)
package_name = "pep8"
available_versions = modules.pip.list_all_versions(
available_versions = pip.list_all_versions(
package_name,
bin_env=str(virtualenv.venv_bin_dir),
index_url="https://pypi.python.org/simple",
)
assert available_versions
def test_issue_2087_missing_pip(venv, pip, modules):
# Let's remove the pip binary
pip_bin = venv.venv_bin_dir / "pip"
site_dir = pathlib.Path(
modules.virtualenv.get_distribution_path(str(venv.venv_dir), "pip")
)
if salt.utils.platform.is_windows():
pip_bin = venv.venv_dir / "Scripts" / "pip.exe"
site_dir = venv.venv_dir / "lib" / "site-packages"
if not pip_bin.is_file():
pytest.skip("Failed to find the pip binary to the test virtualenv")
pip_bin.unlink()
# Also remove the pip dir from site-packages
# This is needed now that we're using python -m pip instead of the
# pip binary directly. python -m pip will still work even if the
# pip binary is missing
shutil.rmtree(site_dir / "pip")
with pytest.raises(CommandNotFoundError) as exc:
pip.freeze(bin_env=str(venv.venv_dir))
assert str(exc.value) == "Could not find a `pip` binary"
with pytest.raises(CommandNotFoundError) as exc:
pip.list(bin_env=str(venv.venv_dir))
assert str(exc.value) == "Could not find a `pip` binary"
def test_requirements_as_list_of_chains__cwd_set__absolute_file_path(
venv, pip, tmp_path
):
# Create a requirements file that depends on another one.
req1_filename = tmp_path / "requirements1.txt"
req1_filename.write_text("-r requirements1b.txt\n", encoding="utf-8")
req1b_filename = tmp_path / "requirements1b.txt"
req1b_filename.write_text("irc3-plugins-test\n", encoding="utf-8")
req2_filename = tmp_path / "requirements2.txt"
req2_filename.write_text("-r requirements2b.txt\n", encoding="utf-8")
req2b_filename = tmp_path / "requirements2b.txt"
req2b_filename.write_text("pep8\n", encoding="utf-8")
ret = pip.install(
requirements=[str(req1_filename), str(req2_filename)],
bin_env=venv.venv_dir,
cwd=tmp_path,
)
assert ret
assert isinstance(ret, dict)
assert ret["retcode"] == 0
assert _pip_successful_install(ret["stdout"])
def test_requirements_as_list_of_chains__cwd_not_set__absolute_file_path(
venv, pip, tmp_path
):
# Create a requirements file that depends on another one.
req1_filename = tmp_path / "requirements1.txt"
req1_filename.write_text("-r requirements1b.txt\n", encoding="utf-8")
req1b_filename = tmp_path / "requirements1b.txt"
req1b_filename.write_text("irc3-plugins-test\n", encoding="utf-8")
req2_filename = tmp_path / "requirements2.txt"
req2_filename.write_text("-r requirements2b.txt\n", encoding="utf-8")
req2b_filename = tmp_path / "requirements2b.txt"
req2b_filename.write_text("pep8\n", encoding="utf-8")
ret = pip.install(
requirements=[str(req1_filename), str(req2_filename)],
bin_env=venv.venv_dir,
)
assert ret
assert isinstance(ret, dict)
assert ret["retcode"] == 0
assert _pip_successful_install(ret["stdout"])
def test_requirements_as_list__absolute_file_path(venv, pip, tmp_path):
# Create a requirements file that depends on another one.
req1_filename = tmp_path / "requirements1.txt"
req1_filename.write_text("irc3-plugins-test\n", encoding="utf-8")
req2_filename = tmp_path / "requirements2.txt"
req2_filename.write_text("pep8\n", encoding="utf-8")
ret = pip.install(
requirements=[str(req1_filename), str(req2_filename)],
bin_env=venv.venv_dir,
)
assert ret
assert isinstance(ret, dict)
assert ret["retcode"] == 0
assert _pip_successful_install(ret["stdout"])
def test_requirements_as_list__non_absolute_file_path(venv, pip, tmp_path):
# Create a requirements file that depends on another one.
req1_filename = tmp_path / "requirements1.txt"
req1_filename.write_text("irc3-plugins-test\n", encoding="utf-8")
req2_filename = tmp_path / "requirements2.txt"
req2_filename.write_text("pep8\n", encoding="utf-8")
ret = pip.install(
requirements=[str(req1_filename.name), str(req2_filename.name)],
bin_env=venv.venv_dir,
cwd=tmp_path,
)
assert ret
assert isinstance(ret, dict)
assert ret["retcode"] == 0
assert _pip_successful_install(ret["stdout"])
def test_chained_requirements__absolute_file_path(venv, pip, tmp_path):
# Create a requirements file that depends on another one.
req1_filename = tmp_path / "requirements1.txt"
req1_filename.write_text("-r requirements2.txt\n", encoding="utf-8")
req2_filename = tmp_path / "requirements2.txt"
req2_filename.write_text("pep8\n", encoding="utf-8")
ret = pip.install(
requirements=str(req1_filename),
bin_env=venv.venv_dir,
)
assert ret
assert isinstance(ret, dict)
assert ret["retcode"] == 0
assert "installed pep8" in ret["stdout"]
def test_chained_requirements__non_absolute_file_path(venv, pip, tmp_path):
# Create a requirements file that depends on another one.
req1_filename = tmp_path / "requirements1.txt"
req1_filename.write_text("-r requirements2.txt\n", encoding="utf-8")
req2_filename = tmp_path / "requirements2.txt"
req2_filename.write_text("pep8\n", encoding="utf-8")
ret = pip.install(
requirements=str(req1_filename.name), bin_env=venv.venv_dir, cwd=tmp_path
)
assert ret
assert isinstance(ret, dict)
assert ret["retcode"] == 0
assert "installed pep8" in ret["stdout"]
@pytest.fixture
def installed_requirement(venv, pip):
@contextmanager
def _install(version=None):
requirement = requirement_name = "pep8"
if version is not None:
requirement += f"=={version}"
ret = pip.install(pkgs=requirement, bin_env=venv.venv_dir)
assert ret
assert isinstance(ret, dict)
assert ret["retcode"] == 0
assert "installed pep8" in ret["stdout"]
print(444, pip.freeze(bin_env=venv.venv_dir))
yield requirement_name
return _install
def test_pip_uninstall(venv, pip, installed_requirement):
with installed_requirement() as requirement:
ret = pip.uninstall(pkgs=requirement, bin_env=venv.venv_dir)
assert f"uninstalled {requirement}" in ret["stdout"]
def test_pip_install_upgrade(venv, pip, installed_requirement):
with installed_requirement(version="1.3.4") as requirement:
ret = pip.install(
pkgs=requirement,
bin_env=venv.venv_dir,
upgrade=True,
)
assert f"installed {requirement}" in ret["stdout"]
def test_pip_install_multiple_editables(venv, pip):
editables = [
"git+https://github.com/saltstack/istr.git@v1.0.1#egg=iStr",
"git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting",
]
ret = pip.install(editable=editables, bin_env=venv.venv_dir)
assert _pip_successful_install(ret["stdout"], ("iStr", "SaltTesting"))
def test_pip_install_multiple_editables_and_pkgs(venv, pip):
editables = [
"git+https://github.com/saltstack/istr.git@v1.0.1#egg=iStr",
"git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting",
]
ret = pip.install(pkgs="pep8", editable=editables, bin_env=venv.venv_dir)
assert _pip_successful_install(ret["stdout"], ("iStr", "SaltTesting", "pep8"))
@pytest.mark.parametrize("touch", [True, False])
def test_pip_non_existent_log_file(venv, pip, tmp_path, touch):
log_file = tmp_path / "tmp-pip-install.log"
if touch:
log_file.touch()
ret = pip.install(pkgs="pep8", log=str(log_file), bin_env=venv.venv_dir)
assert _pip_successful_install(ret["stdout"], ("pep8",))
assert log_file.exists()
assert "pep8" in log_file.read_text()
@pytest.mark.skipif(
shutil.which("/bin/pip3") is None, reason="Could not find /bin/pip3"
)
@pytest.mark.destructive_test
@pytest.mark.skip_on_windows(reason="test specific for linux usage of /bin/python")
@pytest.mark.skip_initial_gh_actions_failure(
reason="This was skipped on older golden images and is failing on newer."
)
def test_system_pip3(pip):
pkg = "lazyimport"
pkgver = f"{pkg}==0.0.1"
ret = pip.install(pkgs=pkgver, bin_env="/bin/pip3")
assert ret
assert isinstance(ret, dict)
assert ret["retcode"] == 0
assert f"installed {pkg}" in ret["stdout"]
ret = pip.freeze(bin_env="/bin/pip3")
assert pkgver in ret
ret = pip.uninstall(pkgs=pkg, bin_env="/bin/pip3")
assert ret
assert isinstance(ret, dict)
assert ret["retcode"] == 0
assert f"uninstalled {pkg}" in ret["stdout"]
ret = pip.freeze(bin_env="/bin/pip3")
assert pkg not in ret

View file

@ -1,74 +0,0 @@
from pathlib import Path
import pytest
import salt.loader
import salt.modules.config
import salt.modules.cp
import salt.modules.slsutil
import salt.utils.files
from tests.support.mock import MagicMock
try:
import salt.modules.yaml
import salt.utils.yamllint
YAMLLINT_AVAILABLE = True
except ImportError:
YAMLLINT_AVAILABLE = False
pytestmark = [
pytest.mark.skipif(
YAMLLINT_AVAILABLE is False, reason="The 'yammllint' pacakge is not available"
),
]
@pytest.fixture
def configure_loader_modules(minion_opts):
cached_file = str(Path(__file__).parent / "testyaml.yaml")
return {
salt.modules.yaml: {
"__salt__": {
"config.get": salt.modules.config.get,
"cp.cache_file": MagicMock(
salt.modules.cp.cache_file, autospec=True, return_value=cached_file
),
"slsutil.renderer": MagicMock(
salt.modules.slsutil.renderer,
autospec=True,
return_value="key: value\n",
),
},
"__opts__": minion_opts,
"__utils__": {
"files.fopen": salt.utils.files.fopen,
"yamllint.lint": salt.utils.yamllint.lint,
},
},
salt.modules.config: {
"__opts__": minion_opts,
},
}
def test_lint_yaml():
"""
ensure that we can lint from the yaml lint utils
"""
assert salt.modules.yaml.lint("salt://test/test.sls") == {
"problems": [],
"source": "key:\n value\n",
}
def test_lint_pre_render():
assert salt.modules.yaml.lint("salt://test.test.sls", pre_render="jinja") == {
"problems": [],
"source": "key: value\n",
}
def test_yamllint_virtual():
assert salt.modules.yaml.__virtual__() == "yaml"

View file

@ -1,2 +0,0 @@
key:
value

View file

@ -1,5 +1,7 @@
import asyncio
import pytest
import salt.transport
import salt.utils.process
@ -27,6 +29,17 @@ async def test_request_server(
return repmsg
req_server.post_fork(handler, io_loop)
if transport == "ws":
start_server_timeout = 10
while start_server_timeout:
start_server_timeout -= 1
if req_server._started.is_set():
break
await asyncio.sleep(0.5)
else:
pytest.fail("Failed to start req server after 5 seconds")
req_client = salt.transport.request_client(minion_opts, io_loop)
try:

View file

@ -1,651 +0,0 @@
import os
import pprint
import re
import shutil
import pytest
import salt.utils.files
import salt.utils.path
import salt.utils.platform
from salt.modules.virtualenv_mod import KNOWN_BINARY_NAMES
from tests.support.helpers import VirtualEnv, patched_environ
pytestmark = [
pytest.mark.skip_if_binaries_missing(*KNOWN_BINARY_NAMES, check_all=False),
pytest.mark.windows_whitelisted,
]
@pytest.fixture(autouse=True)
def patch_environment():
with patched_environ(
PIP_SOURCE_DIR="",
PIP_BUILD_DIR="",
__cleanup__=[k for k in os.environ if k.startswith("PIP_")],
):
yield
@pytest.fixture
def venv_dir(tmp_path):
return str(tmp_path / "venv_dir")
def _check_download_error(ret):
"""
Checks to see if a download error looks transitory
"""
return any(w in ret for w in ["URLError", "Download error"])
def _pip_successful_install(
target,
expect=(
"irc3-plugins-test",
"pep8",
),
):
"""
isolate regex for extracting `successful install` message from pip
"""
expect = set(expect)
expect_str = "|".join(expect)
success = re.search(
r"^.*Successfully installed\s([^\n]+)(?:Clean.*)?", target, re.M | re.S
)
success_for = (
re.findall(rf"({expect_str})(?:-(?:[\d\.-]))?", success.groups()[0])
if success
else []
)
return expect.issubset(set(success_for))
@pytest.mark.slow_test
def test_issue_2087_missing_pip(venv_dir, salt_cli, salt_minion):
# Let's create the testing virtualenv
with VirtualEnv(venv_dir):
# Let's remove the pip binary
pip_bin = os.path.join(venv_dir, "bin", "pip")
site_dir = salt_cli.run(
"virtualenv.get_distribution_path",
venv_dir,
"pip",
minion_tgt=salt_minion.id,
).data
if salt.utils.platform.is_windows():
pip_bin = os.path.join(venv_dir, "Scripts", "pip.exe")
site_dir = os.path.join(venv_dir, "lib", "site-packages")
if not os.path.isfile(pip_bin):
pytest.skip("Failed to find the pip binary to the test virtualenv")
os.remove(pip_bin)
# Also remove the pip dir from site-packages
# This is needed now that we're using python -m pip instead of the
# pip binary directly. python -m pip will still work even if the
# pip binary is missing
shutil.rmtree(os.path.join(site_dir, "pip"))
# Let's run a pip depending functions
for func in ("pip.freeze", "pip.list"):
ret = salt_cli.run(func, bin_env=venv_dir, minion_tgt=salt_minion.id).data
assert (
"Command required for '{}' not found: Could not find a `pip` binary".format(
func
)
in ret
)
@pytest.mark.slow_test
def test_requirements_as_list_of_chains__cwd_set__absolute_file_path(
venv_dir, salt_cli, salt_minion
):
with VirtualEnv(venv_dir):
# Create a requirements file that depends on another one.
req1_filename = os.path.join(venv_dir, "requirements1.txt")
req1b_filename = os.path.join(venv_dir, "requirements1b.txt")
req2_filename = os.path.join(venv_dir, "requirements2.txt")
req2b_filename = os.path.join(venv_dir, "requirements2b.txt")
with salt.utils.files.fopen(req1_filename, "w") as f:
f.write("-r requirements1b.txt\n")
with salt.utils.files.fopen(req1b_filename, "w") as f:
f.write("irc3-plugins-test\n")
with salt.utils.files.fopen(req2_filename, "w") as f:
f.write("-r requirements2b.txt\n")
with salt.utils.files.fopen(req2b_filename, "w") as f:
f.write("pep8\n")
requirements_list = [req1_filename, req2_filename]
ret = salt_cli.run(
"pip.install",
requirements=requirements_list,
bin_env=venv_dir,
cwd=venv_dir,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
assert ret.returncode == 0
found = _pip_successful_install(ret.stdout)
assert found
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.slow_test
def test_requirements_as_list_of_chains__cwd_not_set__absolute_file_path(
venv_dir, salt_cli, salt_minion
):
with VirtualEnv(venv_dir):
# Create a requirements file that depends on another one.
req1_filename = os.path.join(venv_dir, "requirements1.txt")
req1b_filename = os.path.join(venv_dir, "requirements1b.txt")
req2_filename = os.path.join(venv_dir, "requirements2.txt")
req2b_filename = os.path.join(venv_dir, "requirements2b.txt")
with salt.utils.files.fopen(req1_filename, "w") as f:
f.write("-r requirements1b.txt\n")
with salt.utils.files.fopen(req1b_filename, "w") as f:
f.write("irc3-plugins-test\n")
with salt.utils.files.fopen(req2_filename, "w") as f:
f.write("-r requirements2b.txt\n")
with salt.utils.files.fopen(req2b_filename, "w") as f:
f.write("pep8\n")
requirements_list = [req1_filename, req2_filename]
ret = salt_cli.run(
"pip.install",
requirements=requirements_list,
bin_env=venv_dir,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
assert ret.returncode == 0
found = _pip_successful_install(ret.stdout)
assert found
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.slow_test
def test_requirements_as_list__absolute_file_path(venv_dir, salt_cli, salt_minion):
with VirtualEnv(venv_dir):
req1_filename = os.path.join(venv_dir, "requirements.txt")
req2_filename = os.path.join(venv_dir, "requirements2.txt")
with salt.utils.files.fopen(req1_filename, "w") as f:
f.write("irc3-plugins-test\n")
with salt.utils.files.fopen(req2_filename, "w") as f:
f.write("pep8\n")
requirements_list = [req1_filename, req2_filename]
ret = salt_cli.run(
"pip.install",
requirements=requirements_list,
bin_env=venv_dir,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
assert ret.returncode == 0
found = _pip_successful_install(ret.stdout)
assert found
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.slow_test
def test_requirements_as_list__non_absolute_file_path(venv_dir, salt_cli, salt_minion):
with VirtualEnv(venv_dir):
# Create a requirements file that depends on another one.
req1_filename = "requirements.txt"
req2_filename = "requirements2.txt"
req_cwd = venv_dir
req1_filepath = os.path.join(req_cwd, req1_filename)
req2_filepath = os.path.join(req_cwd, req2_filename)
with salt.utils.files.fopen(req1_filepath, "w") as f:
f.write("irc3-plugins-test\n")
with salt.utils.files.fopen(req2_filepath, "w") as f:
f.write("pep8\n")
requirements_list = [req1_filename, req2_filename]
ret = salt_cli.run(
"pip.install",
f"cwd={req_cwd}",
requirements=requirements_list,
bin_env=venv_dir,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
assert ret.returncode == 0
found = _pip_successful_install(ret.stdout)
assert found
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.slow_test
def test_chained_requirements__absolute_file_path(venv_dir, salt_cli, salt_minion):
with VirtualEnv(venv_dir):
# Create a requirements file that depends on another one.
req1_filename = os.path.join(venv_dir, "requirements.txt")
req2_filename = os.path.join(venv_dir, "requirements2.txt")
with salt.utils.files.fopen(req1_filename, "w") as f:
f.write("-r requirements2.txt")
with salt.utils.files.fopen(req2_filename, "w") as f:
f.write("pep8")
ret = salt_cli.run(
"pip.install",
requirements=req1_filename,
bin_env=venv_dir,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
assert ret.returncode == 0
assert "installed pep8" in ret.stdout
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.slow_test
def test_chained_requirements__non_absolute_file_path(venv_dir, salt_cli, salt_minion):
with VirtualEnv(venv_dir):
# Create a requirements file that depends on another one.
req_basepath = venv_dir
req1_filename = "requirements.txt"
req2_filename = "requirements2.txt"
req1_file = os.path.join(venv_dir, req1_filename)
req2_file = os.path.join(venv_dir, req2_filename)
with salt.utils.files.fopen(req1_file, "w") as f:
f.write("-r requirements2.txt")
with salt.utils.files.fopen(req2_file, "w") as f:
f.write("pep8")
ret = salt_cli.run(
"pip.install",
f"cwd={req_basepath}",
requirements=req1_filename,
bin_env=venv_dir,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
assert ret.returncode == 0
assert "installed pep8" in ret.stdout
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.slow_test
def test_issue_4805_nested_requirements(venv_dir, salt_cli, salt_minion):
with VirtualEnv(venv_dir):
# Create a requirements file that depends on another one.
req1_filename = os.path.join(venv_dir, "requirements.txt")
req2_filename = os.path.join(venv_dir, "requirements2.txt")
with salt.utils.files.fopen(req1_filename, "w") as f:
f.write("-r requirements2.txt")
with salt.utils.files.fopen(req2_filename, "w") as f:
f.write("pep8")
ret = salt_cli.run(
"pip.install",
requirements=req1_filename,
bin_env=venv_dir,
timeout=300,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
if _check_download_error(ret.stdout):
pytest.skip("Test skipped due to pip download error")
assert ret.returncode == 0
assert "installed pep8" in ret.stdout
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.slow_test
def test_pip_uninstall(venv_dir, salt_cli, salt_minion):
# Let's create the testing virtualenv
with VirtualEnv(venv_dir):
ret = salt_cli.run(
"pip.install", ["pep8"], bin_env=venv_dir, minion_tgt=salt_minion.id
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
if _check_download_error(ret.stdout):
pytest.skip("Test skipped due to pip download error")
assert ret.returncode == 0
assert "installed pep8" in ret.stdout
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
ret = salt_cli.run(
"pip.uninstall", ["pep8"], bin_env=venv_dir, minion_tgt=salt_minion.id
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.uninstall' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
assert ret.returncode == 0
assert "uninstalled pep8" in ret.stdout
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.slow_test
def test_pip_install_upgrade(venv_dir, salt_cli, salt_minion):
# Create the testing virtualenv
with VirtualEnv(venv_dir):
ret = salt_cli.run(
"pip.install", "pep8==1.3.4", bin_env=venv_dir, minion_tgt=salt_minion.id
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
if _check_download_error(ret.stdout):
pytest.skip("Test skipped due to pip download error")
assert ret.returncode == 0
assert "installed pep8" in ret.stdout
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
ret = salt_cli.run(
"pip.install",
"pep8",
bin_env=venv_dir,
upgrade=True,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
if _check_download_error(ret.stdout):
pytest.skip("Test skipped due to pip download error")
assert ret.returncode == 0
assert "installed pep8" in ret.stdout
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
ret = salt_cli.run(
"pip.uninstall", "pep8", bin_env=venv_dir, minion_tgt=salt_minion.id
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.uninstall' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
assert ret.returncode == 0
assert "uninstalled pep8" in ret.stdout
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.slow_test
def test_pip_install_multiple_editables(venv_dir, salt_cli, salt_minion):
editables = [
"git+https://github.com/saltstack/istr.git@v1.0.1#egg=iStr",
"git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting",
]
# Create the testing virtualenv
with VirtualEnv(venv_dir):
ret = salt_cli.run(
"pip.install",
[],
editable="{}".format(",".join(editables)),
bin_env=venv_dir,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
if _check_download_error(ret.stdout):
pytest.skip("Test skipped due to pip download error")
assert ret.returncode == 0
for package in ("iStr", "SaltTesting"):
match = re.search(
rf"(?:.*)(Successfully installed)(?:.*)({package})(?:.*)",
ret.stdout,
)
assert match is not None
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.slow_test
def test_pip_install_multiple_editables_and_pkgs(venv_dir, salt_cli, salt_minion):
editables = [
"git+https://github.com/saltstack/istr.git@v1.0.1#egg=iStr",
"git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting",
]
# Create the testing virtualenv
with VirtualEnv(venv_dir):
ret = salt_cli.run(
"pip.install",
["pep8"],
editable="{}".format(",".join(editables)),
bin_env=venv_dir,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
try:
if _check_download_error(ret.stdout):
pytest.skip("Test skipped due to pip download error")
assert ret.returncode == 0
for package in ("iStr", "SaltTesting", "pep8"):
match = re.search(
rf"(?:.*)(Successfully installed)(?:.*)({package})(?:.*)",
ret.stdout,
)
assert match is not None
except KeyError as exc:
pytest.fail(
"The returned dictionary is missing an expected key. Error: '{}'."
" Dictionary: {}".format(exc, pprint.pformat(ret))
)
@pytest.mark.parametrize("touch", [True, False])
@pytest.mark.slow_test
def test_pip_non_existent_log_file(venv_dir, salt_cli, salt_minion, tmp_path, touch):
log_file = tmp_path / "tmp-pip-install.log"
if touch:
log_file.touch()
# Create the testing virtualenv
with VirtualEnv(venv_dir):
ret = salt_cli.run(
"pip.install",
["pep8"],
log=str(log_file),
bin_env=venv_dir,
minion_tgt=salt_minion.id,
)
if not isinstance(ret.data, dict):
pytest.fail(
"The 'pip.install' command did not return the expected dictionary."
" Output:\n{}".format(ret)
)
if _check_download_error(ret.stdout):
pytest.skip("Test skipped due to pip download error")
assert ret.returncode == 0
assert log_file.exists()
assert "pep8" in log_file.read_text()
@pytest.mark.skipif(
shutil.which("/bin/pip3") is None, reason="Could not find /bin/pip3"
)
@pytest.mark.skip_on_windows(reason="test specific for linux usage of /bin/python")
@pytest.mark.skip_initial_gh_actions_failure(
reason="This was skipped on older golden images and is failing on newer."
)
def test_system_pip3(salt_cli, salt_minion):
salt_cli.run(
"pip.install",
pkgs=["lazyimport==0.0.1"],
bin_env="/bin/pip3",
minion_tgt=salt_minion.id,
)
ret1 = salt_cli.run(
"cmd.run_all", "/bin/pip3 freeze | grep lazyimport", minion_tgt=salt_minion.id
)
assert "lazyimport==0.0.1" in ret1.stdout
salt_cli.run(
"pip.uninstall",
pkgs=["lazyimport"],
bin_env="/bin/pip3",
minion_tgt=salt_minion.id,
)
ret2 = salt_cli.run(
"cmd.run_all", "/bin/pip3 freeze | grep lazyimport", minion_tgt=salt_minion.id
)
assert ret2.data["stdout"] == ""

View file

@ -6,6 +6,8 @@ import logging
import os
import pathlib
import re
import stat
import subprocess
import textwrap
import pytest
@ -1207,3 +1209,51 @@ def test_contents_file(salt_master, salt_call_cli, tmp_path):
assert state_run["result"] is True
# Check to make sure the file was created
assert target_path.is_file()
@pytest.mark.skip_on_windows
def test_directory_recurse(salt_master, salt_call_cli, tmp_path, grains):
"""
Test modifying ownership of symlink without affecting the link target's
permissions.
"""
target_dir = tmp_path / "test-dir"
target_dir.mkdir()
target_file = target_dir / "test-file"
target_file.write_text("this is a test file")
target_link = target_dir / "test-link"
target_link.symlink_to(target_file)
# Change the ownership of the sybolic link to 'nobody'
ret = subprocess.run(["chown", "-h", "nobody", str(target_link)], check=False)
assert ret.returncode == 0
file_perms = stat.S_IFREG | stat.S_IWUSR | stat.S_IRUSR | stat.S_IRGRP
if grains["os"] != "VMware Photon OS":
file_perms |= stat.S_IROTH
# The permissions of the file should be 644.
assert target_file.stat().st_mode == file_perms
sls_name = "test"
sls_contents = f"""
{target_dir}:
file.directory:
- user: root
- recurse:
- user
"""
sls_tempfile = salt_master.state_tree.base.temp_file(
f"{sls_name}.sls", sls_contents
)
with sls_tempfile:
ret = salt_call_cli.run("state.sls", sls_name)
key = f"file_|-{target_dir}_|-{target_dir}_|-directory"
assert key in ret.json
result = ret.json[key]
assert "changes" in result and result["changes"]
# Permissions of file should not have changed.
assert target_file.stat().st_mode == file_perms

Some files were not shown because too many files have changed in this diff Show more