Merge develop into stable for v2024.07.12 release

This commit is contained in:
Salt Project Packaging 2024-07-12 15:22:48 +00:00
commit 67e0c0511a
No known key found for this signature in database
GPG key ID: 64CBBC8173D76B3F
25 changed files with 1184 additions and 3629 deletions

View file

@ -47,7 +47,7 @@ jobs:
- name: Upload Exit Status - name: Upload Exit Status
if: always() if: always()
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: exitstatus name: exitstatus
path: exitstatus path: exitstatus
@ -61,10 +61,10 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python 3.9 - name: Set up Python 3.10
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: 3.9 python-version: "3.10"
- name: Install Pre-Commit - name: Install Pre-Commit
run: | run: |
@ -84,7 +84,7 @@ jobs:
- name: Upload Exit Status - name: Upload Exit Status
if: always() if: always()
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: exitstatus name: exitstatus
path: exitstatus path: exitstatus
@ -93,7 +93,7 @@ jobs:
name: Lint name: Lint
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: collect-changed-files needs: collect-changed-files
container: koalaman/shellcheck-alpine:v0.7.0 container: koalaman/shellcheck-alpine:latest
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -109,72 +109,12 @@ jobs:
- name: Upload Exit Status - name: Upload Exit Status
if: always() if: always()
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: exitstatus name: exitstatus
path: exitstatus path: exitstatus
freebsd-131:
name: FreeBSD 13.1
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-bsd.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: freebsd-131
display-name: FreeBSD 13.1
timeout: 20
runs-on: macos-12
instances: '["latest"]'
freebsd-123:
name: FreeBSD 12.3
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-bsd.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: freebsd-123
display-name: FreeBSD 12.3
timeout: 20
runs-on: macos-12
instances: '["latest"]'
openbsd-7:
name: OpenBSD 7
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-bsd.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: openbsd-7
display-name: OpenBSD 7
timeout: 20
runs-on: macos-12
instances: '["latest"]'
macos-11:
name: macOS 11
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-macos.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: macos-11
display-name: macOS 11
timeout: 20
runs-on: macos-11
instances: '["old-stable-3003", "old-stable-3004", "old-stable-3005", "stable-3006", "stable-3006-1", "latest"]'
macos-12: macos-12:
name: macOS 12 name: macOS 12
@ -188,7 +128,22 @@ jobs:
display-name: macOS 12 display-name: macOS 12
timeout: 20 timeout: 20
runs-on: macos-12 runs-on: macos-12
instances: '["old-stable-3003", "old-stable-3004", "old-stable-3005", "stable-3006", "stable-3006-1", "latest"]' instances: '["stable-3006", "stable-3006-8", "stable-3007", "stable-3007-1", "latest"]'
macos-13:
name: macOS 13
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-macos.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: macos-13
display-name: macOS 13
timeout: 20
runs-on: macos-13
instances: '["stable-3006", "stable-3006-8", "stable-3007", "stable-3007-1", "latest"]'
@ -204,7 +159,7 @@ jobs:
display-name: Windows 2019 display-name: Windows 2019
timeout: 20 timeout: 20
runs-on: windows-2019 runs-on: windows-2019
instances: '["stable-3005", "stable-3005-1", "stable-3006", "stable-3006-1", "latest"]' instances: '["stable-3006", "stable-3006-8", "stable-3007", "stable-3007-1", "latest"]'
windows-2022: windows-2022:
@ -219,7 +174,7 @@ jobs:
display-name: Windows 2022 display-name: Windows 2022
timeout: 20 timeout: 20
runs-on: windows-2022 runs-on: windows-2022
instances: '["stable-3005", "stable-3005-1", "stable-3006", "stable-3006-1", "latest"]' instances: '["stable-3006", "stable-3006-8", "stable-3007", "stable-3007-1", "latest"]'
@ -234,7 +189,7 @@ jobs:
distro-slug: almalinux-8 distro-slug: almalinux-8
display-name: AlmaLinux 8 display-name: AlmaLinux 8
timeout: 20 timeout: 20
instances: '["old-stable-3003", "old-stable-3004", "old-stable-3005", "stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "latest", "default"]'
almalinux-9: almalinux-9:
@ -248,7 +203,7 @@ jobs:
distro-slug: almalinux-9 distro-slug: almalinux-9
display-name: AlmaLinux 9 display-name: AlmaLinux 9
timeout: 20 timeout: 20
instances: '["git-3005", "stable-3006", "onedir-3006", "stable-3006-1", "git-master", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
amazon-2: amazon-2:
@ -262,7 +217,7 @@ jobs:
distro-slug: amazon-2 distro-slug: amazon-2
display-name: Amazon 2 display-name: Amazon 2
timeout: 20 timeout: 20
instances: '["old-stable-3003", "old-stable-3004", "old-stable-3005", "stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "latest", "default"]'
arch: arch:
@ -279,34 +234,6 @@ jobs:
instances: '["git-master", "latest", "default"]' instances: '["git-master", "latest", "default"]'
centos-7:
name: CentOS 7
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-linux.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: centos-7
display-name: CentOS 7
timeout: 20
instances: '["old-stable-3003", "old-stable-3004", "old-stable-3005", "stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]'
centos-stream8:
name: CentOS Stream 8
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-linux.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: centos-stream8
display-name: CentOS Stream 8
timeout: 20
instances: '["old-stable-3003", "old-stable-3004", "old-stable-3005", "stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]'
centos-stream9: centos-stream9:
name: CentOS Stream 9 name: CentOS Stream 9
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
@ -318,21 +245,7 @@ jobs:
distro-slug: centos-stream9 distro-slug: centos-stream9
display-name: CentOS Stream 9 display-name: CentOS Stream 9
timeout: 20 timeout: 20
instances: '["git-3005", "stable-3006", "onedir-3006", "stable-3006-1", "git-master", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
debian-10:
name: Debian 10
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-linux.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: debian-10
display-name: Debian 10
timeout: 20
instances: '["old-stable-3003", "old-stable-3004", "old-stable-3005", "stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]'
debian-11: debian-11:
@ -346,49 +259,49 @@ jobs:
distro-slug: debian-11 distro-slug: debian-11
display-name: Debian 11 display-name: Debian 11
timeout: 20 timeout: 20
instances: '["old-stable-3004", "old-stable-3005", "stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "git-master", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
fedora-36: debian-12:
name: Fedora 36 name: Debian 12
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-linux.yml uses: ./.github/workflows/test-linux.yml
needs: needs:
- lint - lint
- generate-actions-workflow - generate-actions-workflow
with: with:
distro-slug: fedora-36 distro-slug: debian-12
display-name: Fedora 36 display-name: Debian 12
timeout: 20 timeout: 20
instances: '["stable-3006", "onedir-3006", "stable-3006-1", "git-master", "latest", "default"]' instances: '["stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
fedora-37: fedora-39:
name: Fedora 37 name: Fedora 39
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-linux.yml uses: ./.github/workflows/test-linux.yml
needs: needs:
- lint - lint
- generate-actions-workflow - generate-actions-workflow
with: with:
distro-slug: fedora-37 distro-slug: fedora-39
display-name: Fedora 37 display-name: Fedora 39
timeout: 20 timeout: 20
instances: '["stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "latest", "default"]'
fedora-38: fedora-40:
name: Fedora 38 name: Fedora 40
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-linux.yml uses: ./.github/workflows/test-linux.yml
needs: needs:
- lint - lint
- generate-actions-workflow - generate-actions-workflow
with: with:
distro-slug: fedora-38 distro-slug: fedora-40
display-name: Fedora 38 display-name: Fedora 40
timeout: 20 timeout: 20
instances: '["stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]' instances: '["stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
gentoo: gentoo:
@ -447,20 +360,6 @@ jobs:
instances: '["git-master", "latest", "default"]' instances: '["git-master", "latest", "default"]'
oraclelinux-7:
name: Oracle Linux 7
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-linux.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: oraclelinux-7
display-name: Oracle Linux 7
timeout: 20
instances: '["old-stable-3003", "old-stable-3004", "old-stable-3005", "stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]'
oraclelinux-8: oraclelinux-8:
name: Oracle Linux 8 name: Oracle Linux 8
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
@ -472,21 +371,21 @@ jobs:
distro-slug: oraclelinux-8 distro-slug: oraclelinux-8
display-name: Oracle Linux 8 display-name: Oracle Linux 8
timeout: 20 timeout: 20
instances: '["old-stable-3003", "old-stable-3004", "old-stable-3005", "stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "latest", "default"]'
photon-3: oraclelinux-9:
name: Photon OS 3 name: Oracle Linux 9
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-linux.yml uses: ./.github/workflows/test-linux.yml
needs: needs:
- lint - lint
- generate-actions-workflow - generate-actions-workflow
with: with:
distro-slug: photon-3 distro-slug: oraclelinux-9
display-name: Photon OS 3 display-name: Oracle Linux 9
timeout: 20 timeout: 20
instances: '["stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
photon-4: photon-4:
@ -500,7 +399,21 @@ jobs:
distro-slug: photon-4 distro-slug: photon-4
display-name: Photon OS 4 display-name: Photon OS 4
timeout: 20 timeout: 20
instances: '["stable-3006", "onedir-3006", "stable-3006-1", "git-master", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "latest", "default"]'
photon-5:
name: Photon OS 5
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-linux.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: photon-5
display-name: Photon OS 5
timeout: 20
instances: '["stable-3006", "onedir-3006", "stable-3006-8", "latest", "default"]'
rockylinux-8: rockylinux-8:
@ -514,7 +427,7 @@ jobs:
distro-slug: rockylinux-8 distro-slug: rockylinux-8
display-name: Rocky Linux 8 display-name: Rocky Linux 8
timeout: 20 timeout: 20
instances: '["old-stable-3004", "old-stable-3005", "stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "latest", "default"]'
rockylinux-9: rockylinux-9:
@ -528,7 +441,7 @@ jobs:
distro-slug: rockylinux-9 distro-slug: rockylinux-9
display-name: Rocky Linux 9 display-name: Rocky Linux 9
timeout: 20 timeout: 20
instances: '["git-3005", "stable-3006", "onedir-3006", "stable-3006-1", "git-master", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
ubuntu-2004: ubuntu-2004:
@ -542,7 +455,7 @@ jobs:
distro-slug: ubuntu-2004 distro-slug: ubuntu-2004
display-name: Ubuntu 20.04 display-name: Ubuntu 20.04
timeout: 20 timeout: 20
instances: '["old-stable-3003", "old-stable-3004", "old-stable-3005", "stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "git-master", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
ubuntu-2204: ubuntu-2204:
@ -556,7 +469,21 @@ jobs:
distro-slug: ubuntu-2204 distro-slug: ubuntu-2204
display-name: Ubuntu 22.04 display-name: Ubuntu 22.04
timeout: 20 timeout: 20
instances: '["stable-3005", "onedir-3005", "stable-3005-1", "stable-3006", "onedir-3006", "stable-3006-1", "git-master", "latest", "default"]' instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
ubuntu-2404:
name: Ubuntu 24.04
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
uses: ./.github/workflows/test-linux.yml
needs:
- lint
- generate-actions-workflow
with:
distro-slug: ubuntu-2404
display-name: Ubuntu 24.04
timeout: 20
instances: '["stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
set-pipeline-exit-status: set-pipeline-exit-status:
@ -567,43 +494,38 @@ jobs:
needs: needs:
- lint - lint
- generate-actions-workflow - generate-actions-workflow
- freebsd-131
- freebsd-123
- openbsd-7
- macos-11
- macos-12 - macos-12
- macos-13
- windows-2019 - windows-2019
- windows-2022 - windows-2022
- almalinux-8 - almalinux-8
- almalinux-9 - almalinux-9
- amazon-2 - amazon-2
- arch - arch
- centos-7
- centos-stream8
- centos-stream9 - centos-stream9
- debian-10
- debian-11 - debian-11
- fedora-36 - debian-12
- fedora-37 - fedora-39
- fedora-38 - fedora-40
- gentoo - gentoo
- gentoo-systemd - gentoo-systemd
- opensuse-15 - opensuse-15
- opensuse-tumbleweed - opensuse-tumbleweed
- oraclelinux-7
- oraclelinux-8 - oraclelinux-8
- photon-3 - oraclelinux-9
- photon-4 - photon-4
- photon-5
- rockylinux-8 - rockylinux-8
- rockylinux-9 - rockylinux-9
- ubuntu-2004 - ubuntu-2004
- ubuntu-2204 - ubuntu-2204
- ubuntu-2404
if: always() if: always()
steps: steps:
- name: Download Exit Status Files - name: Download Exit Status Files
if: always() if: always()
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: exitstatus name: exitstatus
path: exitstatus path: exitstatus

View file

@ -188,6 +188,7 @@ def main():
+ changelog_file.read_text() + changelog_file.read_text()
) )
# Update Script Version for the bash script
bootstrap_script_path = REPO_ROOT / "bootstrap-salt.sh" bootstrap_script_path = REPO_ROOT / "bootstrap-salt.sh"
print( print(
f"* Updating {bootstrap_script_path.relative_to(REPO_ROOT)} ...", f"* Updating {bootstrap_script_path.relative_to(REPO_ROOT)} ...",
@ -201,6 +202,22 @@ def main():
bootstrap_script_path.read_text(), bootstrap_script_path.read_text(),
) )
) )
# Update the Script Version for the powershell script
bootstrap_script_path = REPO_ROOT / "bootstrap-salt.ps1"
print(
f"* Updating {bootstrap_script_path.relative_to(REPO_ROOT)} ...",
file=sys.stderr,
flush=True,
)
bootstrap_script_path.write_text(
re.sub(
r'\$__ScriptVersion = "(.*)"',
f'$__ScriptVersion = "{options.release_tag.lstrip("v")}"',
bootstrap_script_path.read_text(),
)
)
parser.exit(status=0, message="CHANGELOG.md and bootstrap-salt.sh updated\n") parser.exit(status=0, message="CHANGELOG.md and bootstrap-salt.sh updated\n")

View file

@ -11,7 +11,7 @@
- name: Download Exit Status Files - name: Download Exit Status Files
if: always() if: always()
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: exitstatus name: exitstatus
path: exitstatus path: exitstatus

View file

@ -47,7 +47,7 @@ jobs:
- name: Upload Exit Status - name: Upload Exit Status
if: always() if: always()
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: exitstatus name: exitstatus
path: exitstatus path: exitstatus
@ -61,10 +61,10 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python 3.9 - name: Set up Python 3.10
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: 3.9 python-version: "3.10"
- name: Install Pre-Commit - name: Install Pre-Commit
run: | run: |
@ -84,7 +84,7 @@ jobs:
- name: Upload Exit Status - name: Upload Exit Status
if: always() if: always()
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: exitstatus name: exitstatus
path: exitstatus path: exitstatus
@ -93,7 +93,7 @@ jobs:
name: Lint name: Lint
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: collect-changed-files needs: collect-changed-files
container: koalaman/shellcheck-alpine:v0.7.0 container: koalaman/shellcheck-alpine:latest
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -109,7 +109,7 @@ jobs:
- name: Upload Exit Status - name: Upload Exit Status
if: always() if: always()
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: exitstatus name: exitstatus
path: exitstatus path: exitstatus

View file

@ -1,4 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python3
import datetime import datetime
import json import json
import os import os
@ -6,31 +6,30 @@ import pathlib
os.chdir(os.path.abspath(os.path.dirname(__file__))) os.chdir(os.path.abspath(os.path.dirname(__file__)))
## "amazon-2023",
LINUX_DISTROS = [ LINUX_DISTROS = [
"almalinux-8", "almalinux-8",
"almalinux-9", "almalinux-9",
"amazon-2", "amazon-2",
"arch", "arch",
"centos-7",
"centos-stream8",
"centos-stream9", "centos-stream9",
"debian-10",
"debian-11", "debian-11",
"fedora-36", "debian-12",
"fedora-37", "fedora-39",
"fedora-38", "fedora-40",
"gentoo", "gentoo",
"gentoo-systemd", "gentoo-systemd",
"opensuse-15", "opensuse-15",
"opensuse-tumbleweed", "opensuse-tumbleweed",
"oraclelinux-7",
"oraclelinux-8", "oraclelinux-8",
"photon-3", "oraclelinux-9",
"photon-4", "photon-4",
"photon-5",
"rockylinux-8", "rockylinux-8",
"rockylinux-9", "rockylinux-9",
"ubuntu-2004", "ubuntu-2004",
"ubuntu-2204", "ubuntu-2204",
"ubuntu-2404",
] ]
WINDOWS = [ WINDOWS = [
"windows-2019", "windows-2019",
@ -38,319 +37,183 @@ WINDOWS = [
] ]
OSX = [ OSX = [
"macos-11",
"macos-12", "macos-12",
] "macos-13",
BSD = [
"freebsd-131",
"freebsd-123",
"openbsd-7",
] ]
OLD_STABLE_DISTROS = [
"almalinux-8",
"amazon-2",
"arch",
"centos-7",
"centos-stream8",
"debian-10",
"debian-11",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"oraclelinux-7",
"oraclelinux-8",
"rockylinux-8",
"ubuntu-2004",
]
## "amazon-2023",
STABLE_DISTROS = [ STABLE_DISTROS = [
"almalinux-8", "almalinux-8",
"almalinux-9", "almalinux-9",
"amazon-2", "amazon-2",
"arch", "arch",
"centos-7",
"centos-stream8",
"centos-stream9", "centos-stream9",
"debian-10",
"debian-11", "debian-11",
"fedora-36", "debian-12",
"fedora-37", "fedora-39",
"fedora-38", "fedora-40",
"opensuse-15", "opensuse-15",
"opensuse-tumbleweed", "opensuse-tumbleweed",
"oraclelinux-7",
"oraclelinux-8", "oraclelinux-8",
"photon-3", "oraclelinux-9",
"photon-4", "photon-4",
"photon-5",
"rockylinux-8", "rockylinux-8",
"rockylinux-9", "rockylinux-9",
"ubuntu-2004", "ubuntu-2004",
"ubuntu-2204", "ubuntu-2204",
"ubuntu-2404",
] ]
## "amazon-2023",
ONEDIR_DISTROS = [ ONEDIR_DISTROS = [
"almalinux-8", "almalinux-8",
"almalinux-9", "almalinux-9",
"amazon-2", "amazon-2",
"centos-7",
"centos-stream8",
"centos-stream9", "centos-stream9",
"debian-10",
"debian-11", "debian-11",
"fedora-36", "debian-12",
"fedora-37", "fedora-39",
"fedora-38", "fedora-40",
"oraclelinux-7",
"oraclelinux-8", "oraclelinux-8",
"photon-3", "oraclelinux-9",
"photon-4", "photon-4",
"photon-5",
"rockylinux-8", "rockylinux-8",
"rockylinux-9", "rockylinux-9",
"ubuntu-2004", "ubuntu-2004",
"ubuntu-2204", "ubuntu-2204",
"ubuntu-2404",
] ]
ONEDIR_RC_DISTROS = [ ONEDIR_RC_DISTROS = [
"almalinux-8",
"almalinux-9", "almalinux-9",
"amazon-2", "amazon-2",
"centos-7",
"centos-stream8",
"centos-stream9", "centos-stream9",
"debian-10", "debian-12",
"debian-11", "oraclelinux-9",
"oraclelinux-7",
"oraclelinux-8",
"photon-3",
"photon-4", "photon-4",
"rockylinux-8", "photon-5",
"rockylinux-9", "rockylinux-9",
"ubuntu-2004", "ubuntu-2404",
"ubuntu-2204",
]
BLACKLIST_3003 = [
"almalinux-9",
"arch",
"centos-stream9",
"debian-11",
"fedora-36",
"fedora-37",
"fedora-38",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"photon-3",
"photon-4",
"rockylinux-8",
"rockylinux-9",
"ubuntu-2204",
]
BLACKLIST_GIT_3003 = [
"almalinux-9",
"amazon-2",
"arch",
"centos-stream9",
"debian-10",
"debian-11",
"fedora-36",
"fedora-37",
"fedora-38",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"photon-3",
"photon-4",
"rockylinux-8",
"rockylinux-9",
"ubuntu-2004",
"ubuntu-2110",
"ubuntu-2204",
]
BLACKLIST_3004 = [
"almalinux-9",
"arch",
"centos-stream9",
"fedora-36",
"fedora-37",
"fedora-38",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"photon-3",
"photon-4",
"rockylinux-9",
]
BLACKLIST_3005 = [
"almalinux-9",
"arch",
"centos-stream9",
"fedora-36",
"fedora-37",
"fedora-38",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"photon-3",
"photon-4",
"rockylinux-9",
]
BLACKLIST_GIT_3004 = [
"almalinux-9",
"amazon-2",
"arch",
"centos-stream9",
"debian-10",
"debian-11",
"fedora-36",
"fedora-37",
"fedora-38",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"ubuntu-2004",
"ubuntu-2110",
"ubuntu-2204",
"rockylinux-9",
"photon-3",
"photon-4",
]
BLACKLIST_GIT_3005 = [
"amazon-2",
"arch",
"debian-10",
"debian-11",
"fedora-36",
"fedora-37",
"fedora-38",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"photon-3",
"photon-4",
"ubuntu-2004",
"ubuntu-2110",
"ubuntu-2204",
] ]
BLACKLIST_3006 = [ BLACKLIST_3006 = [
"arch", "arch",
"debian-12",
"fedora-40",
"gentoo", "gentoo",
"gentoo-systemd", "gentoo-systemd",
"opensuse-15", "opensuse-15",
"opensuse-tumbleweed", "opensuse-tumbleweed",
"ubuntu-2404",
] ]
BLACKLIST_3007 = [
"arch",
"fedora-39",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"photon-4",
"photon-5",
]
## "amazon-2023",
BLACKLIST_GIT_3006 = [ BLACKLIST_GIT_3006 = [
"almalinux-9", "almalinux-9",
"amazon-2", "amazon-2",
"arch", "arch",
"centos-stream9", "centos-stream9",
"debian-10",
"debian-11", "debian-11",
"fedora-36", "debian-12",
"fedora-37", "fedora-40",
"fedora-38",
"gentoo", "gentoo",
"gentoo-systemd", "gentoo-systemd",
"opensuse-15", "opensuse-15",
"opensuse-tumbleweed", "opensuse-tumbleweed",
"photon-3", "oraclelinux-9",
"photon-4", "photon-4",
"photon-5",
"rockylinux-9", "rockylinux-9",
"ubuntu-2004", "ubuntu-2004",
"ubuntu-2110",
"ubuntu-2204", "ubuntu-2204",
"ubuntu-2404",
]
## "amazon-2023",
BLACKLIST_GIT_3007 = [
"almalinux-9",
"amazon-2",
"arch",
"centos-stream9",
"debian-11",
"debian-12",
"fedora-39",
"fedora-40",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"oraclelinux-9",
"photon-4",
"photon-5",
"rockylinux-9",
"ubuntu-2004",
"ubuntu-2204",
"ubuntu-2404",
] ]
BLACKLIST_GIT_MASTER = [ BLACKLIST_GIT_MASTER = [
"amazon-2", "amazon-2",
"debian-10", "fedora-39",
"freebsd-131", "photon-4",
"freebsd-123", "photon-5",
"photon-3",
] ]
SALT_VERSIONS = [ SALT_VERSIONS = [
"3003",
"3004",
"3005",
"3005-1",
"3006", "3006",
"3006-1", "3006-8",
"3007",
"3007-1",
"master", "master",
"latest", "latest",
"nightly", "nightly",
] ]
ONEDIR_SALT_VERSIONS = [ ONEDIR_SALT_VERSIONS = [
"3005",
"3006", "3006",
"3007",
"latest", "latest",
] ]
ONEDIR_RC_SALT_VERSIONS = [] ONEDIR_RC_SALT_VERSIONS = []
VERSION_DISPLAY_NAMES = { VERSION_DISPLAY_NAMES = {
"3003": "v3003",
"3004": "v3004",
"3005": "v3005",
"3005-1": "v3005.1",
"3006": "v3006", "3006": "v3006",
"3006-1": "v3006.1", "3006-8": "v3006.8",
"3007": "v3007",
"3007-1": "v3007.1",
"master": "Master", "master": "Master",
"latest": "Latest", "latest": "Latest",
"nightly": "Nightly", "nightly": "Nightly",
} }
OLD_STABLE_VERSION_BLACKLIST = [
"3005-1",
"3006",
"3006-1",
"master",
"nightly",
]
STABLE_VERSION_BLACKLIST = [ STABLE_VERSION_BLACKLIST = [
"3003",
"3004",
"master",
"nightly",
]
MAC_OLD_STABLE_VERSION_BLACKLIST = [
"3005-1",
"3006",
"3006-1",
"master", "master",
"nightly", "nightly",
] ]
MAC_STABLE_VERSION_BLACKLIST = [ MAC_STABLE_VERSION_BLACKLIST = [
"3003",
"3004",
"3005",
"3005-1",
"master", "master",
"nightly", "nightly",
] ]
GIT_VERSION_BLACKLIST = [ GIT_VERSION_BLACKLIST = [
"3005-1", "3006-8",
"3006-1", "3007-1",
"nightly", "nightly",
] ]
@ -365,12 +228,8 @@ GIT_VERSION_BLACKLIST = [
# #
GIT_DISTRO_BLACKLIST = [ GIT_DISTRO_BLACKLIST = [
"almalinux-8", "almalinux-8",
"centos-7", "fedora-39",
"centos-stream8",
"fedora-37",
"fedora-38",
"opensuse-15", "opensuse-15",
"oraclelinux-7",
"oraclelinux-8", "oraclelinux-8",
"rockylinux-8", "rockylinux-8",
] ]
@ -380,37 +239,32 @@ LATEST_PKG_BLACKLIST = [
"gentoo-systemd", "gentoo-systemd",
] ]
## "amazon-2023": "Amazon 2023",
DISTRO_DISPLAY_NAMES = { DISTRO_DISPLAY_NAMES = {
"almalinux-8": "AlmaLinux 8", "almalinux-8": "AlmaLinux 8",
"almalinux-9": "AlmaLinux 9", "almalinux-9": "AlmaLinux 9",
"amazon-2": "Amazon 2", "amazon-2": "Amazon 2",
"arch": "Arch", "arch": "Arch",
"centos-7": "CentOS 7",
"centos-stream8": "CentOS Stream 8",
"centos-stream9": "CentOS Stream 9", "centos-stream9": "CentOS Stream 9",
"debian-10": "Debian 10",
"debian-11": "Debian 11", "debian-11": "Debian 11",
"fedora-36": "Fedora 36", "debian-12": "Debian 12",
"fedora-37": "Fedora 37", "fedora-39": "Fedora 39",
"fedora-38": "Fedora 38", "fedora-40": "Fedora 40",
"gentoo": "Gentoo", "gentoo": "Gentoo",
"gentoo-systemd": "Gentoo (systemd)", "gentoo-systemd": "Gentoo (systemd)",
"opensuse-15": "Opensuse 15", "opensuse-15": "Opensuse 15",
"opensuse-tumbleweed": "Opensuse Tumbleweed", "opensuse-tumbleweed": "Opensuse Tumbleweed",
"oraclelinux-7": "Oracle Linux 7",
"oraclelinux-8": "Oracle Linux 8", "oraclelinux-8": "Oracle Linux 8",
"photon-3": "Photon OS 3", "oraclelinux-9": "Oracle Linux 9",
"photon-4": "Photon OS 4", "photon-4": "Photon OS 4",
"photon-5": "Photon OS 5",
"rockylinux-8": "Rocky Linux 8", "rockylinux-8": "Rocky Linux 8",
"rockylinux-9": "Rocky Linux 9", "rockylinux-9": "Rocky Linux 9",
"ubuntu-2004": "Ubuntu 20.04", "ubuntu-2004": "Ubuntu 20.04",
"ubuntu-2204": "Ubuntu 22.04", "ubuntu-2204": "Ubuntu 22.04",
"macos-1015": "macOS 10.15", "ubuntu-2404": "Ubuntu 24.04",
"macos-11": "macOS 11",
"macos-12": "macOS 12", "macos-12": "macOS 12",
"freebsd-131": "FreeBSD 13.1", "macos-13": "macOS 13",
"freebsd-123": "FreeBSD 12.3",
"openbsd-7": "OpenBSD 7",
"windows-2019": "Windows 2019", "windows-2019": "Windows 2019",
"windows-2022": "Windows 2022", "windows-2022": "Windows 2022",
} }
@ -444,83 +298,10 @@ def generate_test_jobs():
test_jobs = "" test_jobs = ""
needs = ["lint", "generate-actions-workflow"] needs = ["lint", "generate-actions-workflow"]
for distro in BSD:
test_jobs += "\n"
runs_on = "macos-12"
runs_on = f"\n runs-on: {runs_on}"
ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'"
uses = "./.github/workflows/test-bsd.yml"
instances = []
timeout_minutes = (
TIMEOUT_OVERRIDES[distro]
if distro in TIMEOUT_OVERRIDES
else TIMEOUT_DEFAULT
)
for salt_version in SALT_VERSIONS:
if salt_version == "latest":
if distro in LATEST_PKG_BLACKLIST:
continue
instances.append(salt_version)
continue
if distro == "openbsd-7":
# Only test latest on OpenBSD 6
continue
if salt_version != "master":
# Only test the master branch on BSD's
continue
# BSD's don't have a stable release, only use git
for bootstrap_type in ("git",):
BLACKLIST = {
"3003": BLACKLIST_3003,
"3004": BLACKLIST_3004,
}
if bootstrap_type == "git":
BLACKLIST = {
"3003": BLACKLIST_GIT_3003,
"3004": BLACKLIST_GIT_3004,
"master": BLACKLIST_GIT_MASTER,
}
# .0 versions are a virtual version for pinning to the first
# point release of a major release, such as 3003,
# there is no git version.
if salt_version.endswith("-0"):
continue
if (
salt_version in ("3003", "3004", "master")
and distro in BLACKLIST[salt_version]
):
continue
kitchen_target = f"{bootstrap_type}-{salt_version}"
instances.append(kitchen_target)
if instances:
needs.append(distro)
test_jobs += TEMPLATE.format(
distro=distro,
runs_on=runs_on,
uses=uses,
ifcheck=ifcheck,
instances=json.dumps(instances),
display_name=DISTRO_DISPLAY_NAMES[distro],
timeout_minutes=timeout_minutes,
)
test_jobs += "\n" test_jobs += "\n"
for distro in OSX: for distro in OSX:
test_jobs += "\n" test_jobs += "\n"
if distro == "macos-1015": runs_on = distro
runs_on = "macos-10.15"
else:
runs_on = distro
runs_on = f"\n runs-on: {runs_on}" runs_on = f"\n runs-on: {runs_on}"
ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'"
uses = "./.github/workflows/test-macos.yml" uses = "./.github/workflows/test-macos.yml"
@ -532,25 +313,19 @@ def generate_test_jobs():
) )
for salt_version in SALT_VERSIONS: for salt_version in SALT_VERSIONS:
if salt_version == "latest": if salt_version == "latest":
instances.append(salt_version) instances.append(salt_version)
continue continue
for bootstrap_type in ("stable", "old-stable"): for bootstrap_type in ["stable"]:
if bootstrap_type == "stable": if bootstrap_type == "stable":
if salt_version in MAC_STABLE_VERSION_BLACKLIST: if salt_version in MAC_STABLE_VERSION_BLACKLIST:
continue continue
if bootstrap_type == "old-stable": test_target = f"{bootstrap_type}-{salt_version}"
if salt_version in MAC_OLD_STABLE_VERSION_BLACKLIST: instances.append(test_target)
continue
kitchen_target = f"{bootstrap_type}-{salt_version}" for bootstrap_type in ["default"]:
instances.append(kitchen_target)
for bootstrap_type in ("default",):
if distro not in STABLE_DISTROS: if distro not in STABLE_DISTROS:
continue continue
instances.append(bootstrap_type) instances.append(bootstrap_type)
@ -587,15 +362,15 @@ def generate_test_jobs():
instances.append(salt_version) instances.append(salt_version)
continue continue
for bootstrap_type in ("stable",): for bootstrap_type in ["stable"]:
if bootstrap_type == "stable": if bootstrap_type == "stable":
if salt_version in STABLE_VERSION_BLACKLIST: if salt_version in STABLE_VERSION_BLACKLIST:
continue continue
kitchen_target = f"{bootstrap_type}-{salt_version}" test_target = f"{bootstrap_type}-{salt_version}"
instances.append(kitchen_target) instances.append(test_target)
for bootstrap_type in ("default",): for bootstrap_type in ["default"]:
if distro not in STABLE_DISTROS: if distro not in STABLE_DISTROS:
continue continue
instances.append(bootstrap_type) instances.append(bootstrap_type)
@ -637,7 +412,6 @@ def generate_test_jobs():
continue continue
for bootstrap_type in ( for bootstrap_type in (
"old-stable",
"stable", "stable",
"git", "git",
"onedir", "onedir",
@ -655,12 +429,6 @@ def generate_test_jobs():
if distro not in ONEDIR_RC_DISTROS: if distro not in ONEDIR_RC_DISTROS:
continue continue
if bootstrap_type == "old-stable":
if salt_version in OLD_STABLE_VERSION_BLACKLIST:
continue
if distro not in OLD_STABLE_DISTROS:
continue
if bootstrap_type == "stable": if bootstrap_type == "stable":
if salt_version in STABLE_VERSION_BLACKLIST: if salt_version in STABLE_VERSION_BLACKLIST:
continue continue
@ -674,19 +442,15 @@ def generate_test_jobs():
continue continue
BLACKLIST = { BLACKLIST = {
"3003": BLACKLIST_3003,
"3004": BLACKLIST_3004,
"3005": BLACKLIST_3005,
"3005-1": BLACKLIST_3005,
"3006": BLACKLIST_3006, "3006": BLACKLIST_3006,
"3006-1": BLACKLIST_3006, "3006-8": BLACKLIST_3006,
"3007": BLACKLIST_3007,
"3007-1": BLACKLIST_3007,
} }
if bootstrap_type == "git": if bootstrap_type == "git":
BLACKLIST = { BLACKLIST = {
"3003": BLACKLIST_GIT_3003,
"3004": BLACKLIST_GIT_3004,
"3005": BLACKLIST_GIT_3005,
"3006": BLACKLIST_GIT_3006, "3006": BLACKLIST_GIT_3006,
"3007": BLACKLIST_GIT_3007,
"master": BLACKLIST_GIT_MASTER, "master": BLACKLIST_GIT_MASTER,
} }
@ -697,16 +461,15 @@ def generate_test_jobs():
continue continue
if ( if (
salt_version salt_version in ("3006", "3006-8", "3007", "3007-1", "master")
in ("3003", "3004", "3005", "3005-1", "3006", "3006-1", "master")
and distro in BLACKLIST[salt_version] and distro in BLACKLIST[salt_version]
): ):
continue continue
kitchen_target = f"{bootstrap_type}-{salt_version}" test_target = f"{bootstrap_type}-{salt_version}"
instances.append(kitchen_target) instances.append(test_target)
for bootstrap_type in ("default",): for bootstrap_type in ["default"]:
if distro not in STABLE_DISTROS: if distro not in STABLE_DISTROS:
continue continue
instances.append(bootstrap_type) instances.append(bootstrap_type)

View file

@ -1,102 +0,0 @@
name: Test FreeBSD & OpenBSD
on:
workflow_call:
inputs:
distro-slug:
type: string
required: true
description: The Distribution Slug
display-name:
type: string
required: true
description: The Display Name For The Job
runs-on:
type: string
required: true
description: The GitHub MacOS Worker To Run Workflow On
instances:
type: string
required: true
description: The Instances To Test
timeout:
type: number
required: false
default: 20
description: The timeout(in minutes) for the workflow
env:
VAGRANT_HOME: '${{ github.workspace }}/.vagrant.d'
KITCHEN_LOCAL_YAML: 'kitchen.bsd.yml'
jobs:
Test:
name: ${{ matrix.instance }}
runs-on: ${{ inputs.runs-on }}
timeout-minutes: ${{ inputs.timeout }}
strategy:
fail-fast: false
matrix:
instance: ${{ fromJSON(inputs.instances) }}
steps:
- uses: actions/checkout@v3
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6.10
bundler-cache: true
- name: Update Vagrant
run: |
brew update
brew upgrade vagrant || brew install vagrant
- name: Setup Vagrant Cache
uses: actions/cache@v3
with:
path: |
${{ github.workspace }}/.kitchen
${{ github.workspace }}/.vagrant.d/
key: "${{ runner.os }}|vagrant|${{ inputs.distro-slug }}|${{ hashFiles('Gemfile', '.github/workflows/test-bsd.yml', 'kitchen.bsd.yml') }}"
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install Python Dependencies
run: |
pip install -U pip
pip install -r tests/requirements.txt
- name: Create Test Instance
run: |
bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }} || \
(sleep 10 && bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }})
- name: Test Bootstrap
run: |
bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }}
- name: Destroy Test Instance
if: always()
run: |
bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }}
- name: Set Exit Status
if: always()
run: |
mkdir exitstatus
echo "${{ job.status }}" > exitstatus/${{ github.job }}-${{ matrix.instance }}-${{ inputs.distro-slug }}
- name: Upload Exit Status
if: always()
uses: actions/upload-artifact@v3
with:
name: exitstatus
path: exitstatus

View file

@ -41,12 +41,13 @@ jobs:
uses: ruby/setup-ruby@v1 uses: ruby/setup-ruby@v1
with: with:
ruby-version: 2.6.10 ruby-version: 2.6.10
## ruby-version: 3.3.4
bundler-cache: true bundler-cache: true
- name: Set up Python 3.9 - name: Set up Python 3.10
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: 3.9 python-version: "3.10"
- name: Install Python Dependencies - name: Install Python Dependencies
run: | run: |
@ -55,17 +56,19 @@ jobs:
- name: Create Test Instance - name: Create Test Instance
run: | run: |
bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }} || \ (sleep 10 && bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }})
(sleep 10 && bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }}) sleep 2
- name: Test Bootstrap - name: Test Bootstrap
run: | run: |
bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }} bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }}
sleep 2
- name: Destroy Test Instance - name: Destroy Test Instance
if: always() if: always()
run: | run: |
bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }} bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }}
sleep 2
- name: Set Exit Status - name: Set Exit Status
if: always() if: always()

View file

@ -48,12 +48,13 @@ jobs:
uses: ruby/setup-ruby@v1 uses: ruby/setup-ruby@v1
with: with:
ruby-version: 2.6.10 ruby-version: 2.6.10
## ruby-version: 3.3.4
bundler-cache: true bundler-cache: true
- name: Set up Python 3.9 - name: Set up Python 3.10
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: 3.9 python-version: "3.10"
- name: Install Python Dependencies - name: Install Python Dependencies
run: | run: |
@ -64,15 +65,18 @@ jobs:
run: | run: |
bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }} || \ bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }} || \
(sleep 10 && bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }}) (sleep 10 && bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }})
sleep 2
- name: Test Bootstrap - name: Test Bootstrap
run: | run: |
bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }} bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }}
sleep 2
- name: Destroy Test Instance - name: Destroy Test Instance
if: always() if: always()
run: | run: |
bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }} bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }}
sleep 2
- name: Set Exit Status - name: Set Exit Status
if: always() if: always()

View file

@ -51,6 +51,7 @@ jobs:
uses: ruby/setup-ruby@v1 uses: ruby/setup-ruby@v1
with: with:
ruby-version: 2.6.10 ruby-version: 2.6.10
## ruby-version: 3.3.4
bundler-cache: true bundler-cache: true
- name: Install Chef - name: Install Chef
@ -79,10 +80,10 @@ jobs:
winrm set winrm/config/service '@{AllowUnencrypted="True"}' winrm set winrm/config/service '@{AllowUnencrypted="True"}'
env env
- name: Set up Python 3.9 - name: Set up Python 3.10
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: 3.9 python-version: "3.10"
- name: Install Python Dependencies - name: Install Python Dependencies
run: | run: |
@ -92,16 +93,19 @@ jobs:
- name: Create Test Instance - name: Create Test Instance
run: | run: |
bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }} bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }}
sleep 2
- name: Test Bootstrap - name: Test Bootstrap
run: | run: |
env env
bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }} bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }}
sleep 2
- name: Destroy Test Instance - name: Destroy Test Instance
if: always() if: always()
run: | run: |
bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }} bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }}
sleep 2
- name: Set Exit Status - name: Set Exit Status
if: always() if: always()

View file

@ -2,7 +2,7 @@
minimum_pre_commit_version: 1.15.2 minimum_pre_commit_version: 1.15.2
repos: repos:
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0 rev: v4.5.0
hooks: hooks:
- id: check-merge-conflict # Check for files that contain merge conflict strings. - id: check-merge-conflict # Check for files that contain merge conflict strings.
- id: trailing-whitespace # Trims trailing whitespace. - id: trailing-whitespace # Trims trailing whitespace.
@ -12,12 +12,12 @@ repos:
- id: end-of-file-fixer # Makes sure files end in a newline and only a newline. - id: end-of-file-fixer # Makes sure files end in a newline and only a newline.
- repo: https://github.com/executablebooks/mdformat - repo: https://github.com/executablebooks/mdformat
rev: 0.7.14 rev: 0.7.17
hooks: hooks:
- id: mdformat - id: mdformat
- repo: https://github.com/s0undt3ch/python-tools-scripts - repo: https://github.com/s0undt3ch/python-tools-scripts
rev: "0.12.0" rev: "0.18.6"
hooks: hooks:
- id: tools - id: tools
alias: actionlint alias: actionlint
@ -30,28 +30,35 @@ repos:
- actionlint - actionlint
- repo: https://github.com/jazzband/pip-tools - repo: https://github.com/jazzband/pip-tools
rev: 6.13.0 rev: 7.3.0
hooks: hooks:
- id: pip-compile - id: pip-compile
files: ^requirements/release\.(in|txt)$ files: ^requirements/release\.(in|txt)$
args: args:
- requirements/release.in - requirements/release.in
## DGM - repo: https://github.com/asottile/pyupgrade
## DGM rev: v3.15.0
## DGM hooks:
## DGM - id: pyupgrade
## DGM name: Rewrite Code to be Py3.10+
## DGM args: [--py310-plus]
- repo: https://github.com/asottile/pyupgrade - repo: https://github.com/asottile/pyupgrade
rev: v2.37.3 rev: v3.15.0
hooks: hooks:
- id: pyupgrade - id: pyupgrade
name: Rewrite Code to be Py3.9+ name: Rewrite Code to be Py3.9+
args: [--py39-plus] args: [--py39-plus]
- repo: https://github.com/asottile/reorder_python_imports - repo: https://github.com/asottile/reorder_python_imports
rev: v3.8.2 rev: v3.12.0
hooks: hooks:
- id: reorder-python-imports - id: reorder-python-imports
args: [--py39-plus] args: [--py310-plus]
- repo: https://github.com/psf/black - repo: https://github.com/psf/black
rev: 22.6.0 rev: 24.1.0
hooks: hooks:
- id: black - id: black
args: [] args: []

View file

@ -54,6 +54,7 @@ Daniel Wallace gtmanfred danielwallace@gtmanfred.com
Darko Cerdic darkocerdic Darko Cerdic darkocerdic
Daryl Turner darylturner d.turner@arkadin.com Daryl Turner darylturner d.turner@arkadin.com
David J. Felix DavidJFelix David J. Felix DavidJFelix
David Murphy daithi david-dm.murphy@broadcom.com
denmat denmat denmat denmat
Denys Havrysh vutny denys.gavrysh@gmail.com Denys Havrysh vutny denys.gavrysh@gmail.com
deployboy deployboy deployboy deployboy

View file

@ -1,3 +1,35 @@
# v2024.07.12
## What's Changed
- Add script version to powershell script by @twangboy in https://github.com/saltstack/salt-bootstrap/pull/1996
- Add support for mint-21 by @jhubbardnso in https://github.com/saltstack/salt-bootstrap/pull/1997
- Added support for Amazon 2023, Debian 12, Ubuntu 24.04, removed EOL and BSD OSs and Python 2.7 support by @dmurphy18 in https://github.com/saltstack/salt-bootstrap/pull/1987
## New Contributors
- @jhubbardnso made their first contribution in https://github.com/saltstack/salt-bootstrap/pull/1997
**Full Changelog**: https://github.com/saltstack/salt-bootstrap/compare/v2024.04.03...v2024.07.12
# v2024.07.11
## What's Changed
- Migrated to using GitHub Actions
- Removed support of End-Of-Life OS's, for example: Debian 7, 8, 9 & 10, RHEL 7
- Removed support for FreeBSD and OpenBSD
- Removed support for Solaris and it's derivatives
- Removed support for EOL Salt releases, pre-3006
- Added support for new OS's, for example: Ubuntu 24.04, Debian 12, Amazon 2023
- Updated to minimum Python 3.10 version from 3.9
- Removed '-y' option which was experimental and only on RHEL 7 or less which are now EOL
- Updated to current stable version of Ruby v3.3.4
- Removed git-master support for Photon 4 & 5 due to gcc errors building salt.
- Add support for Arm64 for MacOS
**Full Changelog**: https://github.com/saltstack/salt-bootstrap/compare/v2024.04.03...v2024.07.11
# v2024.04.03 # v2024.04.03
## What's Changed ## What's Changed

View file

@ -21,20 +21,20 @@ Please read the following guidelines before you
1. **Use the GitHub issue search** -- check if the issue has 1. **Use the GitHub issue search** -- check if the issue has
already been reported. If it has been, please comment on the existing issue. already been reported. If it has been, please comment on the existing issue.
2. **Check if the issue has been fixed** -- If you found a possible problem, or bug, 1. **Check if the issue has been fixed** -- If you found a possible problem, or bug,
please try to bootstrap using the bootstrap scirpt from the develop branch. The please try to bootstrap using the bootstrap scirpt from the develop branch. The
issue you are having might have already been fixed and it's just not yet included issue you are having might have already been fixed and it's just not yet included
in the stable release. in the stable release.
``` ```
curl -o bootstrap-salt.sh -L https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.sh curl -o bootstrap-salt.sh -L https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.sh
sudo sh bootstrap-salt.sh git master sudo sh bootstrap-salt.sh git master
``` ```
3. **Isolate the demonstrable problem** -- make sure that the 1. **Isolate the demonstrable problem** -- make sure that the
code in the project's repository is *definitely* responsible for the issue. code in the project's repository is *definitely* responsible for the issue.
4. **Include a reproducible example** -- Provide the steps which 1. **Include a reproducible example** -- Provide the steps which
led you to the problem. led you to the problem.
Please try to be as detailed as possible in your report. What is your Please try to be as detailed as possible in your report. What is your
@ -163,8 +163,8 @@ The release process consists of the following steps:
1. Merge in any outstanding PRs that are ready. 1. Merge in any outstanding PRs that are ready.
1. Add new contributors to the [AUTHORS](https://github.com/saltstack/salt-bootstrap/blob/develop/AUTHORS.rst) file. 1. Add new contributors to the [AUTHORS](https://github.com/saltstack/salt-bootstrap/blob/develop/AUTHORS.rst) file.
1. Update the [ChangeLog](https://github.com/saltstack/salt-bootstrap/blob/develop/ChangeLog). 1. Update the [ChangeLog](https://github.com/saltstack/salt-bootstrap/blob/develop/ChangeLog).
1. Update the version number in the bootstrap script. The version number is date-based, `<year.month.day>`. 1. Update the version number in the bootstrap script. The version number is number-based major version with minor version, `<300X.Y>`.
For example, version `2018.08.15` was released on August 15, 2018. For example, version `3006.6` is major version `3006` and minior version `6`.
1. Merge the `develop` branch into the `stable` branch. 1. Merge the `develop` branch into the `stable` branch.
1. Update `bootstrap.saltproject.io` with the new stable release. The checksum on the 1. Update `bootstrap.saltproject.io` with the new stable release. The checksum on the
[README page](https://github.com/saltstack/salt-bootstrap/blob/develop/README.rst) [README page](https://github.com/saltstack/salt-bootstrap/blob/develop/README.rst)
@ -177,83 +177,82 @@ The following operating systems are detected, but Salt and its dependency
installation functions are not developed yet: installation functions are not developed yet:
- BSD: - BSD:
- NetBSD - NetBSD
- Linux: - Linux:
- Slackware - Slackware
- SunOS: - SunOS:
- OpenIndiana - OpenIndiana
- Oracle Solaris - Oracle Solaris
- OmniOS (Illumos) - OmniOS (Illumos)
In order to install Salt for a distribution, you need to define the following: In order to install Salt for a distribution, you need to define the following:
1. To Install Dependencies, which is required, one of: 1. To Install Dependencies, which is required, one of:
``` ```
install_<distro>_<major_version>_<install_type>_deps install_<distro>_<major_version>_<install_type>_deps
install_<distro>_<major_version>_<minor_version>_<install_type>_deps install_<distro>_<major_version>_<minor_version>_<install_type>_deps
install_<distro>_<major_version>_deps install_<distro>_<major_version>_deps
install_<distro>_<major_version>_<minor_version>_deps install_<distro>_<major_version>_<minor_version>_deps
install_<distro>_<install_type>_deps install_<distro>_<install_type>_deps
install_<distro>_deps install_<distro>_deps
``` ```
2. Optionally, define a minion configuration function, which will be called if the 1. Optionally, define a minion configuration function, which will be called if the
``-c`` option is passed. One of: `-c` option is passed. One of:
``` ```
config_<distro>_<major_version>_<install_type>_salt config_<distro>_<major_version>_<install_type>_salt
config_<distro>_<major_version>_<minor_version>_<install_type>_salt config_<distro>_<major_version>_<minor_version>_<install_type>_salt
config_<distro>_<major_version>_salt config_<distro>_<major_version>_salt
config_<distro>_<major_version>_<minor_version>_salt config_<distro>_<major_version>_<minor_version>_salt
config_<distro>_<install_type>_salt config_<distro>_<install_type>_salt
config_<distro>_salt config_<distro>_salt
config_salt (THIS ONE IS ALREADY DEFINED AS THE DEFAULT) config_salt (THIS ONE IS ALREADY DEFINED AS THE DEFAULT)
``` ```
3. Optionally, define a Salt master pre-seed function, which will be called if the 1. Optionally, define a Salt master pre-seed function, which will be called if the
``-k`` (pre-seed master keys) option is passed. One of: `-k` (pre-seed master keys) option is passed. One of:
``` ```
preseed_<distro>_<major_version>_<install_type>_master preseed_<distro>_<major_version>_<install_type>_master
preseed_<distro>_<major_version>_<minor_version>_<install_type>_master preseed_<distro>_<major_version>_<minor_version>_<install_type>_master
preseed_<distro>_<major_version>_master preseed_<distro>_<major_version>_master
preseed_<distro>_<major_version>_<minor_version>_master preseed_<distro>_<major_version>_<minor_version>_master
preseed_<distro>_<install_type>_master preseed_<distro>_<install_type>_master
preseed_<distro>_master preseed_<distro>_master
preseed_master (THIS ONE IS ALREADY DEFINED AS THE DEFAULT) preseed_master (THIS ONE IS ALREADY DEFINED AS THE DEFAULT)
``` ```
4. To install salt, which, of course, is required, one of: 1. To install salt, which, of course, is required, one of:
``` ```
install_<distro>_<major_version>_<install_type> install_<distro>_<major_version>_<install_type>
install_<distro>_<major_version>_<minor_version>_<install_type> install_<distro>_<major_version>_<minor_version>_<install_type>
install_<distro>_<install_type> install_<distro>_<install_type>
``` ```
5. Optionally, define a post install function, one of: 1. Optionally, define a post install function, one of:
``` ```
install_<distro>_<major_version>_<install_type>_post install_<distro>_<major_version>_<install_type>_post
install_<distro>_<major_version>_<minor_version>_<install_type>_post install_<distro>_<major_version>_<minor_version>_<install_type>_post
install_<distro>_<major_version>_post install_<distro>_<major_version>_post
install_<distro>_<major_version>_<minor_version>_post install_<distro>_<major_version>_<minor_version>_post
install_<distro>_<install_type>_post install_<distro>_<install_type>_post
install_<distro>_post install_<distro>_post
``` ```
6. Optionally, define a start daemons function, one of: 1. Optionally, define a start daemons function, one of:
``` ```
install_<distro>_<major_version>_<install_type>_restart_daemons install_<distro>_<major_version>_<install_type>_restart_daemons
install_<distro>_<major_version>_<minor_version>_<install_type>_restart_daemons install_<distro>_<major_version>_<minor_version>_<install_type>_restart_daemons
install_<distro>_<major_version>_restart_daemons install_<distro>_<major_version>_restart_daemons
install_<distro>_<major_version>_<minor_version>_restart_daemons install_<distro>_<major_version>_<minor_version>_restart_daemons
install_<distro>_<install_type>_restart_daemons install_<distro>_<install_type>_restart_daemons
install_<distro>_restart_daemons install_<distro>_restart_daemons
``` ```
**NOTE** **NOTE**
@ -262,26 +261,26 @@ start if they're not running.
7. Optionally, define a daemons running function, one of: 7. Optionally, define a daemons running function, one of:
``` ```
daemons_running_<distro>_<major_version>_<install_type> daemons_running_<distro>_<major_version>_<install_type>
daemons_running_<distro>_<major_version>_<minor_version>_<install_type> daemons_running_<distro>_<major_version>_<minor_version>_<install_type>
daemons_running_<distro>_<major_version> daemons_running_<distro>_<major_version>
daemons_running_<distro>_<major_version>_<minor_version> daemons_running_<distro>_<major_version>_<minor_version>
daemons_running_<distro>_<install_type> daemons_running_<distro>_<install_type>
daemons_running_<distro> daemons_running_<distro>
daemons_running (THIS ONE IS ALREADY DEFINED AS THE DEFAULT) daemons_running (THIS ONE IS ALREADY DEFINED AS THE DEFAULT)
``` ```
8. Optionally, check enabled Services: 1. Optionally, check enabled Services:
``` ```
install_<distro>_<major_version>_<install_type>_check_services install_<distro>_<major_version>_<install_type>_check_services
install_<distro>_<major_version>_<minor_version>_<install_type>_check_services install_<distro>_<major_version>_<minor_version>_<install_type>_check_services
install_<distro>_<major_version>_check_services install_<distro>_<major_version>_check_services
install_<distro>_<major_version>_<minor_version>_check_services install_<distro>_<major_version>_<minor_version>_check_services
install_<distro>_<install_type>_check_services install_<distro>_<install_type>_check_services
install_<distro>_check_services install_<distro>_check_services
``` ```
**NOTE** **NOTE**

View file

@ -1,8 +1,8 @@
FROM ubuntu-upstart:14.04 FROM ubuntu:20.04
MAINTAINER "SaltStack Team" MAINTAINER "SaltStack Team"
# Bootstrap script options: install Salt Master by default # Bootstrap script options: install Salt Master by default
ENV BOOTSTRAP_OPTS='-M' ENV BOOTSTRAP_OPTS='-M -x python3'
# Version of salt to install: stable or git # Version of salt to install: stable or git
ENV SALT_VERSION=stable ENV SALT_VERSION=stable

View file

@ -32,6 +32,7 @@ sum** of the downloaded ``bootstrap-salt.sh`` file.
The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is: The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is:
- 2024.04.03: ``450ba5cde4af8d6cb5c56c66791f87b918bcda70ccdfb10abf3cc294143c8073``
- 2024.01.04: ``cebcbc67895e238d1cf0024922a7fe5c772b9aaba346490c8fa6193bb0d993d4`` - 2024.01.04: ``cebcbc67895e238d1cf0024922a7fe5c772b9aaba346490c8fa6193bb0d993d4``
- 2023.11.16: ``3757ed82161113fed4c711fd7332e922265eeeb54e6e4f657a08ea82d57cc3a2`` - 2023.11.16: ``3757ed82161113fed4c711fd7332e922265eeeb54e6e4f657a08ea82d57cc3a2``
- 2023.11.07: ``91f8a3bfb8b14476f7793c7f20cec7bfc638c10c073786f9a8904a858a929784`` - 2023.11.07: ``91f8a3bfb8b14476f7793c7f20cec7bfc638c10c073786f9a8904a858a929784``

2
Vagrantfile vendored
View file

@ -10,7 +10,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# please see the online documentation at vagrantup.com. # please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of. # Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "ubuntu/xenial64" config.vm.box = "ubuntu/focal64"
# The url from where the 'config.vm.box' box will be fetched if it # The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system. # doesn't already exist on the user's system.

View file

@ -94,7 +94,12 @@ param(
[Parameter(Mandatory=$false)] [Parameter(Mandatory=$false)]
[Alias("h")] [Alias("h")]
# Displays help for this script. # Displays help for this script.
[Switch] $Help [Switch] $Help,
[Parameter(Mandatory=$false)]
[Alias("e")]
# Displays the Version for this script.
[Switch] $ScriptVersion
) )
# We'll check for help first because it really has no requirements # We'll check for help first because it really has no requirements
@ -105,6 +110,15 @@ if ($help) {
exit 0 exit 0
} }
$__ScriptVersion = "2024.07.12"
$ScriptName = $myInvocation.MyCommand.Name
# We'll check for the Version next, because it also has no requirements
if ($ScriptVersion) {
Write-Host $__ScriptVersion
exit 0
}
#=============================================================================== #===============================================================================
# Script Preferences # Script Preferences
#=============================================================================== #===============================================================================
@ -303,6 +317,8 @@ if ( [Uri]($RepoUrl).AbsoluteUri -eq $defaultUrl ) {
#=============================================================================== #===============================================================================
# Verify Parameters # Verify Parameters
#=============================================================================== #===============================================================================
Write-Verbose "Running Script: $ScriptName"
Write-Verbose "Script Version: $__ScriptVersion"
Write-Verbose "Parameters passed in:" Write-Verbose "Parameters passed in:"
Write-Verbose "version: $Version" Write-Verbose "version: $Version"
Write-Verbose "runservice: $RunService" Write-Verbose "runservice: $RunService"

File diff suppressed because it is too large Load diff

View file

@ -1,55 +0,0 @@
---
driver:
name: vagrant
vm_hostname: salt
username: vagrant
cache_directory: false
customize:
usbxhci: 'off'
gui: false
ssh:
shell: /bin/sh
linked_clone: true
<% unless ENV['CI'] %>
synced_folders:
- - '.kitchen/kitchen-vagrant/%{instance_name}/vagrant'
- '/vagrant'
- 'create: true, disabled: false'
<% end %>
provisioner:
init_environment: |
echo 'auto_accept: true' > /tmp/auto-accept-keys.conf
sudo mkdir -p /usr/local/etc/salt/master.d
sudo mv /tmp/auto-accept-keys.conf /usr/local/etc/salt/master.d/auto-accept-keys.conf
sudo pkg install -y shuf
sh -c 't=$(shuf -i 1-15 -n 1); echo Sleeping $t seconds; sleep $t'
sudo: true
platforms:
- name: freebsd-131
driver:
box: bento/freebsd-13.1
- name: freebsd-123
driver:
box: bento/freebsd-12.3
- name: openbsd-7
driver:
box: generic/openbsd7
ssh:
shell: /bin/ksh
synced_folders: []
transport:
name: ssh
username: vagrant
password: vagrant
provisioner:
init_environment: |
echo 'auto_accept: true' > /tmp/auto-accept-keys.conf
sudo mkdir -p /etc/salt/master.d
sudo mv /tmp/auto-accept-keys.conf /etc/salt/master.d/auto-accept-keys.conf
sudo pkg_add coreutils
sh -c 't=$(gshuf -i 1-15 -n 1); echo Sleeping $t seconds; sleep $t'
verifier:
command: pytest --cache-clear -v -s -ra --log-cli-level=debug -k "not test_ping" tests/integration/

View file

@ -14,32 +14,24 @@ provisioner:
platforms: platforms:
- name: macos-12 - name: macos-12
- name: macos-11 - name: macos-13
- name: macos-1015
suites: suites:
- name: old-stable-3003
provisioner:
salt_bootstrap_options: -MP old-stable %s
salt_version: 3003.4
salt_call_command: /opt/salt/bin/salt-call
- name: old-stable-3004
provisioner:
salt_bootstrap_options: -MP old-stable %s
salt_version: 3004.1
salt_call_command: /opt/salt/bin/salt-call
- name: old-stable-3005
provisioner:
salt_bootstrap_options: -MP old-stable %s
salt_version: 3005.1
salt_call_command: /opt/salt/bin/salt-call
- name: stable-3006 - name: stable-3006
provisioner: provisioner:
salt_version: 3006 salt_version: 3006
salt_call_command: /opt/salt/salt-call salt_call_command: /opt/salt/salt-call
- name: stable-3006-1 - name: stable-3006-8
provisioner: provisioner:
salt_version: 3006.1 salt_version: 3006.8
salt_call_command: /opt/salt/salt-call
- name: stable-3007
provisioner:
salt_version: 3007
salt_call_command: /opt/salt/salt-call
- name: stable-3007-1
provisioner:
salt_version: 3007.1
salt_call_command: /opt/salt/salt-call salt_call_command: /opt/salt/salt-call
- name: latest - name: latest
provisioner: provisioner:

View file

@ -17,27 +17,21 @@ platforms:
- name: windows-2019 - name: windows-2019
suites: suites:
- name: stable-3003
provisioner:
salt_version: 3003.4-1
salt_call_command: c:\salt\salt-call.bat
- name: stable-3004
provisioner:
salt_version: 3004.1-1
salt_call_command: c:\Program Files\Salt Project\Salt\salt-call.bat
- name: stable-3005
provisioner:
salt_version: 3005.1-1
- name: stable-3005-1
provisioner:
salt_version: 3005.1-1
- name: stable-3006 - name: stable-3006
provisioner: provisioner:
salt_version: 3006.0 salt_version: 3006
salt_call_command: c:\Program Files\Salt Project\Salt\salt-call.exe salt_call_command: c:\Program Files\Salt Project\Salt\salt-call.exe
- name: stable-3006-1 - name: stable-3006-8
provisioner: provisioner:
salt_version: 3006.1 salt_version: 3006.8
salt_call_command: c:\Program Files\Salt Project\Salt\salt-call.exe
- name: stable-3007
provisioner:
salt_version: 3007
salt_call_command: c:\Program Files\Salt Project\Salt\salt-call.exe
- name: stable-3007-1
provisioner:
salt_version: 3007.1
salt_call_command: c:\Program Files\Salt Project\Salt\salt-call.exe salt_call_command: c:\Program Files\Salt Project\Salt\salt-call.exe
- name: latest - name: latest
provisioner: provisioner:

View file

@ -28,6 +28,14 @@ provisioner:
mv /tmp/auto-accept-keys.conf /etc/salt/master.d/auto-accept-keys.conf mv /tmp/auto-accept-keys.conf /etc/salt/master.d/auto-accept-keys.conf
sh -c 't=$(shuf -i 1-15 -n 1); echo Sleeping $t seconds; sleep $t' sh -c 't=$(shuf -i 1-15 -n 1); echo Sleeping $t seconds; sleep $t'
## - name: amazon-2023
## driver:
## image: amazonlinux:2023
## provision_command:
## - yum -y install --allowerasing procps-ng curl
## - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config
platforms: platforms:
- name: almalinux-9 - name: almalinux-9
driver: driver:
@ -42,12 +50,6 @@ platforms:
platform: rhel platform: rhel
provision_command: provision_command:
- yum -y install procps-ng - yum -y install procps-ng
- name: amazon-2023
driver:
image: amazonlinux:2023
platform: fedora
provision_command:
- yum -y install procps-ng
- name: arch - name: arch
driver: driver:
image: archlinux/archlinux image: archlinux/archlinux
@ -63,32 +65,22 @@ platforms:
- dnf -y install crypto-policies-scripts procps-ng - dnf -y install crypto-policies-scripts procps-ng
- update-crypto-policies --set DEFAULT:SHA1 - update-crypto-policies --set DEFAULT:SHA1
- echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config
- name: centos-stream8
driver:
image: quay.io/centos/centos:stream8
- name: centos-7
- name: debian-9
driver:
run_command: /lib/systemd/systemd
- name: debian-10
driver:
run_command: /lib/systemd/systemd
- name: debian-11 - name: debian-11
driver: driver:
image: debian:bullseye image: debian:bullseye
run_command: /lib/systemd/systemd run_command: /lib/systemd/systemd
- name: fedora-35 - name: debian-12
driver:
image: debian:bookworm
run_command: /lib/systemd/systemd
provision_command:
- echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config
- name: fedora-39
driver: driver:
provision_command: &fedora_provision_command provision_command: &fedora_provision_command
- dnf -y install procps-ng crypto-policies-scripts - dnf -y install procps-ng crypto-policies-scripts
- update-crypto-policies --set LEGACY - update-crypto-policies --set LEGACY
- name: fedora-36 - name: fedora-40
driver:
provision_command: *fedora_provision_command
- name: fedora-37
driver:
provision_command: *fedora_provision_command
- name: fedora-38
driver: driver:
provision_command: *fedora_provision_command provision_command: *fedora_provision_command
- name: gentoo - name: gentoo
@ -128,74 +120,46 @@ platforms:
- dnf -y install crypto-policies-scripts procps-ng - dnf -y install crypto-policies-scripts procps-ng
- update-crypto-policies --set DEFAULT:SHA1 - update-crypto-policies --set DEFAULT:SHA1
- echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config
- name: oraclelinux-9
driver:
run_command: /usr/lib/systemd/systemd
provision_command:
- dnf -y install crypto-policies-scripts procps-ng
- update-crypto-policies --set DEFAULT:SHA1
- echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config
- name: rockylinux-8 - name: rockylinux-8
- name: oraclelinux-8 - name: oraclelinux-8
- name: oraclelinux-7 - name: ubuntu-24.04
- name: rockylinux-8 driver:
run_command: /lib/systemd/systemd
provision_command:
- echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config
- name: ubuntu-22.04 - name: ubuntu-22.04
driver: driver:
run_command: /lib/systemd/systemd run_command: /lib/systemd/systemd
provision_command: provision_command:
- echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config
- name: ubuntu-21.10
driver:
run_command: /lib/systemd/systemd
- name: ubuntu-20.04 - name: ubuntu-20.04
driver: driver:
run_command: /lib/systemd/systemd run_command: /lib/systemd/systemd
- name: ubuntu-18.04
driver:
run_command: /lib/systemd/systemd
- name: photon-3
driver:
image: photon:3.0
provision_command:
- tdnf -y install rpm procps-ng coreutils gawk
- echo "PubkeyAcceptedKeyTypes +ssh-rsa" | tee -a /etc/ssh/sshd_config
- sed -ie 's/PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
- systemctl enable sshd.service
- name: photon-4 - name: photon-4
driver: driver:
image: photon:4.0 image: photon:4.0
provision_command: provision_command:
- tdnf -y install rpm procps-ng coreutils gawk - tdnf -y install rpm procps-ng coreutils gawk systemd
- echo "PubkeyAcceptedKeyTypes +ssh-rsa" | tee -a /etc/ssh/sshd_config
- sed -ie 's/PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
- systemctl enable sshd.service
- name: photon-5
driver:
image: photon:5.0
provision_command:
- tdnf -y install rpm procps-ng coreutils gawk systemd
- echo "PubkeyAcceptedKeyTypes +ssh-rsa" | tee -a /etc/ssh/sshd_config - echo "PubkeyAcceptedKeyTypes +ssh-rsa" | tee -a /etc/ssh/sshd_config
- sed -ie 's/PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config - sed -ie 's/PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
- systemctl enable sshd.service - systemctl enable sshd.service
suites: suites:
- name: git-3003
provisioner:
salt_version: v3003
salt_bootstrap_options: -x python3 -MPfq git %s
- name: git-3004
provisioner:
salt_version: v3004
salt_bootstrap_options: -x python3 -MPfq git %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- debian-11
- arch
- gentoo
- gentoo-systemd
- freebsd-131
- freebsd-123
- openbsd-6
- name: git-3005
provisioner:
salt_version: v3005
salt_bootstrap_options: -x python3 -MPfq git %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- debian-11
- arch
- gentoo
- gentoo-systemd
- freebsd-131
- freebsd-123
- openbsd-6
- name: git-3006 - name: git-3006
provisioner: provisioner:
salt_version: v3006 salt_version: v3006
@ -204,12 +168,10 @@ suites:
- opensuse-15 - opensuse-15
- opensuse-tumbleweed - opensuse-tumbleweed
- debian-11 - debian-11
- debian-12
- arch - arch
- gentoo - gentoo
- gentoo-systemd - gentoo-systemd
- freebsd-131
- freebsd-123
- openbsd-6
- name: git-3006x - name: git-3006x
provisioner: provisioner:
salt_version: 3006.x salt_version: 3006.x
@ -218,100 +180,32 @@ suites:
- opensuse-15 - opensuse-15
- opensuse-tumbleweed - opensuse-tumbleweed
- debian-11 - debian-11
- debian-12
- arch - arch
- gentoo - gentoo
- gentoo-systemd - gentoo-systemd
- freebsd-131 - name: git-3007
- freebsd-123
- openbsd-6
- name: old-stable-3003-0
provisioner: provisioner:
salt_version: 3003 salt_version: v3007
salt_bootstrap_options: -x python3 -MP old-stable 3003.0 salt_bootstrap_options: -x python3 -MPfq git %s
excludes: excludes:
- opensuse-15 - opensuse-15
- opensuse-tumbleweed - opensuse-tumbleweed
- debian-11
- arch - arch
- gentoo - gentoo
- gentoo-systemd - gentoo-systemd
- freebsd-131 - name: git-3007x
- freebsd-123
- openbsd-6
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: old-stable-3003
provisioner: provisioner:
salt_version: 3003 salt_version: 3007.x
salt_bootstrap_options: -x python3 -MP old-stable %s salt_bootstrap_options: -x python3 -MPfq git %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: old-stable-3004-0
provisioner:
salt_version: 3004
salt_bootstrap_options: -x python3 -MP old-stable 3004.0
excludes: excludes:
- opensuse-15 - opensuse-15
- opensuse-tumbleweed - opensuse-tumbleweed
- debian-11
- arch - arch
- gentoo - gentoo
- gentoo-systemd - gentoo-systemd
- freebsd-131
- freebsd-123
- openbsd-6
- name: old-stable-3004
provisioner:
salt_version: 3004
salt_bootstrap_options: -x python3 -MP old-stable %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: old-stable-3005
provisioner:
salt_version: 3005
salt_bootstrap_options: -x python3 -MP old-stable %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: stable-3005
provisioner:
salt_version: 3005
salt_bootstrap_options: -x python3 -MP stable %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: stable-3005-1
provisioner:
salt_version: 3005.1
salt_bootstrap_options: -x python3 -MP stable %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: stable-3006 - name: stable-3006
provisioner: provisioner:
salt_version: 3006 salt_version: 3006
@ -320,20 +214,30 @@ suites:
- opensuse-15 - opensuse-15
- opensuse-tumbleweed - opensuse-tumbleweed
- arch - arch
- freebsd-131 - name: stable-3006-8
- freebsd-123
- openbsd-6
- name: stable-3006-1
provisioner: provisioner:
salt_version: 3006.1 salt_version: 3006.8
salt_bootstrap_options: -x python3 -MP stable %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- name: stable-3007
provisioner:
salt_version: 3007
salt_bootstrap_options: -x python3 -MP stable %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- name: stable-3007-1
provisioner:
salt_version: 3007.1
salt_bootstrap_options: -x python3 -MP stable %s salt_bootstrap_options: -x python3 -MP stable %s
excludes: excludes:
- opensuse-15 - opensuse-15
- opensuse-tumbleweed - opensuse-tumbleweed
- arch - arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: git-master - name: git-master
provisioner: provisioner:
salt_version: master salt_version: master
@ -359,43 +263,27 @@ suites:
salt_version: latest salt_version: latest
salt_bootstrap_options: -MP onedir %s salt_bootstrap_options: -MP onedir %s
- name: onedir-3005
provisioner:
salt_version: 3005
salt_bootstrap_options: -MP onedir %s
- name: onedir-3006 - name: onedir-3006
provisioner: provisioner:
salt_version: 3006 salt_version: 3006
salt_bootstrap_options: -MP onedir %s salt_bootstrap_options: -MP onedir %s
- name: onedir-rc-3006-0rc2 - name: onedir-3007
provisioner: provisioner:
salt_version: 3006.0rc2 salt_version: 3007
salt_bootstrap_options: -R staging.repo.saltproject.io -MP onedir_rc %s salt_bootstrap_options: -MP onedir %s
excludes:
- arch
- freebsd-131
- freebsd-123
- gentoo
- openbsd-6
- opensuse-15
- opensuse-tumbleweed
- ubuntu-1804
- name: onedir-rc-3006-0rc1 - name: onedir-rc-3008-0rc1
provisioner: provisioner:
salt_version: 3006.0rc1 salt_version: 3008.0rc1
salt_bootstrap_options: -R staging.repo.saltproject.io -MP onedir_rc %s salt_bootstrap_options: -R staging.repo.saltproject.io -MP onedir_rc %s
excludes: excludes:
- arch - arch
- freebsd-131
- freebsd-123
- gentoo - gentoo
- openbsd-6
- opensuse-15 - opensuse-15
- opensuse-tumbleweed - opensuse-tumbleweed
- ubuntu-1804 - ubuntu-2004
- ubuntu-2204
- name: quickstart - name: quickstart
provisioner: provisioner:

View file

@ -1,3 +1,3 @@
pre-commit pre-commit
python-tools-scripts >= 0.12.0 python-tools-scripts >= 0.18.6
boto3 boto3

View file

@ -2,12 +2,12 @@
# This file is autogenerated by pip-compile with Python 3.10 # This file is autogenerated by pip-compile with Python 3.10
# by the following command: # by the following command:
# #
# pip-compile '.\requirements\release.in' # pip-compile requirements/release.in
# #
attrs==23.1.0 attrs==23.1.0
# via python-tools-scripts # via python-tools-scripts
boto3==1.28.79 boto3==1.28.79
# via -r .\requirements\release.in # via -r requirements/release.in
botocore==1.31.79 botocore==1.31.79
# via # via
# boto3 # boto3
@ -39,13 +39,13 @@ nodeenv==1.8.0
platformdirs==3.11.0 platformdirs==3.11.0
# via virtualenv # via virtualenv
pre-commit==3.5.0 pre-commit==3.5.0
# via -r .\requirements\release.in # via -r requirements/release.in
pygments==2.16.1 pygments==2.16.1
# via rich # via rich
python-dateutil==2.8.2 python-dateutil==2.8.2
# via botocore # via botocore
python-tools-scripts==0.18.1 python-tools-scripts==0.18.6
# via -r .\requirements\release.in # via -r requirements/release.in
pyyaml==6.0.1 pyyaml==6.0.1
# via pre-commit # via pre-commit
requests==2.31.0 requests==2.31.0

View file

@ -47,7 +47,7 @@ def target_python_version():
@pytest.fixture(scope="session") @pytest.fixture(scope="session")
def target_salt_version(): def target_salt_version():
bootstrap_types = ("git", "stable", "old", "stable", "onedir", "onedir_rc") bootstrap_types = ("git", "stable", "onedir", "onedir_rc")
# filter out any bootstrap types and then join # filter out any bootstrap types and then join
target_salt = ".".join( target_salt = ".".join(