Skip to content

Commit

Permalink
Merge pull request #66910 from dwoz/merge/3007.x/3006.x
Browse files Browse the repository at this point in the history
[3007.x] Merge forward 3006.x into 3007.x
  • Loading branch information
dwoz authored Sep 23, 2024
2 parents 17f9ff5 + c384489 commit 0007447
Show file tree
Hide file tree
Showing 101 changed files with 1,684 additions and 547 deletions.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
blank_issues_enabled: true
contact_links:
- name: Salt Community Slack
url: https://saltstackcommunity.slack.com/
- name: Salt Community Discord
url: https://discord.com/invite/J7b7EscrAs
about: Please ask and answer questions here.
- name: Salt-Users Forum
url: https://groups.google.com/forum/#!forum/salt-users
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/tech-debt.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ assignees: ''
---

### Description of the tech debt to be addressed, include links and screenshots
<!-- Note: Please direct questions to the salt-users google group, IRC or Community Slack. -->
<!-- Note: Please direct questions to the salt-users google group, IRC or Community Discord. -->

### Versions Report
(Provided by running `salt --versions-report`. Please also mention any differences in master/minion versions.)
16 changes: 12 additions & 4 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,23 @@ Remove this section if not relevant

### Merge requirements satisfied?
**[NOTICE] Bug fixes or features added to Salt require tests.**
<!-- Please review the [test documentation](https://docs.saltproject.io/en/master/topics/tutorials/writing_tests.html) for details on how to implement tests into Salt's test suite. -->
<!-- Please review the test documentation for details on how to implement tests
into Salt's test suite:
https://docs.saltproject.io/en/master/topics/tutorials/writing_tests.html -->
- [ ] Docs
- [ ] Changelog - https://docs.saltproject.io/en/master/topics/development/changelog.html
- [ ] Tests written/updated

### Commits signed with GPG?
Yes/No

Please review [Salt's Contributing Guide](https://docs.saltproject.io/en/master/topics/development/contributing.html) for best practices, including the
[PR Guidelines](https://docs.saltproject.io/en/master/topics/development/pull_requests.html).
<!-- Please review Salt's Contributing Guide for best practices and guidance in
choosing the right branch:
https://docs.saltproject.io/en/master/topics/development/contributing.html -->

See GitHub's [page on GPG signing](https://help.github.com/articles/signing-commits-using-gpg/) for more information about signing commits with GPG.
<!-- Additional guidance for pull requests can be found here:
https://docs.saltproject.io/en/master/topics/development/pull_requests.html -->

<!-- See GitHub's page on GPG signing for more information about signing commits
with GPG:
https://help.github.com/articles/signing-commits-using-gpg/ -->
4 changes: 2 additions & 2 deletions .github/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ newIssueWelcomeComment: >
- [Community Wiki](https://github.com/saltstack/community/wiki)
- [Salt’s Contributor Guide](https://docs.saltproject.io/en/master/topics/development/contributing.html)
- [Join our Community Slack](https://via.vmw.com/salt-slack)
- [Join our Community Discord](https://discord.com/invite/J7b7EscrAs)
- [IRC on LiberaChat](https://web.libera.chat/#salt)
- [Salt Project YouTube channel](https://www.youtube.com/channel/UCpveTIucFx9ljGelW63-BWg)
- [Salt Project Twitch channel](https://www.twitch.tv/saltprojectoss)
Expand All @@ -39,7 +39,7 @@ newPRWelcomeComment: >
- [Community Wiki](https://github.com/saltstack/community/wiki)
- [Salt’s Contributor Guide](https://docs.saltproject.io/en/master/topics/development/contributing.html)
- [Join our Community Slack](https://via.vmw.com/salt-slack)
- [Join our Community Discord](https://discord.com/invite/J7b7EscrAs)
- [IRC on LiberaChat](https://web.libera.chat/#salt)
- [Salt Project YouTube channel](https://www.youtube.com/channel/UCpveTIucFx9ljGelW63-BWg)
- [Salt Project Twitch channel](https://www.twitch.tv/saltprojectoss)
Expand Down
38 changes: 14 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,9 @@ jobs:
- pkg/**
- *pkg_requirements
- *salt_added_modified
nsis_tests:
- added|modified: &nsis_tests
- pkg/windows/nsis/**
testrun:
- added|modified:
- *pkg_requirements
Expand Down Expand Up @@ -260,6 +263,14 @@ jobs:
- prepare-workflow
with:
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }}
nsis-tests:
name: NSIS Tests
if: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
uses: ./.github/workflows/nsis-tests.yml
needs:
- prepare-workflow
with:
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }}

prepare-release:
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
Expand Down Expand Up @@ -1537,27 +1548,6 @@ jobs:
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}

archlinux-lts:
name: Arch Linux LTS Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-ci-deps
uses: ./.github/workflows/test-action-linux.yml
with:
distro-slug: archlinux-lts
nox-session: ci-test-onedir
platform: linux
arch: x86_64
nox-version: 2022.8.7
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
workflow-slug: ci
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}

debian-11:
name: Debian 11 Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON(needs.prepare-workflow.outputs.os-labels), 'debian-11') }}
Expand Down Expand Up @@ -2005,7 +1995,6 @@ jobs:
- amazonlinux-2-arm64
- amazonlinux-2023
- amazonlinux-2023-arm64
- archlinux-lts
- debian-11
- debian-11-arm64
- debian-12
Expand Down Expand Up @@ -2059,8 +2048,9 @@ jobs:
id: get-coverage-reports
uses: actions/download-artifact@v4
with:
name: all-testrun-coverage-artifacts
path: artifacts/coverage/
pattern: all-testrun-coverage-artifacts*
merge-multiple: true

- name: Display structure of downloaded files
run: tree -a artifacts/
Expand Down Expand Up @@ -2152,6 +2142,7 @@ jobs:
- prepare-workflow
- pre-commit
- lint
- nsis-tests
- build-docs
- build-deps-onedir
- build-salt-onedir
Expand All @@ -2172,7 +2163,6 @@ jobs:
- amazonlinux-2-arm64
- amazonlinux-2023
- amazonlinux-2023-arm64
- archlinux-lts
- debian-11
- debian-11-arm64
- debian-12
Expand Down
38 changes: 14 additions & 24 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,9 @@ jobs:
- pkg/**
- *pkg_requirements
- *salt_added_modified
nsis_tests:
- added|modified: &nsis_tests
- pkg/windows/nsis/**
testrun:
- added|modified:
- *pkg_requirements
Expand Down Expand Up @@ -317,6 +320,14 @@ jobs:
- prepare-workflow
with:
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }}
nsis-tests:
name: NSIS Tests
if: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
uses: ./.github/workflows/nsis-tests.yml
needs:
- prepare-workflow
with:
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }}

prepare-release:
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
Expand Down Expand Up @@ -1602,27 +1613,6 @@ jobs:
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}

archlinux-lts:
name: Arch Linux LTS Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-ci-deps
uses: ./.github/workflows/test-action-linux.yml
with:
distro-slug: archlinux-lts
nox-session: ci-test-onedir
platform: linux
arch: x86_64
nox-version: 2022.8.7
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: nightly
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}

debian-11:
name: Debian 11 Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
Expand Down Expand Up @@ -2070,7 +2060,6 @@ jobs:
- amazonlinux-2-arm64
- amazonlinux-2023
- amazonlinux-2023-arm64
- archlinux-lts
- debian-11
- debian-11-arm64
- debian-12
Expand Down Expand Up @@ -2124,8 +2113,9 @@ jobs:
id: get-coverage-reports
uses: actions/download-artifact@v4
with:
name: all-testrun-coverage-artifacts
path: artifacts/coverage/
pattern: all-testrun-coverage-artifacts*
merge-multiple: true

- name: Display structure of downloaded files
run: tree -a artifacts/
Expand Down Expand Up @@ -2977,7 +2967,6 @@ jobs:
- amazonlinux-2-arm64
- amazonlinux-2023
- amazonlinux-2023-arm64
- archlinux-lts
- debian-11
- debian-11-arm64
- debian-12
Expand Down Expand Up @@ -3050,6 +3039,7 @@ jobs:
- prepare-workflow
- pre-commit
- lint
- nsis-tests
- build-docs
- build-deps-onedir
- build-salt-onedir
Expand Down
67 changes: 67 additions & 0 deletions .github/workflows/nsis-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
name: Test NSIS Installer

on:
workflow_call:
inputs:
changed-files:
required: true
type: string
description: JSON string containing information about changed files

jobs:
Test-NSIS-Logic:
name: Logic Tests
runs-on:
- windows-latest
if: ${{ contains(fromJSON('["push", "schedule", "workflow_dispatch"]'), github.event_name) || fromJSON(inputs.changed-files)['nsis_tests'] }}

steps:

- name: Checkout Salt
uses: actions/checkout@v4

- name: Set Up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install NSIS
run: .\pkg\windows\install_nsis.cmd -CICD
shell: cmd

- name: Build Test Installer
run: .\pkg\windows\nsis\tests\setup.cmd -CICD
shell: cmd

- name: Run Config Tests
run: .\pkg\windows\nsis\tests\test.cmd -CICD .\config_tests
shell: cmd

Test-NSIS-Stress:
name: Stress Tests
runs-on:
- windows-latest
if: ${{ contains(fromJSON('["push", "schedule", "workflow_dispatch"]'), github.event_name) || fromJSON(inputs.changed-files)['nsis_tests'] }}

steps:

- name: Checkout Salt
uses: actions/checkout@v4

- name: Set Up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install NSIS
run: .\pkg\windows\install_nsis.cmd -CICD
shell: cmd

- name: Build Test Installer
run: .\pkg\windows\nsis\tests\setup.cmd -CICD
shell: cmd

- name: Run Stress Test
run: .\pkg\windows\nsis\tests\test.cmd -CICD .\stress_tests
shell: cmd
38 changes: 14 additions & 24 deletions .github/workflows/scheduled.yml
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,9 @@ jobs:
- pkg/**
- *pkg_requirements
- *salt_added_modified
nsis_tests:
- added|modified: &nsis_tests
- pkg/windows/nsis/**
testrun:
- added|modified:
- *pkg_requirements
Expand Down Expand Up @@ -307,6 +310,14 @@ jobs:
- prepare-workflow
with:
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }}
nsis-tests:
name: NSIS Tests
if: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
uses: ./.github/workflows/nsis-tests.yml
needs:
- prepare-workflow
with:
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }}

prepare-release:
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
Expand Down Expand Up @@ -1584,27 +1595,6 @@ jobs:
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}

archlinux-lts:
name: Arch Linux LTS Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-ci-deps
uses: ./.github/workflows/test-action-linux.yml
with:
distro-slug: archlinux-lts
nox-session: ci-test-onedir
platform: linux
arch: x86_64
nox-version: 2022.8.7
gh-actions-python-version: "3.10"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14
skip-code-coverage: false
workflow-slug: scheduled
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }}

debian-11:
name: Debian 11 Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
Expand Down Expand Up @@ -2052,7 +2042,6 @@ jobs:
- amazonlinux-2-arm64
- amazonlinux-2023
- amazonlinux-2023-arm64
- archlinux-lts
- debian-11
- debian-11-arm64
- debian-12
Expand Down Expand Up @@ -2106,8 +2095,9 @@ jobs:
id: get-coverage-reports
uses: actions/download-artifact@v4
with:
name: all-testrun-coverage-artifacts
path: artifacts/coverage/
pattern: all-testrun-coverage-artifacts*
merge-multiple: true

- name: Display structure of downloaded files
run: tree -a artifacts/
Expand Down Expand Up @@ -2201,6 +2191,7 @@ jobs:
- prepare-workflow
- pre-commit
- lint
- nsis-tests
- build-docs
- build-deps-onedir
- build-salt-onedir
Expand All @@ -2221,7 +2212,6 @@ jobs:
- amazonlinux-2-arm64
- amazonlinux-2023
- amazonlinux-2023-arm64
- archlinux-lts
- debian-11
- debian-11-arm64
- debian-12
Expand Down
Loading

0 comments on commit 0007447

Please sign in to comment.