mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge pull request #66581 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
This commit is contained in:
commit
29b6843268
59 changed files with 13069 additions and 18773 deletions
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
@ -2088,8 +2088,8 @@ jobs:
|
|||
|
||||
|
||||
- name: Merge All Code Coverage Test Run Artifacts
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
id: merge-coverage-artifacts
|
||||
with:
|
||||
name: all-testrun-coverage-artifacts
|
||||
pattern: all-testrun-coverage-artifacts-*
|
||||
|
|
4
.github/workflows/nightly.yml
vendored
4
.github/workflows/nightly.yml
vendored
|
@ -2153,8 +2153,8 @@ jobs:
|
|||
|
||||
|
||||
- name: Merge All Code Coverage Test Run Artifacts
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
id: merge-coverage-artifacts
|
||||
with:
|
||||
name: all-testrun-coverage-artifacts
|
||||
pattern: all-testrun-coverage-artifacts-*
|
||||
|
@ -2770,7 +2770,7 @@ jobs:
|
|||
- name: Upload Repository As An Artifact
|
||||
uses: ./.github/actions/upload-artifact
|
||||
with:
|
||||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo
|
||||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-windows
|
||||
path: artifacts/pkgs/repo/*
|
||||
retention-days: 7
|
||||
if-no-files-found: error
|
||||
|
|
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
@ -363,7 +363,7 @@ jobs:
|
|||
branch: ${{ github.ref }}
|
||||
|
||||
- name: Create Github Release
|
||||
uses: ncipollo/release-action@v1.12.0
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifactErrorsFailBuild: true
|
||||
artifacts: ${{ steps.prepare-release.outputs.release-artifacts }}
|
||||
|
|
2
.github/workflows/scheduled.yml
vendored
2
.github/workflows/scheduled.yml
vendored
|
@ -2135,8 +2135,8 @@ jobs:
|
|||
|
||||
|
||||
- name: Merge All Code Coverage Test Run Artifacts
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
id: merge-coverage-artifacts
|
||||
with:
|
||||
name: all-testrun-coverage-artifacts
|
||||
pattern: all-testrun-coverage-artifacts-*
|
||||
|
|
2
.github/workflows/staging.yml
vendored
2
.github/workflows/staging.yml
vendored
|
@ -2595,7 +2595,7 @@ jobs:
|
|||
- name: Upload Repository As An Artifact
|
||||
uses: ./.github/actions/upload-artifact
|
||||
with:
|
||||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-staging-repo
|
||||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-staging-repo-windows
|
||||
path: artifacts/pkgs/repo/*
|
||||
retention-days: 7
|
||||
if-no-files-found: error
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
- name: Upload Repository As An Artifact
|
||||
uses: ./.github/actions/upload-artifact
|
||||
with:
|
||||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo
|
||||
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo-windows
|
||||
path: artifacts/pkgs/repo/*
|
||||
retention-days: 7
|
||||
if-no-files-found: error
|
||||
|
|
2
.github/workflows/templates/ci.yml.jinja
vendored
2
.github/workflows/templates/ci.yml.jinja
vendored
|
@ -348,8 +348,8 @@
|
|||
#}
|
||||
|
||||
- name: Merge All Code Coverage Test Run Artifacts
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
id: merge-coverage-artifacts
|
||||
with:
|
||||
name: all-testrun-coverage-artifacts
|
||||
pattern: all-testrun-coverage-artifacts-*
|
||||
|
|
|
@ -372,7 +372,7 @@ permissions:
|
|||
branch: ${{ github.ref }}
|
||||
|
||||
- name: Create Github Release
|
||||
uses: ncipollo/release-action@v1.12.0
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifactErrorsFailBuild: true
|
||||
artifacts: ${{ steps.prepare-release.outputs.release-artifacts }}
|
||||
|
|
22
.github/workflows/test-action-linux.yml
vendored
22
.github/workflows/test-action-linux.yml
vendored
|
@ -127,6 +127,11 @@ jobs:
|
|||
run: |
|
||||
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: "Set `TIMESTAMP` environment variable"
|
||||
shell: bash
|
||||
run: |
|
||||
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
|
||||
|
||||
- name: Checkout Source Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
|
@ -275,7 +280,7 @@ jobs:
|
|||
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}
|
||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/coverage/
|
||||
|
||||
|
@ -283,7 +288,7 @@ jobs:
|
|||
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}
|
||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/xml-unittests-output/
|
||||
|
||||
|
@ -291,13 +296,13 @@ jobs:
|
|||
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}
|
||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/logs
|
||||
|
||||
report:
|
||||
name: Test Reports
|
||||
if: always() && fromJSON(needs.generate-matrix.outputs.build-reports) && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
if: always() && fromJSON(needs.generate-matrix.outputs.build-reports) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- test
|
||||
|
@ -313,6 +318,8 @@ jobs:
|
|||
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: Merge JUnit XML Test Run Artifacts
|
||||
if: always() && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.nox-session }}
|
||||
|
@ -321,6 +328,8 @@ jobs:
|
|||
delete-merged: true
|
||||
|
||||
- name: Merge Log Test Run Artifacts
|
||||
if: always() && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.nox-session }}
|
||||
|
@ -329,9 +338,9 @@ jobs:
|
|||
delete-merged: true
|
||||
|
||||
- name: Merge Code Coverage Test Run Artifacts
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
if: ${{ inputs.skip-code-coverage == false }}
|
||||
id: merge-coverage-artifacts
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.nox-session }}
|
||||
pattern: testrun-coverage-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.nox-session }}-*
|
||||
|
@ -347,6 +356,7 @@ jobs:
|
|||
path: artifacts/coverage/
|
||||
|
||||
- name: Show Downloaded Test Run Artifacts
|
||||
if: ${{ inputs.skip-code-coverage == false }}
|
||||
run: |
|
||||
tree -a artifacts
|
||||
|
||||
|
|
22
.github/workflows/test-action-macos.yml
vendored
22
.github/workflows/test-action-macos.yml
vendored
|
@ -120,6 +120,11 @@ jobs:
|
|||
run: |
|
||||
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: "Set `TIMESTAMP` environment variable"
|
||||
shell: bash
|
||||
run: |
|
||||
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
|
||||
|
||||
- name: Checkout Source Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
|
@ -303,7 +308,7 @@ jobs:
|
|||
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}
|
||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/coverage/
|
||||
|
||||
|
@ -311,7 +316,7 @@ jobs:
|
|||
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}
|
||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/xml-unittests-output/
|
||||
|
||||
|
@ -319,13 +324,13 @@ jobs:
|
|||
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}
|
||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/logs
|
||||
|
||||
report:
|
||||
name: Test Reports
|
||||
if: always() && fromJSON(needs.generate-matrix.outputs.build-reports) && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
if: always() && fromJSON(needs.generate-matrix.outputs.build-reports) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- test
|
||||
|
@ -341,6 +346,8 @@ jobs:
|
|||
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: Merge JUnit XML Test Run Artifacts
|
||||
if: always() && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||
|
@ -349,6 +356,8 @@ jobs:
|
|||
delete-merged: true
|
||||
|
||||
- name: Merge Log Test Run Artifacts
|
||||
if: always() && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||
|
@ -357,9 +366,9 @@ jobs:
|
|||
delete-merged: true
|
||||
|
||||
- name: Merge Code Coverage Test Run Artifacts
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
if: ${{ inputs.skip-code-coverage == false }}
|
||||
id: merge-coverage-artifacts
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||
pattern: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-*
|
||||
|
@ -375,6 +384,7 @@ jobs:
|
|||
path: artifacts/coverage/
|
||||
|
||||
- name: Show Downloaded Test Run Artifacts
|
||||
if: ${{ inputs.skip-code-coverage == false }}
|
||||
run: |
|
||||
tree -a artifacts
|
||||
|
||||
|
|
22
.github/workflows/test-action-windows.yml
vendored
22
.github/workflows/test-action-windows.yml
vendored
|
@ -127,6 +127,11 @@ jobs:
|
|||
run: |
|
||||
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: "Set `TIMESTAMP` environment variable"
|
||||
shell: bash
|
||||
run: |
|
||||
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
|
||||
|
||||
- name: Checkout Source Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
|
@ -275,7 +280,7 @@ jobs:
|
|||
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}
|
||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/coverage/
|
||||
|
||||
|
@ -283,7 +288,7 @@ jobs:
|
|||
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}
|
||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/xml-unittests-output/
|
||||
|
||||
|
@ -291,14 +296,14 @@ jobs:
|
|||
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}
|
||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-grp${{ matrix.test-group || '1' }}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/logs
|
||||
|
||||
|
||||
report:
|
||||
name: Test Reports
|
||||
if: always() && fromJSON(needs.generate-matrix.outputs.build-reports) && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
if: always() && fromJSON(needs.generate-matrix.outputs.build-reports) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- test
|
||||
|
@ -314,6 +319,8 @@ jobs:
|
|||
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: Merge JUnit XML Test Run Artifacts
|
||||
if: always() && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||
|
@ -322,6 +329,8 @@ jobs:
|
|||
delete-merged: true
|
||||
|
||||
- name: Merge Log Test Run Artifacts
|
||||
if: always() && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||
|
@ -330,9 +339,9 @@ jobs:
|
|||
delete-merged: true
|
||||
|
||||
- name: Merge Code Coverage Test Run Artifacts
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
if: ${{ inputs.skip-code-coverage == false }}
|
||||
id: merge-coverage-artifacts
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||
pattern: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-*
|
||||
|
@ -348,6 +357,7 @@ jobs:
|
|||
path: artifacts/coverage/
|
||||
|
||||
- name: Show Downloaded Test Run Artifacts
|
||||
if: ${{ inputs.skip-code-coverage == false }}
|
||||
run: |
|
||||
tree -a artifacts
|
||||
|
||||
|
|
12
.github/workflows/test-packages-action-linux.yml
vendored
12
.github/workflows/test-packages-action-linux.yml
vendored
|
@ -83,6 +83,7 @@ jobs:
|
|||
- x86_64
|
||||
outputs:
|
||||
pkg-matrix-include: ${{ steps.generate-pkg-matrix.outputs.matrix }}
|
||||
build-reports: ${{ steps.generate-pkg-matrix.outputs.build-reports }}
|
||||
steps:
|
||||
|
||||
- name: "Throttle Builds"
|
||||
|
@ -126,6 +127,11 @@ jobs:
|
|||
run: |
|
||||
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: "Set `TIMESTAMP` environment variable"
|
||||
shell: bash
|
||||
run: |
|
||||
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
|
||||
|
||||
- name: Checkout Source Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
|
@ -221,7 +227,7 @@ jobs:
|
|||
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.pkg-type }}-${{ inputs.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}
|
||||
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.pkg-type }}-${{ inputs.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts
|
||||
!artifacts/pkg/*
|
||||
|
@ -231,8 +237,9 @@ jobs:
|
|||
report:
|
||||
name: Report
|
||||
runs-on: ubuntu-latest
|
||||
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
if: always() && fromJSON(needs.generate-matrix.outputs.build-reports) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
needs:
|
||||
- generate-matrix
|
||||
- test
|
||||
|
||||
steps:
|
||||
|
@ -245,6 +252,7 @@ jobs:
|
|||
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: Merge Test Run Artifacts
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}${{ inputs.fips && '-fips' || '' }}-${{ inputs.pkg-type }}
|
||||
|
|
12
.github/workflows/test-packages-action-macos.yml
vendored
12
.github/workflows/test-packages-action-macos.yml
vendored
|
@ -79,6 +79,7 @@ jobs:
|
|||
- x86_64
|
||||
outputs:
|
||||
pkg-matrix-include: ${{ steps.generate-pkg-matrix.outputs.matrix }}
|
||||
build-reports: ${{ steps.generate-pkg-matrix.outputs.build-reports }}
|
||||
steps:
|
||||
|
||||
- name: "Throttle Builds"
|
||||
|
@ -118,6 +119,11 @@ jobs:
|
|||
run: |
|
||||
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: "Set `TIMESTAMP` environment variable"
|
||||
shell: bash
|
||||
run: |
|
||||
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
|
||||
|
||||
- name: Checkout Source Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
|
@ -204,7 +210,7 @@ jobs:
|
|||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ inputs.pkg-type }}-${{ inputs.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}
|
||||
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ inputs.pkg-type }}-${{ inputs.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts
|
||||
!artifacts/pkg/*
|
||||
|
@ -214,8 +220,9 @@ jobs:
|
|||
report:
|
||||
name: Report
|
||||
runs-on: ubuntu-latest
|
||||
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
if: always() && fromJSON(needs.generate-matrix.outputs.build-reports) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
needs:
|
||||
- generate-matrix
|
||||
- test
|
||||
|
||||
steps:
|
||||
|
@ -228,6 +235,7 @@ jobs:
|
|||
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: Merge Test Run Artifacts
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
with:
|
||||
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ inputs.pkg-type }}
|
||||
|
|
|
@ -82,6 +82,7 @@ jobs:
|
|||
- x86_64
|
||||
outputs:
|
||||
pkg-matrix-include: ${{ steps.generate-pkg-matrix.outputs.matrix }}
|
||||
build-reports: ${{ steps.generate-pkg-matrix.outputs.build-reports }}
|
||||
steps:
|
||||
|
||||
- name: "Throttle Builds"
|
||||
|
@ -125,6 +126,11 @@ jobs:
|
|||
run: |
|
||||
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
- name: "Set `TIMESTAMP` environment variable"
|
||||
shell: bash
|
||||
run: |
|
||||
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
|
||||
|
||||
- name: Checkout Source Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
|
@ -220,7 +226,7 @@ jobs:
|
|||
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ inputs.pkg-type }}-${{ inputs.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}
|
||||
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ inputs.pkg-type }}-${{ inputs.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts
|
||||
!artifacts/pkg/*
|
||||
|
@ -230,8 +236,9 @@ jobs:
|
|||
report:
|
||||
name: Report
|
||||
runs-on: ubuntu-latest
|
||||
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
if: always() && fromJSON(needs.generate-matrix.outputs.build-reports) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||
needs:
|
||||
- generate-matrix
|
||||
- test
|
||||
|
||||
steps:
|
||||
|
@ -245,6 +252,7 @@ jobs:
|
|||
|
||||
- name: Merge Test Run Artifacts
|
||||
uses: actions/upload-artifact/merge@v4
|
||||
continue-on-error: true
|
||||
with:
|
||||
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ inputs.pkg-type }}
|
||||
pattern: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ inputs.pkg-type }}-*
|
||||
|
|
44
CHANGELOG.md
44
CHANGELOG.md
|
@ -7,6 +7,50 @@ Versions are `MAJOR.PATCH`.
|
|||
|
||||
# Changelog
|
||||
|
||||
## 3007.1 (2024-05-19)
|
||||
|
||||
|
||||
### Removed
|
||||
|
||||
- The ``salt.utils.psutil_compat`` was deprecated and now removed in Salt 3008. Please use the ``psutil`` module directly. [#66160](https://github.com/saltstack/salt/issues/66160)
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixes multiple issues with the cmd module on Windows. Scripts are called using
|
||||
the ``-File`` parameter to the ``powershell.exe`` binary. ``CLIXML`` data in
|
||||
stderr is now removed (only applies to encoded commands). Commands can now be
|
||||
sent to ``cmd.powershell`` as a list. Makes sure JSON data returned is valid.
|
||||
Strips whitespace from the return when using ``runas``. [#61166](https://github.com/saltstack/salt/issues/61166)
|
||||
- Fixed the win_lgpo_netsh salt util to handle non-English systems. This was a
|
||||
rewrite to use PowerShell instead of netsh to make the changes on the system [#61534](https://github.com/saltstack/salt/issues/61534)
|
||||
- Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
|
||||
- Corrected x509_v2 CRL creation `last_update` and `next_update` values when system timezone is not UTC [#65837](https://github.com/saltstack/salt/issues/65837)
|
||||
- Fix for NoneType can't be used in 'await' expression error. [#66177](https://github.com/saltstack/salt/issues/66177)
|
||||
- Log "Publish server binding pub to" messages to debug instead of error level. [#66179](https://github.com/saltstack/salt/issues/66179)
|
||||
- Fix syndic startup by making payload handler a coroutine [#66237](https://github.com/saltstack/salt/issues/66237)
|
||||
- Fixed `aptpkg.remove` "unable to locate package" error for non-existent package [#66260](https://github.com/saltstack/salt/issues/66260)
|
||||
- Fixed pillar.ls doesn't accept kwargs [#66262](https://github.com/saltstack/salt/issues/66262)
|
||||
- Fix cache directory setting in Master Cluster tutorial [#66264](https://github.com/saltstack/salt/issues/66264)
|
||||
- Change log level of successful master cluster key exchange from error to info. [#66266](https://github.com/saltstack/salt/issues/66266)
|
||||
- Made `file.managed` skip download of a remote source if the managed file already exists with the correct hash [#66342](https://github.com/saltstack/salt/issues/66342)
|
||||
- Fixed nftables.build_rule breaks ipv6 rules by using the wrong syntax for source and destination addresses [#66382](https://github.com/saltstack/salt/issues/66382)
|
||||
|
||||
|
||||
### Added
|
||||
|
||||
- Added the ability to pass a version of chocolatey to install to the
|
||||
chocolatey.bootstrap function. Also added states to bootstrap and
|
||||
unbootstrap chocolatey. [#64722](https://github.com/saltstack/salt/issues/64722)
|
||||
- Add Ubuntu 24.04 support [#66180](https://github.com/saltstack/salt/issues/66180)
|
||||
- Add Fedora 40 support, replacing Fedora 39 [#66300](https://github.com/saltstack/salt/issues/66300)
|
||||
|
||||
|
||||
### Security
|
||||
|
||||
- Bump to `pydantic==2.6.4` due to https://github.com/advisories/GHSA-mr82-8j83-vxmv [#66433](https://github.com/saltstack/salt/issues/66433)
|
||||
- Bump to ``jinja2==3.1.4`` due to https://github.com/advisories/GHSA-h75v-3vvj-5mfj [#66488](https://github.com/saltstack/salt/issues/66488)
|
||||
|
||||
|
||||
## 3006.8 (2024-04-29)
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
Fixes multiple issues with the cmd module on Windows. Scripts are called using
|
||||
the ``-File`` parameter to the ``powershell.exe`` binary. ``CLIXML`` data in
|
||||
stderr is now removed (only applies to encoded commands). Commands can now be
|
||||
sent to ``cmd.powershell`` as a list. Makes sure JSON data returned is valid.
|
||||
Strips whitespace from the return when using ``runas``.
|
|
@ -1,2 +0,0 @@
|
|||
Fixed the win_lgpo_netsh salt util to handle non-English systems. This was a
|
||||
rewrite to use PowerShell instead of netsh to make the changes on the system
|
|
@ -1,3 +0,0 @@
|
|||
Added the ability to pass a version of chocolatey to install to the
|
||||
chocolatey.bootstrap function. Also added states to bootstrap and
|
||||
unbootstrap chocolatey.
|
|
@ -1 +0,0 @@
|
|||
Fix typo in nftables module to ensure unique nft family values
|
|
@ -1 +0,0 @@
|
|||
Corrected x509_v2 CRL creation `last_update` and `next_update` values when system timezone is not UTC
|
|
@ -1 +0,0 @@
|
|||
The ``salt.utils.psutil_compat`` was deprecated and now removed in Salt 3008. Please use the ``psutil`` module directly.
|
|
@ -1 +0,0 @@
|
|||
Fix for NoneType can't be used in 'await' expression error.
|
|
@ -1 +0,0 @@
|
|||
Log "Publish server binding pub to" messages to debug instead of error level.
|
|
@ -1 +0,0 @@
|
|||
Add Ubuntu 24.04 support
|
|
@ -1 +0,0 @@
|
|||
Fix syndic startup by making payload handler a coroutine
|
|
@ -1 +0,0 @@
|
|||
Fixed `aptpkg.remove` "unable to locate package" error for non-existent package
|
|
@ -1 +0,0 @@
|
|||
Fixed pillar.ls doesn't accept kwargs
|
|
@ -1 +0,0 @@
|
|||
Fix cache directory setting in Master Cluster tutorial
|
|
@ -1 +0,0 @@
|
|||
Change log level of successful master cluster key exchange from error to info.
|
|
@ -1 +0,0 @@
|
|||
Add Fedora 40 support, replacing Fedora 39
|
|
@ -1 +0,0 @@
|
|||
Made `file.managed` skip download of a remote source if the managed file already exists with the correct hash
|
|
@ -1 +0,0 @@
|
|||
Fixed nftables.build_rule breaks ipv6 rules by using the wrong syntax for source and destination addresses
|
|
@ -1 +0,0 @@
|
|||
Bump to `pydantic==2.6.4` due to https://github.com/advisories/GHSA-mr82-8j83-vxmv
|
|
@ -1 +0,0 @@
|
|||
Bump to ``jinja2==3.1.4`` due to https://github.com/advisories/GHSA-h75v-3vvj-5mfj
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-API" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-API" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-api \- salt-api Command
|
||||
.sp
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-CALL" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-CALL" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-call \- salt-call Documentation
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-CLOUD" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-CLOUD" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-cloud \- Salt Cloud Command
|
||||
.sp
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-CP" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-CP" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-cp \- salt-cp Documentation
|
||||
.sp
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-KEY" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-KEY" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-key \- salt-key Documentation
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-MASTER" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-MASTER" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-master \- salt-master Documentation
|
||||
.sp
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-MINION" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-MINION" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-minion \- salt-minion Documentation
|
||||
.sp
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-PROXY" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-PROXY" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-proxy \- salt-proxy Documentation
|
||||
.sp
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-RUN" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-RUN" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-run \- salt-run Documentation
|
||||
.sp
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-SSH" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-SSH" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-ssh \- salt-ssh Documentation
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT-SYNDIC" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT-SYNDIC" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt-syndic \- salt-syndic Documentation
|
||||
.sp
|
||||
|
|
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SALT" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SALT" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
salt \- salt
|
||||
.SH SYNOPSIS
|
||||
|
|
31366
doc/man/salt.7
31366
doc/man/salt.7
File diff suppressed because it is too large
Load diff
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "SPM" "1" "Generated on April 29, 2024 at 03:20:12 AM UTC." "3006.8" "Salt"
|
||||
.TH "SPM" "1" "Generated on May 19, 2024 at 12:51:08 PM UTC." "3007.1" "Salt"
|
||||
.SH NAME
|
||||
spm \- Salt Package Manager Command
|
||||
.sp
|
||||
|
|
60
doc/topics/releases/3007.1.md
Normal file
60
doc/topics/releases/3007.1.md
Normal file
|
@ -0,0 +1,60 @@
|
|||
(release-3007.1)=
|
||||
# Salt 3007.1 release notes
|
||||
|
||||
<!---
|
||||
Do not edit this file. This is auto generated.
|
||||
Edit the templates in doc/topics/releases/templates/
|
||||
for a given release.
|
||||
-->
|
||||
|
||||
|
||||
<!--
|
||||
Add release specific details below
|
||||
-->
|
||||
|
||||
<!--
|
||||
Do not edit the changelog below.
|
||||
This is auto generated.
|
||||
-->
|
||||
## Changelog
|
||||
|
||||
### Removed
|
||||
|
||||
- The ``salt.utils.psutil_compat`` was deprecated and now removed in Salt 3008. Please use the ``psutil`` module directly. [#66160](https://github.com/saltstack/salt/issues/66160)
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixes multiple issues with the cmd module on Windows. Scripts are called using
|
||||
the ``-File`` parameter to the ``powershell.exe`` binary. ``CLIXML`` data in
|
||||
stderr is now removed (only applies to encoded commands). Commands can now be
|
||||
sent to ``cmd.powershell`` as a list. Makes sure JSON data returned is valid.
|
||||
Strips whitespace from the return when using ``runas``. [#61166](https://github.com/saltstack/salt/issues/61166)
|
||||
- Fixed the win_lgpo_netsh salt util to handle non-English systems. This was a
|
||||
rewrite to use PowerShell instead of netsh to make the changes on the system [#61534](https://github.com/saltstack/salt/issues/61534)
|
||||
- Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
|
||||
- Corrected x509_v2 CRL creation `last_update` and `next_update` values when system timezone is not UTC [#65837](https://github.com/saltstack/salt/issues/65837)
|
||||
- Fix for NoneType can't be used in 'await' expression error. [#66177](https://github.com/saltstack/salt/issues/66177)
|
||||
- Log "Publish server binding pub to" messages to debug instead of error level. [#66179](https://github.com/saltstack/salt/issues/66179)
|
||||
- Fix syndic startup by making payload handler a coroutine [#66237](https://github.com/saltstack/salt/issues/66237)
|
||||
- Fixed `aptpkg.remove` "unable to locate package" error for non-existent package [#66260](https://github.com/saltstack/salt/issues/66260)
|
||||
- Fixed pillar.ls doesn't accept kwargs [#66262](https://github.com/saltstack/salt/issues/66262)
|
||||
- Fix cache directory setting in Master Cluster tutorial [#66264](https://github.com/saltstack/salt/issues/66264)
|
||||
- Change log level of successful master cluster key exchange from error to info. [#66266](https://github.com/saltstack/salt/issues/66266)
|
||||
- Made `file.managed` skip download of a remote source if the managed file already exists with the correct hash [#66342](https://github.com/saltstack/salt/issues/66342)
|
||||
- Fixed nftables.build_rule breaks ipv6 rules by using the wrong syntax for source and destination addresses [#66382](https://github.com/saltstack/salt/issues/66382)
|
||||
|
||||
|
||||
### Added
|
||||
|
||||
- Added the ability to pass a version of chocolatey to install to the
|
||||
chocolatey.bootstrap function. Also added states to bootstrap and
|
||||
unbootstrap chocolatey. [#64722](https://github.com/saltstack/salt/issues/64722)
|
||||
- Add Ubuntu 24.04 support [#66180](https://github.com/saltstack/salt/issues/66180)
|
||||
- Add Fedora 40 support, replacing Fedora 39 [#66300](https://github.com/saltstack/salt/issues/66300)
|
||||
|
||||
|
||||
### Security
|
||||
|
||||
- Bump to `pydantic==2.6.4` due to https://github.com/advisories/GHSA-mr82-8j83-vxmv [#66433](https://github.com/saltstack/salt/issues/66433)
|
||||
- Bump to ``jinja2==3.1.4`` due to https://github.com/advisories/GHSA-h75v-3vvj-5mfj [#66488](https://github.com/saltstack/salt/issues/66488)
|
14
doc/topics/releases/templates/3007.1.md.template
Normal file
14
doc/topics/releases/templates/3007.1.md.template
Normal file
|
@ -0,0 +1,14 @@
|
|||
(release-3007.1)=
|
||||
# Salt 3007.1 release notes{{ unreleased }}
|
||||
{{ warning }}
|
||||
|
||||
<!--
|
||||
Add release specific details below
|
||||
-->
|
||||
|
||||
<!--
|
||||
Do not edit the changelog below.
|
||||
This is auto generated.
|
||||
-->
|
||||
## Changelog
|
||||
{{ changelog }}
|
|
@ -1,3 +1,47 @@
|
|||
salt (3007.1) stable; urgency=medium
|
||||
|
||||
|
||||
# Removed
|
||||
|
||||
* The ``salt.utils.psutil_compat`` was deprecated and now removed in Salt 3008. Please use the ``psutil`` module directly. [#66160](https://github.com/saltstack/salt/issues/66160)
|
||||
|
||||
# Fixed
|
||||
|
||||
* Fixes multiple issues with the cmd module on Windows. Scripts are called using
|
||||
the ``*File`` parameter to the ``powershell.exe`` binary. ``CLIXML`` data in
|
||||
stderr is now removed (only applies to encoded commands). Commands can now be
|
||||
sent to ``cmd.powershell`` as a list. Makes sure JSON data returned is valid.
|
||||
Strips whitespace from the return when using ``runas``. [#61166](https://github.com/saltstack/salt/issues/61166)
|
||||
* Fixed the win_lgpo_netsh salt util to handle non-English systems. This was a
|
||||
rewrite to use PowerShell instead of netsh to make the changes on the system [#61534](https://github.com/saltstack/salt/issues/61534)
|
||||
* Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
|
||||
* Corrected x509_v2 CRL creation `last_update` and `next_update` values when system timezone is not UTC [#65837](https://github.com/saltstack/salt/issues/65837)
|
||||
* Fix for NoneType can't be used in 'await' expression error. [#66177](https://github.com/saltstack/salt/issues/66177)
|
||||
* Log "Publish server binding pub to" messages to debug instead of error level. [#66179](https://github.com/saltstack/salt/issues/66179)
|
||||
* Fix syndic startup by making payload handler a coroutine [#66237](https://github.com/saltstack/salt/issues/66237)
|
||||
* Fixed `aptpkg.remove` "unable to locate package" error for non-existent package [#66260](https://github.com/saltstack/salt/issues/66260)
|
||||
* Fixed pillar.ls doesn't accept kwargs [#66262](https://github.com/saltstack/salt/issues/66262)
|
||||
* Fix cache directory setting in Master Cluster tutorial [#66264](https://github.com/saltstack/salt/issues/66264)
|
||||
* Change log level of successful master cluster key exchange from error to info. [#66266](https://github.com/saltstack/salt/issues/66266)
|
||||
* Made `file.managed` skip download of a remote source if the managed file already exists with the correct hash [#66342](https://github.com/saltstack/salt/issues/66342)
|
||||
* Fixed nftables.build_rule breaks ipv6 rules by using the wrong syntax for source and destination addresses [#66382](https://github.com/saltstack/salt/issues/66382)
|
||||
|
||||
# Added
|
||||
|
||||
* Added the ability to pass a version of chocolatey to install to the
|
||||
chocolatey.bootstrap function. Also added states to bootstrap and
|
||||
unbootstrap chocolatey. [#64722](https://github.com/saltstack/salt/issues/64722)
|
||||
* Add Ubuntu 24.04 support [#66180](https://github.com/saltstack/salt/issues/66180)
|
||||
* Add Fedora 40 support, replacing Fedora 39 [#66300](https://github.com/saltstack/salt/issues/66300)
|
||||
|
||||
# Security
|
||||
|
||||
* Bump to `pydantic==2.6.4` due to https://github.com/advisories/GHSA-mr82-8j83-vxmv [#66433](https://github.com/saltstack/salt/issues/66433)
|
||||
* Bump to ``jinja2==3.1.4`` due to https://github.com/advisories/GHSA-h75v-3vvj-5mfj [#66488](https://github.com/saltstack/salt/issues/66488)
|
||||
|
||||
|
||||
-- Salt Project Packaging <saltproject-packaging@vmware.com> Sun, 19 May 2024 12:48:59 +0000
|
||||
|
||||
salt (3006.8) stable; urgency=medium
|
||||
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
%define fish_dir %{_datadir}/fish/vendor_functions.d
|
||||
|
||||
Name: salt
|
||||
Version: 3007.0
|
||||
Version: 3007.1
|
||||
Release: 0
|
||||
Summary: A parallel remote execution system
|
||||
Group: System Environment/Daemons
|
||||
|
@ -646,6 +646,47 @@ if [ $1 -ge 1 ] ; then
|
|||
fi
|
||||
|
||||
%changelog
|
||||
* Sun May 19 2024 Salt Project Packaging <saltproject-packaging@vmware.com> - 3007.1
|
||||
|
||||
# Removed
|
||||
|
||||
- The ``salt.utils.psutil_compat`` was deprecated and now removed in Salt 3008. Please use the ``psutil`` module directly. [#66160](https://github.com/saltstack/salt/issues/66160)
|
||||
|
||||
# Fixed
|
||||
|
||||
- Fixes multiple issues with the cmd module on Windows. Scripts are called using
|
||||
the ``-File`` parameter to the ``powershell.exe`` binary. ``CLIXML`` data in
|
||||
stderr is now removed (only applies to encoded commands). Commands can now be
|
||||
sent to ``cmd.powershell`` as a list. Makes sure JSON data returned is valid.
|
||||
Strips whitespace from the return when using ``runas``. [#61166](https://github.com/saltstack/salt/issues/61166)
|
||||
- Fixed the win_lgpo_netsh salt util to handle non-English systems. This was a
|
||||
rewrite to use PowerShell instead of netsh to make the changes on the system [#61534](https://github.com/saltstack/salt/issues/61534)
|
||||
- Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
|
||||
- Corrected x509_v2 CRL creation `last_update` and `next_update` values when system timezone is not UTC [#65837](https://github.com/saltstack/salt/issues/65837)
|
||||
- Fix for NoneType can't be used in 'await' expression error. [#66177](https://github.com/saltstack/salt/issues/66177)
|
||||
- Log "Publish server binding pub to" messages to debug instead of error level. [#66179](https://github.com/saltstack/salt/issues/66179)
|
||||
- Fix syndic startup by making payload handler a coroutine [#66237](https://github.com/saltstack/salt/issues/66237)
|
||||
- Fixed `aptpkg.remove` "unable to locate package" error for non-existent package [#66260](https://github.com/saltstack/salt/issues/66260)
|
||||
- Fixed pillar.ls doesn't accept kwargs [#66262](https://github.com/saltstack/salt/issues/66262)
|
||||
- Fix cache directory setting in Master Cluster tutorial [#66264](https://github.com/saltstack/salt/issues/66264)
|
||||
- Change log level of successful master cluster key exchange from error to info. [#66266](https://github.com/saltstack/salt/issues/66266)
|
||||
- Made `file.managed` skip download of a remote source if the managed file already exists with the correct hash [#66342](https://github.com/saltstack/salt/issues/66342)
|
||||
- Fixed nftables.build_rule breaks ipv6 rules by using the wrong syntax for source and destination addresses [#66382](https://github.com/saltstack/salt/issues/66382)
|
||||
|
||||
# Added
|
||||
|
||||
- Added the ability to pass a version of chocolatey to install to the
|
||||
chocolatey.bootstrap function. Also added states to bootstrap and
|
||||
unbootstrap chocolatey. [#64722](https://github.com/saltstack/salt/issues/64722)
|
||||
- Add Ubuntu 24.04 support [#66180](https://github.com/saltstack/salt/issues/66180)
|
||||
- Add Fedora 40 support, replacing Fedora 39 [#66300](https://github.com/saltstack/salt/issues/66300)
|
||||
|
||||
# Security
|
||||
|
||||
- Bump to `pydantic==2.6.4` due to https://github.com/advisories/GHSA-mr82-8j83-vxmv [#66433](https://github.com/saltstack/salt/issues/66433)
|
||||
- Bump to ``jinja2==3.1.4`` due to https://github.com/advisories/GHSA-h75v-3vvj-5mfj [#66488](https://github.com/saltstack/salt/issues/66488)
|
||||
|
||||
|
||||
* Mon Apr 29 2024 Salt Project Packaging <saltproject-packaging@vmware.com> - 3006.8
|
||||
|
||||
# Removed
|
||||
|
|
|
@ -101,7 +101,9 @@ def find_file(path, saltenv="base", **kwargs):
|
|||
full = os.path.join(root, path)
|
||||
|
||||
# Refuse to serve file that is not under the root.
|
||||
if not salt.utils.verify.clean_path(root, full, subdir=True):
|
||||
if not salt.utils.verify.clean_path(
|
||||
root, full, subdir=True, realpath=not __opts__["fileserver_followsymlinks"]
|
||||
):
|
||||
continue
|
||||
|
||||
if os.path.isfile(full) and not salt.fileserver.is_file_ignored(__opts__, full):
|
||||
|
@ -149,7 +151,9 @@ def serve_file(load, fnd):
|
|||
if saltenv == "__env__":
|
||||
root = root.replace("__env__", actual_saltenv)
|
||||
# Refuse to serve file that is not under the root.
|
||||
if salt.utils.verify.clean_path(root, fpath, subdir=True):
|
||||
if salt.utils.verify.clean_path(
|
||||
root, fpath, subdir=True, realpath=not __opts__["fileserver_followsymlinks"]
|
||||
):
|
||||
file_in_root = True
|
||||
if not file_in_root:
|
||||
return ret
|
||||
|
|
|
@ -524,25 +524,28 @@ def _realpath(path):
|
|||
return os.path.realpath(path)
|
||||
|
||||
|
||||
def clean_path(root, path, subdir=False):
|
||||
def clean_path(root, path, subdir=False, realpath=True):
|
||||
"""
|
||||
Accepts the root the path needs to be under and verifies that the path is
|
||||
under said root. Pass in subdir=True if the path can result in a
|
||||
subdirectory of the root instead of having to reside directly in the root
|
||||
subdirectory of the root instead of having to reside directly in the root.
|
||||
Pass realpath=False if filesystem links should not be resolved.
|
||||
"""
|
||||
real_root = _realpath(root)
|
||||
if not os.path.isabs(real_root):
|
||||
if not os.path.isabs(root):
|
||||
return ""
|
||||
root = os.path.normpath(root)
|
||||
if not os.path.isabs(path):
|
||||
path = os.path.join(root, path)
|
||||
path = os.path.normpath(path)
|
||||
real_path = _realpath(path)
|
||||
if realpath:
|
||||
root = _realpath(root)
|
||||
path = _realpath(path)
|
||||
if subdir:
|
||||
if real_path.startswith(real_root):
|
||||
return real_path
|
||||
if os.path.commonpath([path, root]) == root:
|
||||
return path
|
||||
else:
|
||||
if os.path.dirname(real_path) == os.path.normpath(real_root):
|
||||
return real_path
|
||||
if os.path.dirname(path) == root:
|
||||
return path
|
||||
return ""
|
||||
|
||||
|
||||
|
|
|
@ -87,7 +87,9 @@ def peer_salt_minion_3(peer_salt_master):
|
|||
@pytest.mark.parametrize(
|
||||
"source,target", ((x, y) for x in range(1, 4) for y in range(1, 4) if x != y)
|
||||
)
|
||||
def test_peer_communication(source, target, request):
|
||||
def test_peer_communication(source, target, request, grains):
|
||||
if grains["os"] == "Fedora" and grains["osmajorrelease"] >= 40:
|
||||
pytest.skip(f"Temporary skip on {grains['osfinger']}")
|
||||
cli = request.getfixturevalue(f"peer_salt_minion_{source}").salt_call_cli()
|
||||
tgt = request.getfixturevalue(f"peer_salt_minion_{target}").id
|
||||
ret = cli.run("publish.publish", tgt, "test.ping")
|
||||
|
|
|
@ -108,8 +108,10 @@ def test_grains_append_val_is_list(salt_call_cli, append_grain):
|
|||
|
||||
@pytest.mark.timeout_unless_on_windows(300)
|
||||
def test_grains_remove_add(
|
||||
salt_call_cli, append_grain, wait_for_pillar_refresh_complete
|
||||
salt_call_cli, append_grain, wait_for_pillar_refresh_complete, grains
|
||||
):
|
||||
if grains["os"] == "Fedora" and grains["osmajorrelease"] >= 40:
|
||||
pytest.skip(f"Temporary skip on {grains['osfinger']}")
|
||||
second_grain = append_grain.value + "-2"
|
||||
ret = salt_call_cli.run("grains.get", append_grain.key)
|
||||
assert ret.returncode == 0
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
"""
|
||||
|
||||
import copy
|
||||
import os
|
||||
import pathlib
|
||||
import shutil
|
||||
import sys
|
||||
|
@ -315,3 +316,28 @@ def test_serve_file_not_in_root(tmp_state_tree):
|
|||
assert ret == {"data": "", "dest": "..\\bar"}
|
||||
else:
|
||||
assert ret == {"data": "", "dest": "../bar"}
|
||||
|
||||
|
||||
def test_find_file_symlink_destination_not_in_root(tmp_state_tree):
|
||||
dirname = pathlib.Path(tmp_state_tree).parent / "foo"
|
||||
dirname.mkdir(parents=True, exist_ok=True)
|
||||
testfile = dirname / "testfile"
|
||||
testfile.write_text("testfile")
|
||||
symlink = tmp_state_tree / "bar"
|
||||
symlink.symlink_to(str(dirname))
|
||||
ret = roots.find_file("bar/testfile")
|
||||
assert ret["path"] == str(symlink / "testfile")
|
||||
assert ret["rel"] == f"bar{os.sep}testfile"
|
||||
|
||||
|
||||
def test_serve_file_symlink_destination_not_in_root(tmp_state_tree):
|
||||
dirname = pathlib.Path(tmp_state_tree).parent / "foo"
|
||||
dirname.mkdir(parents=True, exist_ok=True)
|
||||
testfile = dirname / "testfile"
|
||||
testfile.write_text("testfile")
|
||||
symlink = tmp_state_tree / "bar"
|
||||
symlink.symlink_to(str(dirname))
|
||||
load = {"path": "bar/testfile", "saltenv": "base", "loc": 0}
|
||||
fnd = {"path": str(symlink / "testfile"), "rel": "bar/testfile"}
|
||||
ret = roots.serve_file(load, fnd)
|
||||
assert ret == {"data": b"testfile", "dest": "bar/testfile"}
|
||||
|
|
|
@ -65,3 +65,11 @@ def test_clean_path_symlinked_tgt(setup_links):
|
|||
expect_path = str(to_path / "test")
|
||||
ret = salt.utils.verify.clean_path(str(from_path), str(test_path))
|
||||
assert ret == expect_path, f"{ret} is not {expect_path}"
|
||||
|
||||
|
||||
def test_clean_path_symlinked_src_unresolved(setup_links):
|
||||
to_path, from_path = setup_links
|
||||
test_path = from_path / "test"
|
||||
expect_path = str(from_path / "test")
|
||||
ret = salt.utils.verify.clean_path(str(from_path), str(test_path), realpath=False)
|
||||
assert ret == expect_path, f"{ret} is not {expect_path}"
|
||||
|
|
28
tools/ci.py
28
tools/ci.py
|
@ -714,7 +714,11 @@ def matrix(
|
|||
_matrix.append({"transport": transport, "tests-chunk": chunk})
|
||||
|
||||
ctx.info("Generated matrix:")
|
||||
ctx.print(_matrix, soft_wrap=True)
|
||||
if not _matrix:
|
||||
ctx.print(" * `None`")
|
||||
else:
|
||||
for entry in _matrix:
|
||||
ctx.print(" * ", entry, soft_wrap=True)
|
||||
|
||||
if (
|
||||
gh_event["repository"]["fork"] is True
|
||||
|
@ -724,11 +728,17 @@ def matrix(
|
|||
ctx.warn("Forks don't have access to MacOS 13 Arm64. Clearning the matrix.")
|
||||
_matrix.clear()
|
||||
|
||||
if not _matrix:
|
||||
build_reports = False
|
||||
ctx.info("Not building reports because the matrix is empty")
|
||||
else:
|
||||
build_reports = True
|
||||
|
||||
github_output = os.environ.get("GITHUB_OUTPUT")
|
||||
if github_output is not None:
|
||||
with open(github_output, "a", encoding="utf-8") as wfh:
|
||||
wfh.write(f"matrix={json.dumps(_matrix)}\n")
|
||||
wfh.write(f"build-reports={json.dumps(len(_matrix) > 0)}\n")
|
||||
wfh.write(f"build-reports={json.dumps(build_reports)}\n")
|
||||
ctx.exit(0)
|
||||
|
||||
|
||||
|
@ -909,7 +919,11 @@ def pkg_matrix(
|
|||
ctx.info(f"No {version} ({backend}) for {distro_slug} at {prefix}")
|
||||
|
||||
ctx.info("Generated matrix:")
|
||||
ctx.print(_matrix, soft_wrap=True)
|
||||
if not _matrix:
|
||||
ctx.print(" * `None`")
|
||||
else:
|
||||
for entry in _matrix:
|
||||
ctx.print(" * ", entry, soft_wrap=True)
|
||||
|
||||
if (
|
||||
gh_event is not None
|
||||
|
@ -920,10 +934,16 @@ def pkg_matrix(
|
|||
ctx.warn("Forks don't have access to MacOS 13 Arm64. Clearning the matrix.")
|
||||
_matrix.clear()
|
||||
|
||||
if not _matrix:
|
||||
build_reports = False
|
||||
ctx.info("Not building reports because the matrix is empty")
|
||||
else:
|
||||
build_reports = True
|
||||
|
||||
if github_output is not None:
|
||||
with open(github_output, "a", encoding="utf-8") as wfh:
|
||||
wfh.write(f"matrix={json.dumps(_matrix)}\n")
|
||||
wfh.write(f"build-reports={json.dumps(len(_matrix) > 0)}\n")
|
||||
wfh.write(f"build-reports={json.dumps(build_reports)}\n")
|
||||
ctx.exit(0)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue