Merge 3006.x into master

This commit is contained in:
Pedro Algarvio 2023-06-30 16:43:42 +01:00
commit d5f14ef632
No known key found for this signature in database
GPG key ID: BB36BF6584A298FF
13 changed files with 292 additions and 37 deletions

View file

@ -47,6 +47,7 @@ jobs:
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
releases: ${{ steps.get-salt-releases.outputs.releases }}
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
steps:
- uses: actions/checkout@v3
with:
@ -199,10 +200,18 @@ jobs:
run: |
tools ci get-releases
- name: Get Latest Salt Releases for Testing
id: get-testing-releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
echo '${{ steps.get-testing-releases.outputs.testing-releases }}' | jq -C '.'
- name: Define Testrun
id: define-testrun
@ -537,6 +546,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centos-7-pkg-tests:
name: CentOS 7 Package Tests
@ -554,6 +564,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centosstream-8-pkg-tests:
name: CentOS Stream 8 Package Tests
@ -571,6 +582,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centosstream-9-pkg-tests:
name: CentOS Stream 9 Package Tests
@ -588,6 +600,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-10-pkg-tests:
name: Debian 10 Package Tests
@ -605,6 +618,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-11-pkg-tests:
name: Debian 11 Package Tests
@ -622,6 +636,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-11-arm64-pkg-tests:
name: Debian 11 Arm64 Package Tests
@ -639,6 +654,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
photonos-3-pkg-tests:
name: Photon OS 3 Package Tests
@ -656,6 +672,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
photonos-4-pkg-tests:
name: Photon OS 4 Package Tests
@ -673,6 +690,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2004-pkg-tests:
name: Ubuntu 20.04 Package Tests
@ -690,6 +708,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2004-arm64-pkg-tests:
name: Ubuntu 20.04 Arm64 Package Tests
@ -707,6 +726,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2204-pkg-tests:
name: Ubuntu 22.04 Package Tests
@ -724,6 +744,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2204-arm64-pkg-tests:
name: Ubuntu 22.04 Arm64 Package Tests
@ -741,6 +762,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
macos-12-pkg-tests:
name: macOS 12 Package Tests
@ -758,6 +780,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016-nsis-pkg-tests:
name: Windows 2016 NSIS Package Tests
@ -775,6 +798,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016-msi-pkg-tests:
name: Windows 2016 MSI Package Tests
@ -792,6 +816,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2019-nsis-pkg-tests:
name: Windows 2019 NSIS Package Tests
@ -809,6 +834,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2019-msi-pkg-tests:
name: Windows 2019 MSI Package Tests
@ -826,6 +852,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2022-nsis-pkg-tests:
name: Windows 2022 NSIS Package Tests
@ -843,6 +870,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2022-msi-pkg-tests:
name: Windows 2022 MSI Package Tests
@ -860,6 +888,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
skip-junit-reports: ${{ github.event_name == 'pull_request' }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016:
name: Windows 2016

View file

@ -93,6 +93,7 @@ jobs:
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
releases: ${{ steps.get-salt-releases.outputs.releases }}
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
steps:
- uses: actions/checkout@v3
with:
@ -245,10 +246,18 @@ jobs:
run: |
tools ci get-releases
- name: Get Latest Salt Releases for Testing
id: get-testing-releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
echo '${{ steps.get-testing-releases.outputs.testing-releases }}' | jq -C '.'
- name: Define Testrun
id: define-testrun
@ -589,6 +598,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centos-7-pkg-tests:
name: CentOS 7 Package Tests
@ -606,6 +616,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centosstream-8-pkg-tests:
name: CentOS Stream 8 Package Tests
@ -623,6 +634,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centosstream-9-pkg-tests:
name: CentOS Stream 9 Package Tests
@ -640,6 +652,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-10-pkg-tests:
name: Debian 10 Package Tests
@ -657,6 +670,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-11-pkg-tests:
name: Debian 11 Package Tests
@ -674,6 +688,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-11-arm64-pkg-tests:
name: Debian 11 Arm64 Package Tests
@ -691,6 +706,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
photonos-3-pkg-tests:
name: Photon OS 3 Package Tests
@ -708,6 +724,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
photonos-4-pkg-tests:
name: Photon OS 4 Package Tests
@ -725,6 +742,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2004-pkg-tests:
name: Ubuntu 20.04 Package Tests
@ -742,6 +760,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2004-arm64-pkg-tests:
name: Ubuntu 20.04 Arm64 Package Tests
@ -759,6 +778,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2204-pkg-tests:
name: Ubuntu 22.04 Package Tests
@ -776,6 +796,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2204-arm64-pkg-tests:
name: Ubuntu 22.04 Arm64 Package Tests
@ -793,6 +814,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
macos-12-pkg-tests:
name: macOS 12 Package Tests
@ -810,6 +832,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016-nsis-pkg-tests:
name: Windows 2016 NSIS Package Tests
@ -827,6 +850,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016-msi-pkg-tests:
name: Windows 2016 MSI Package Tests
@ -844,6 +868,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2019-nsis-pkg-tests:
name: Windows 2019 NSIS Package Tests
@ -861,6 +886,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2019-msi-pkg-tests:
name: Windows 2019 MSI Package Tests
@ -878,6 +904,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2022-nsis-pkg-tests:
name: Windows 2022 NSIS Package Tests
@ -895,6 +922,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2022-msi-pkg-tests:
name: Windows 2022 MSI Package Tests
@ -912,6 +940,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016:
name: Windows 2016

View file

@ -83,6 +83,7 @@ jobs:
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
releases: ${{ steps.get-salt-releases.outputs.releases }}
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
steps:
- uses: actions/checkout@v3
with:
@ -235,10 +236,18 @@ jobs:
run: |
tools ci get-releases
- name: Get Latest Salt Releases for Testing
id: get-testing-releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
echo '${{ steps.get-testing-releases.outputs.testing-releases }}' | jq -C '.'
- name: Define Testrun
id: define-testrun
@ -573,6 +582,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centos-7-pkg-tests:
name: CentOS 7 Package Tests
@ -590,6 +600,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centosstream-8-pkg-tests:
name: CentOS Stream 8 Package Tests
@ -607,6 +618,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centosstream-9-pkg-tests:
name: CentOS Stream 9 Package Tests
@ -624,6 +636,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-10-pkg-tests:
name: Debian 10 Package Tests
@ -641,6 +654,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-11-pkg-tests:
name: Debian 11 Package Tests
@ -658,6 +672,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-11-arm64-pkg-tests:
name: Debian 11 Arm64 Package Tests
@ -675,6 +690,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
photonos-3-pkg-tests:
name: Photon OS 3 Package Tests
@ -692,6 +708,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
photonos-4-pkg-tests:
name: Photon OS 4 Package Tests
@ -709,6 +726,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2004-pkg-tests:
name: Ubuntu 20.04 Package Tests
@ -726,6 +744,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2004-arm64-pkg-tests:
name: Ubuntu 20.04 Arm64 Package Tests
@ -743,6 +762,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2204-pkg-tests:
name: Ubuntu 22.04 Package Tests
@ -760,6 +780,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2204-arm64-pkg-tests:
name: Ubuntu 22.04 Arm64 Package Tests
@ -777,6 +798,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
macos-12-pkg-tests:
name: macOS 12 Package Tests
@ -794,6 +816,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016-nsis-pkg-tests:
name: Windows 2016 NSIS Package Tests
@ -811,6 +834,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016-msi-pkg-tests:
name: Windows 2016 MSI Package Tests
@ -828,6 +852,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2019-nsis-pkg-tests:
name: Windows 2019 NSIS Package Tests
@ -845,6 +870,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2019-msi-pkg-tests:
name: Windows 2019 MSI Package Tests
@ -862,6 +888,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2022-nsis-pkg-tests:
name: Windows 2022 NSIS Package Tests
@ -879,6 +906,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2022-msi-pkg-tests:
name: Windows 2022 MSI Package Tests
@ -896,6 +924,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: false
skip-junit-reports: false
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016:
name: Windows 2016

View file

@ -73,6 +73,7 @@ jobs:
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
releases: ${{ steps.get-salt-releases.outputs.releases }}
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
steps:
- uses: actions/checkout@v3
with:
@ -231,10 +232,18 @@ jobs:
run: |
tools ci get-releases
- name: Get Latest Salt Releases for Testing
id: get-testing-releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
echo '${{ steps.get-testing-releases.outputs.testing-releases }}' | jq -C '.'
- name: Define Testrun
id: define-testrun
@ -579,6 +588,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centos-7-pkg-tests:
name: CentOS 7 Package Tests
@ -596,6 +606,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centosstream-8-pkg-tests:
name: CentOS Stream 8 Package Tests
@ -613,6 +624,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
centosstream-9-pkg-tests:
name: CentOS Stream 9 Package Tests
@ -630,6 +642,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-10-pkg-tests:
name: Debian 10 Package Tests
@ -647,6 +660,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-11-pkg-tests:
name: Debian 11 Package Tests
@ -664,6 +678,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
debian-11-arm64-pkg-tests:
name: Debian 11 Arm64 Package Tests
@ -681,6 +696,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
photonos-3-pkg-tests:
name: Photon OS 3 Package Tests
@ -698,6 +714,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
photonos-4-pkg-tests:
name: Photon OS 4 Package Tests
@ -715,6 +732,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2004-pkg-tests:
name: Ubuntu 20.04 Package Tests
@ -732,6 +750,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2004-arm64-pkg-tests:
name: Ubuntu 20.04 Arm64 Package Tests
@ -749,6 +768,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2204-pkg-tests:
name: Ubuntu 22.04 Package Tests
@ -766,6 +786,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
ubuntu-2204-arm64-pkg-tests:
name: Ubuntu 22.04 Arm64 Package Tests
@ -783,6 +804,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
macos-12-pkg-tests:
name: macOS 12 Package Tests
@ -800,6 +822,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016-nsis-pkg-tests:
name: Windows 2016 NSIS Package Tests
@ -817,6 +840,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016-msi-pkg-tests:
name: Windows 2016 MSI Package Tests
@ -834,6 +858,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2019-nsis-pkg-tests:
name: Windows 2019 NSIS Package Tests
@ -851,6 +876,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2019-msi-pkg-tests:
name: Windows 2019 MSI Package Tests
@ -868,6 +894,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2022-nsis-pkg-tests:
name: Windows 2022 NSIS Package Tests
@ -885,6 +912,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2022-msi-pkg-tests:
name: Windows 2022 MSI Package Tests
@ -902,6 +930,7 @@ jobs:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.11.3
skip-code-coverage: true
skip-junit-reports: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
windows-2016:
name: Windows 2016

View file

@ -92,6 +92,7 @@ jobs:
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
releases: ${{ steps.get-salt-releases.outputs.releases }}
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
steps:
- uses: actions/checkout@v3
with:
@ -256,10 +257,18 @@ jobs:
run: |
tools ci get-releases
- name: Get Latest Salt Releases for Testing
id: get-testing-releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
echo '${{ steps.get-testing-releases.outputs.testing-releases }}' | jq -C '.'
- name: Define Testrun
id: define-testrun

View file

@ -53,6 +53,7 @@
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
skip-code-coverage: <{ skip_test_coverage_check }>
skip-junit-reports: <{ skip_junit_reports_check }>
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
<%- endfor %>
@ -78,6 +79,7 @@
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
skip-code-coverage: <{ skip_test_coverage_check }>
skip-junit-reports: <{ skip_junit_reports_check }>
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
<%- endfor %>
@ -105,6 +107,7 @@
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
skip-code-coverage: <{ skip_test_coverage_check }>
skip-junit-reports: <{ skip_junit_reports_check }>
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
<%- endfor %>
<%- endfor %>

View file

@ -27,6 +27,10 @@ on:
required: true
type: string
description: Seed used to invalidate caches
testing-releases:
required: true
type: string
description: A JSON list of releases to test upgrades against
python-version:
required: false
type: string
@ -79,7 +83,7 @@ jobs:
- name: Generate Package Test Matrix
id: generate-pkg-matrix
run: |
tools ci pkg-matrix ${{ inputs.distro-slug }} ${{ inputs.pkg-type }}
tools ci pkg-matrix ${{ inputs.distro-slug }} ${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }}
dependencies:
name: Setup Test Dependencies
@ -230,7 +234,8 @@ jobs:
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.test-chunk }}
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.test-chunk }} \
${{ contains(matrix.test-chunk, 'upgrade') && format('--prev-version {0}', matrix.version) || ''}}
- name: Run Package Tests
env:
@ -242,7 +247,8 @@ jobs:
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.test-chunk }}
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.test-chunk }} \
${{ contains(matrix.test-chunk, 'upgrade') && format('--prev-version {0}', matrix.version) || ''}}
- name: Fix file ownership
run: |

View file

@ -27,6 +27,10 @@ on:
required: true
type: string
description: Seed used to invalidate caches
testing-releases:
required: true
type: string
description: A JSON list of releases to test upgrades against
package-name:
required: false
type: string
@ -77,7 +81,7 @@ jobs:
- name: Generate Package Test Matrix
id: generate-pkg-matrix
run: |
tools ci pkg-matrix ${{ inputs.distro-slug }} ${{ inputs.pkg-type }}
tools ci pkg-matrix ${{ inputs.distro-slug }} ${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }}
dependencies:
name: Setup Test Dependencies
@ -260,12 +264,14 @@ jobs:
- name: Show System Info & Test Plan
run: |
tools --timestamps --timeout-secs=1800 vm testplan --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }} -- ${{ matrix.test-chunk }}
--nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }} -- ${{ matrix.test-chunk }} \
${{ contains(matrix.test-chunk, 'upgrade') && format('--prev-version {0}', matrix.version) || ''}}
- name: Run Package Tests
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install\
--nox-session=${{ inputs.nox-session }} --rerun-failures ${{ inputs.distro-slug }} -- ${{ matrix.test-chunk }}
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures ${{ inputs.distro-slug }} -- ${{ matrix.test-chunk }} \
${{ contains(matrix.test-chunk, 'upgrade') && format('--prev-version {0}', matrix.version) || ''}}
- name: Download Test Run Artifacts
id: download-artifacts-from-vm

View file

@ -363,6 +363,8 @@ def salt_master(salt_factories, install_salt, state_tree, pillar_tree):
master_script = True
# this check will need to be changed to install_salt.relenv
# once the package version returns 3006 and not 3005 on master
if install_salt.relenv:
master_script = True
elif not install_salt.upgrade:
master_script = True
@ -375,6 +377,8 @@ def salt_master(salt_factories, install_salt, state_tree, pillar_tree):
python_executable = install_salt.bin_dir / "Scripts" / "python.exe"
if install_salt.classic:
python_executable = install_salt.bin_dir / "python.exe"
if install_salt.relenv:
python_executable = install_salt.install_dir / "Scripts" / "python.exe"
factory = salt_factories.salt_master_daemon(
random_string("master-"),
defaults=config_defaults,

View file

@ -661,6 +661,7 @@ class SaltPkgInstall:
minor_ver = self.minor
pkg_version = self.pkg_version
full_version = f"{self.major}.{self.minor}-{pkg_version}"
relenv = int(major_ver) >= 3006
min_ver = f"{major_ver}"
distro_name = self.distro_name
@ -676,6 +677,9 @@ class SaltPkgInstall:
gpg_key = "SALTSTACK-GPG-KEY.pub"
if self.distro_version == "9":
gpg_key = "SALTSTACK-GPG-KEY2.pub"
if relenv:
gpg_key = "SALT-PROJECT-GPG-PUBKEY-2023.pub"
if platform.is_aarch64():
arch = "aarch64"
else:
@ -713,15 +717,20 @@ class SaltPkgInstall:
else:
arch = "amd64"
pathlib.Path("/etc/apt/keyrings").mkdir(parents=True, exist_ok=True)
gpg_dest = "salt-archive-keyring.gpg"
gpg_key = gpg_dest
if relenv:
gpg_key = "SALT-PROJECT-GPG-PUBKEY-2023.gpg"
download_file(
f"https://repo.saltproject.io/{root_url}{distro_name}/{self.distro_version}/{arch}/{major_ver}/salt-archive-keyring.gpg",
"/etc/apt/keyrings/salt-archive-keyring.gpg",
f"https://repo.saltproject.io/{root_url}{distro_name}/{self.distro_version}/{arch}/{major_ver}/{gpg_key}",
f"/etc/apt/keyrings/{gpg_dest}",
)
with open(
pathlib.Path("/etc", "apt", "sources.list.d", "salt.list"), "w"
) as fp:
fp.write(
f"deb [signed-by=/etc/apt/keyrings/salt-archive-keyring.gpg arch={arch}] "
f"deb [signed-by=/etc/apt/keyrings/{gpg_dest} arch={arch}] "
f"https://repo.saltproject.io/{root_url}{distro_name}/{self.distro_version}/{arch}/{major_ver} {self.distro_codename} main"
)
ret = self.proc.run(self.pkg_mngr, "update")
@ -740,12 +749,21 @@ class SaltPkgInstall:
self.bin_dir = self.install_dir / "bin"
self.run_root = self.bin_dir / f"salt.exe"
self.ssm_bin = self.bin_dir / "ssm.exe"
if self.file_ext == "msi":
if self.file_ext == "msi" or relenv:
self.ssm_bin = self.install_dir / "ssm.exe"
if not self.classic:
win_pkg = f"salt-{full_version}-windows-amd64.{self.file_ext}"
win_pkg_url = f"https://repo.saltproject.io/salt/py3/windows/{full_version}/{win_pkg}"
if not relenv:
win_pkg = f"salt-{self.prev_version}-windows-amd64.{self.file_ext}"
win_pkg_url = f"https://repo.saltproject.io/salt/py3/windows/{self.prev_version}/{win_pkg}"
else:
if self.file_ext == "msi":
win_pkg = (
f"Salt-Minion-{self.prev_version}-Py3-AMD64.{self.file_ext}"
)
elif self.file_ext == "exe":
win_pkg = f"Salt-Minion-{self.prev_version}-Py3-AMD64-Setup.{self.file_ext}"
win_pkg_url = f"https://repo.saltproject.io/salt/py3/windows/{major_ver}/{win_pkg}"
else:
if self.file_ext == "msi":
win_pkg = f"Salt-Minion-{min_ver}-1-Py3-AMD64.{self.file_ext}"
@ -754,10 +772,8 @@ class SaltPkgInstall:
win_pkg_url = f"https://repo.saltproject.io/windows/{win_pkg}"
pkg_path = pathlib.Path(r"C:\TEMP", win_pkg)
pkg_path.parent.mkdir(exist_ok=True)
ret = requests.get(win_pkg_url)
download_file(win_pkg_url, pkg_path)
with open(pkg_path, "wb") as fp:
fp.write(ret.content)
if self.file_ext == "msi":
# Write a batch file to run the installer. It is impossible to
# perform escaping of the START_MINION property that the MSI
@ -782,11 +798,16 @@ class SaltPkgInstall:
elif platform.is_darwin():
if self.classic:
mac_pkg = f"salt-{min_ver}.{minor_ver}-1-py3-x86_64.pkg"
mac_pkg = f"salt-{self.prev_version}-py3-x86_64.pkg"
mac_pkg_url = f"https://repo.saltproject.io/osx/{mac_pkg}"
else:
mac_pkg = f"salt-{min_ver}.{minor_ver}-1-macos-x86_64.pkg"
mac_pkg_url = f"https://repo.saltproject.io/salt/py3/macos/{major_ver}.{minor_ver}-1/{mac_pkg}"
if not relenv:
mac_pkg = f"salt-{self.prev_version}-macos-x86_64.pkg"
mac_pkg_url = f"https://repo.saltproject.io/salt/py3/macos/{self.prev_version}/{mac_pkg}"
else:
mac_pkg = f"salt-{self.prev_version}-py3-x86_64.pkg"
mac_pkg_url = f"https://repo.saltproject.io/salt/py3/macos/{major_ver}/{mac_pkg}"
mac_pkg_path = f"/tmp/{mac_pkg}"
if not os.path.exists(mac_pkg_path):
download_file(

View file

@ -171,8 +171,8 @@ def pytest_addoption(parser):
"--no-fast",
"--no-fast-tests",
dest="fast",
action="store_false",
default=True,
action="store_true",
default=False,
help="Don't run salt-fast tests. Default: %(default)s",
)
test_selection_group.addoption(

View file

@ -647,18 +647,29 @@ def transport_matrix(ctx: Context, distro_slug: str):
"help": "The distribution slug to generate the matrix for",
},
"pkg_type": {
"help": "The distribution slug to generate the matrix for",
"help": "The type of package we are testing against",
},
"testing_releases": {
"help": "The salt releases to test upgrades against",
"nargs": "+",
"required": True,
},
},
)
def pkg_matrix(ctx: Context, distro_slug: str, pkg_type: str):
def pkg_matrix(
ctx: Context,
distro_slug: str,
pkg_type: str,
testing_releases: list[tools.utils.Version] = None,
):
"""
Generate the test matrix.
"""
github_output = os.environ.get("GITHUB_OUTPUT")
if github_output is None:
ctx.warn("The 'GITHUB_OUTPUT' variable is not set.")
if TYPE_CHECKING:
assert testing_releases
matrix = []
sessions = [
"install",
@ -675,11 +686,12 @@ def pkg_matrix(ctx: Context, distro_slug: str, pkg_type: str):
and pkg_type != "MSI"
):
# These OS's never had arm64 packages built for them
# with the tiamate onedir packages.
# with the tiamat onedir packages.
# we will need to ensure when we release 3006.0
# we allow for 3006.0 jobs to run, because then
# we will have arm64 onedir packages to upgrade from
sessions.append("upgrade")
# TODO: Remove this block when we reach version 3009.0, we will no longer be testing upgrades from classic packages
if (
distro_slug
not in [
@ -695,9 +707,20 @@ def pkg_matrix(ctx: Context, distro_slug: str, pkg_type: str):
sessions.append("upgrade-classic")
for session in sessions:
versions: list[str | None] = [None]
if session == "upgrade":
versions = [str(version) for version in testing_releases]
elif session == "upgrade-classic":
versions = [
str(version)
for version in testing_releases
if version < tools.utils.Version("3006.0")
]
for version in versions:
matrix.append(
{
"test-chunk": session,
"version": version,
}
)
ctx.info("Generated matrix:")
@ -898,3 +921,70 @@ def _filter_test_labels(labels: list[dict[str, Any]]) -> list[tuple[str, str]]:
for label in labels
if label["name"].startswith("test:")
]
@ci.command(
name="get-testing-releases",
arguments={
"releases": {
"help": "The list of releases of salt",
"nargs": "*",
},
"salt_version": {
"help": "The version of salt being tested against",
"required": True,
},
},
)
def get_testing_releases(
ctx: Context,
releases: list[tools.utils.Version],
salt_version: str = None,
):
"""
Get a list of releases to use for the upgrade and downgrade tests.
"""
github_output = os.environ.get("GITHUB_OUTPUT")
if github_output is None:
ctx.exit(1, "The 'GITHUB_OUTPUT' variable is not set.")
else:
# We aren't testing upgrades from anything before 3006.0 except the latest 3005.x
threshold_major = 3006
parsed_salt_version = tools.utils.Version(salt_version)
# We want the latest 4 major versions, removing the oldest if this version is a new major
num_major_versions = 4
if parsed_salt_version.minor == 0:
num_major_versions = 3
majors = sorted(
list(
{
version.major
for version in releases
if version.major >= threshold_major
}
)
)[-num_major_versions:]
testing_releases = []
# Append the latest minor for each major
for major in majors:
minors_of_major = [
version for version in releases if version.major == major
]
testing_releases.append(minors_of_major[-1])
# TODO: Remove this block when we reach version 3009.0
# Append the latest minor version of 3005 if we don't have enough major versions to test against
if len(testing_releases) != num_major_versions:
url = "https://repo.saltproject.io/salt/onedir/repo.json"
ret = ctx.web.get(url)
repo_data = ret.json()
latest = list(repo_data["latest"].keys())[0]
version = repo_data["latest"][latest]["version"]
testing_releases = [version] + testing_releases
str_releases = [str(version) for version in testing_releases]
with open(github_output, "a", encoding="utf-8") as wfh:
wfh.write(f"testing-releases={json.dumps(str_releases)}\n")
ctx.exit(0)

View file

@ -135,6 +135,9 @@ class Version(packaging.version.Version):
other = self.__class__(other)
return super().__ne__(other)
def __str__(self):
return super().__str__().replace(".post", "-")
def __hash__(self):
return hash(str(self))
@ -161,9 +164,6 @@ def get_salt_releases(ctx: Context, repository: str) -> list[Version]:
name = tag["name"]
if name.startswith("v"):
name = name[1:]
if "-" in name:
# We're not going to parse dash tags
continue
if "docs" in name:
# We're not going to consider doc tags
continue
@ -180,12 +180,12 @@ def get_salt_releases(ctx: Context, repository: str) -> list[Version]:
name = release["name"]
if name.startswith("v"):
name = name[1:]
if name and "-" not in name and "docs" not in name:
# We're not going to parse dash or docs releases
if name and "docs" not in name:
# We're not going to parse docs releases
versions.add(Version(name))
name = release["tag_name"]
if "-" not in name and "docs" not in name:
# We're not going to parse dash or docs releases
if "docs" not in name:
# We're not going to parse docs releases
versions.add(Version(name))
return sorted(versions)