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

View file

@ -188,6 +188,7 @@ def main():
+ changelog_file.read_text()
)
# Update Script Version for the bash script
bootstrap_script_path = REPO_ROOT / "bootstrap-salt.sh"
print(
f"* Updating {bootstrap_script_path.relative_to(REPO_ROOT)} ...",
@ -201,6 +202,22 @@ def main():
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")

View file

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

View file

@ -47,7 +47,7 @@ jobs:
- name: Upload Exit Status
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: exitstatus
path: exitstatus
@ -61,10 +61,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.9
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: 3.9
python-version: "3.10"
- name: Install Pre-Commit
run: |
@ -84,7 +84,7 @@ jobs:
- name: Upload Exit Status
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: exitstatus
path: exitstatus
@ -93,7 +93,7 @@ jobs:
name: Lint
runs-on: ubuntu-latest
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'
steps:
- uses: actions/checkout@v4
@ -109,7 +109,7 @@ jobs:
- name: Upload Exit Status
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: exitstatus
path: exitstatus

View file

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
import datetime
import json
import os
@ -6,31 +6,30 @@ import pathlib
os.chdir(os.path.abspath(os.path.dirname(__file__)))
## "amazon-2023",
LINUX_DISTROS = [
"almalinux-8",
"almalinux-9",
"amazon-2",
"arch",
"centos-7",
"centos-stream8",
"centos-stream9",
"debian-10",
"debian-11",
"fedora-36",
"fedora-37",
"fedora-38",
"debian-12",
"fedora-39",
"fedora-40",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"oraclelinux-7",
"oraclelinux-8",
"photon-3",
"oraclelinux-9",
"photon-4",
"photon-5",
"rockylinux-8",
"rockylinux-9",
"ubuntu-2004",
"ubuntu-2204",
"ubuntu-2404",
]
WINDOWS = [
"windows-2019",
@ -38,319 +37,183 @@ WINDOWS = [
]
OSX = [
"macos-11",
"macos-12",
]
BSD = [
"freebsd-131",
"freebsd-123",
"openbsd-7",
"macos-13",
]
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 = [
"almalinux-8",
"almalinux-9",
"amazon-2",
"arch",
"centos-7",
"centos-stream8",
"centos-stream9",
"debian-10",
"debian-11",
"fedora-36",
"fedora-37",
"fedora-38",
"debian-12",
"fedora-39",
"fedora-40",
"opensuse-15",
"opensuse-tumbleweed",
"oraclelinux-7",
"oraclelinux-8",
"photon-3",
"oraclelinux-9",
"photon-4",
"photon-5",
"rockylinux-8",
"rockylinux-9",
"ubuntu-2004",
"ubuntu-2204",
"ubuntu-2404",
]
## "amazon-2023",
ONEDIR_DISTROS = [
"almalinux-8",
"almalinux-9",
"amazon-2",
"centos-7",
"centos-stream8",
"centos-stream9",
"debian-10",
"debian-11",
"fedora-36",
"fedora-37",
"fedora-38",
"oraclelinux-7",
"debian-12",
"fedora-39",
"fedora-40",
"oraclelinux-8",
"photon-3",
"oraclelinux-9",
"photon-4",
"photon-5",
"rockylinux-8",
"rockylinux-9",
"ubuntu-2004",
"ubuntu-2204",
"ubuntu-2404",
]
ONEDIR_RC_DISTROS = [
"almalinux-8",
"almalinux-9",
"amazon-2",
"centos-7",
"centos-stream8",
"centos-stream9",
"debian-10",
"debian-11",
"oraclelinux-7",
"oraclelinux-8",
"photon-3",
"debian-12",
"oraclelinux-9",
"photon-4",
"rockylinux-8",
"photon-5",
"rockylinux-9",
"ubuntu-2004",
"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",
"ubuntu-2404",
]
BLACKLIST_3006 = [
"arch",
"debian-12",
"fedora-40",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"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 = [
"almalinux-9",
"amazon-2",
"arch",
"centos-stream9",
"debian-10",
"debian-11",
"fedora-36",
"fedora-37",
"fedora-38",
"debian-12",
"fedora-40",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"photon-3",
"oraclelinux-9",
"photon-4",
"photon-5",
"rockylinux-9",
"ubuntu-2004",
"ubuntu-2110",
"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 = [
"amazon-2",
"debian-10",
"freebsd-131",
"freebsd-123",
"photon-3",
"fedora-39",
"photon-4",
"photon-5",
]
SALT_VERSIONS = [
"3003",
"3004",
"3005",
"3005-1",
"3006",
"3006-1",
"3006-8",
"3007",
"3007-1",
"master",
"latest",
"nightly",
]
ONEDIR_SALT_VERSIONS = [
"3005",
"3006",
"3007",
"latest",
]
ONEDIR_RC_SALT_VERSIONS = []
VERSION_DISPLAY_NAMES = {
"3003": "v3003",
"3004": "v3004",
"3005": "v3005",
"3005-1": "v3005.1",
"3006": "v3006",
"3006-1": "v3006.1",
"3006-8": "v3006.8",
"3007": "v3007",
"3007-1": "v3007.1",
"master": "Master",
"latest": "Latest",
"nightly": "Nightly",
}
OLD_STABLE_VERSION_BLACKLIST = [
"3005-1",
"3006",
"3006-1",
"master",
"nightly",
]
STABLE_VERSION_BLACKLIST = [
"3003",
"3004",
"master",
"nightly",
]
MAC_OLD_STABLE_VERSION_BLACKLIST = [
"3005-1",
"3006",
"3006-1",
"master",
"nightly",
]
MAC_STABLE_VERSION_BLACKLIST = [
"3003",
"3004",
"3005",
"3005-1",
"master",
"nightly",
]
GIT_VERSION_BLACKLIST = [
"3005-1",
"3006-1",
"3006-8",
"3007-1",
"nightly",
]
@ -365,12 +228,8 @@ GIT_VERSION_BLACKLIST = [
#
GIT_DISTRO_BLACKLIST = [
"almalinux-8",
"centos-7",
"centos-stream8",
"fedora-37",
"fedora-38",
"fedora-39",
"opensuse-15",
"oraclelinux-7",
"oraclelinux-8",
"rockylinux-8",
]
@ -380,37 +239,32 @@ LATEST_PKG_BLACKLIST = [
"gentoo-systemd",
]
## "amazon-2023": "Amazon 2023",
DISTRO_DISPLAY_NAMES = {
"almalinux-8": "AlmaLinux 8",
"almalinux-9": "AlmaLinux 9",
"amazon-2": "Amazon 2",
"arch": "Arch",
"centos-7": "CentOS 7",
"centos-stream8": "CentOS Stream 8",
"centos-stream9": "CentOS Stream 9",
"debian-10": "Debian 10",
"debian-11": "Debian 11",
"fedora-36": "Fedora 36",
"fedora-37": "Fedora 37",
"fedora-38": "Fedora 38",
"debian-12": "Debian 12",
"fedora-39": "Fedora 39",
"fedora-40": "Fedora 40",
"gentoo": "Gentoo",
"gentoo-systemd": "Gentoo (systemd)",
"opensuse-15": "Opensuse 15",
"opensuse-tumbleweed": "Opensuse Tumbleweed",
"oraclelinux-7": "Oracle Linux 7",
"oraclelinux-8": "Oracle Linux 8",
"photon-3": "Photon OS 3",
"oraclelinux-9": "Oracle Linux 9",
"photon-4": "Photon OS 4",
"photon-5": "Photon OS 5",
"rockylinux-8": "Rocky Linux 8",
"rockylinux-9": "Rocky Linux 9",
"ubuntu-2004": "Ubuntu 20.04",
"ubuntu-2204": "Ubuntu 22.04",
"macos-1015": "macOS 10.15",
"macos-11": "macOS 11",
"ubuntu-2404": "Ubuntu 24.04",
"macos-12": "macOS 12",
"freebsd-131": "FreeBSD 13.1",
"freebsd-123": "FreeBSD 12.3",
"openbsd-7": "OpenBSD 7",
"macos-13": "macOS 13",
"windows-2019": "Windows 2019",
"windows-2022": "Windows 2022",
}
@ -444,83 +298,10 @@ def generate_test_jobs():
test_jobs = ""
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"
for distro in OSX:
test_jobs += "\n"
if distro == "macos-1015":
runs_on = "macos-10.15"
else:
runs_on = distro
runs_on = distro
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-macos.yml"
@ -532,25 +313,19 @@ def generate_test_jobs():
)
for salt_version in SALT_VERSIONS:
if salt_version == "latest":
instances.append(salt_version)
continue
for bootstrap_type in ("stable", "old-stable"):
for bootstrap_type in ["stable"]:
if bootstrap_type == "stable":
if salt_version in MAC_STABLE_VERSION_BLACKLIST:
continue
if bootstrap_type == "old-stable":
if salt_version in MAC_OLD_STABLE_VERSION_BLACKLIST:
continue
test_target = f"{bootstrap_type}-{salt_version}"
instances.append(test_target)
kitchen_target = f"{bootstrap_type}-{salt_version}"
instances.append(kitchen_target)
for bootstrap_type in ("default",):
for bootstrap_type in ["default"]:
if distro not in STABLE_DISTROS:
continue
instances.append(bootstrap_type)
@ -587,15 +362,15 @@ def generate_test_jobs():
instances.append(salt_version)
continue
for bootstrap_type in ("stable",):
for bootstrap_type in ["stable"]:
if bootstrap_type == "stable":
if salt_version in STABLE_VERSION_BLACKLIST:
continue
kitchen_target = f"{bootstrap_type}-{salt_version}"
instances.append(kitchen_target)
test_target = f"{bootstrap_type}-{salt_version}"
instances.append(test_target)
for bootstrap_type in ("default",):
for bootstrap_type in ["default"]:
if distro not in STABLE_DISTROS:
continue
instances.append(bootstrap_type)
@ -637,7 +412,6 @@ def generate_test_jobs():
continue
for bootstrap_type in (
"old-stable",
"stable",
"git",
"onedir",
@ -655,12 +429,6 @@ def generate_test_jobs():
if distro not in ONEDIR_RC_DISTROS:
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 salt_version in STABLE_VERSION_BLACKLIST:
continue
@ -674,19 +442,15 @@ def generate_test_jobs():
continue
BLACKLIST = {
"3003": BLACKLIST_3003,
"3004": BLACKLIST_3004,
"3005": BLACKLIST_3005,
"3005-1": BLACKLIST_3005,
"3006": BLACKLIST_3006,
"3006-1": BLACKLIST_3006,
"3006-8": BLACKLIST_3006,
"3007": BLACKLIST_3007,
"3007-1": BLACKLIST_3007,
}
if bootstrap_type == "git":
BLACKLIST = {
"3003": BLACKLIST_GIT_3003,
"3004": BLACKLIST_GIT_3004,
"3005": BLACKLIST_GIT_3005,
"3006": BLACKLIST_GIT_3006,
"3007": BLACKLIST_GIT_3007,
"master": BLACKLIST_GIT_MASTER,
}
@ -697,16 +461,15 @@ def generate_test_jobs():
continue
if (
salt_version
in ("3003", "3004", "3005", "3005-1", "3006", "3006-1", "master")
salt_version in ("3006", "3006-8", "3007", "3007-1", "master")
and distro in BLACKLIST[salt_version]
):
continue
kitchen_target = f"{bootstrap_type}-{salt_version}"
instances.append(kitchen_target)
test_target = f"{bootstrap_type}-{salt_version}"
instances.append(test_target)
for bootstrap_type in ("default",):
for bootstrap_type in ["default"]:
if distro not in STABLE_DISTROS:
continue
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
with:
ruby-version: 2.6.10
## ruby-version: 3.3.4
bundler-cache: true
- name: Set up Python 3.9
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: 3.9
python-version: "3.10"
- name: Install Python Dependencies
run: |
@ -55,17 +56,19 @@ jobs:
- 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 }})
(sleep 10 && bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }})
sleep 2
- name: Test Bootstrap
run: |
bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }}
sleep 2
- name: Destroy Test Instance
if: always()
run: |
bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }}
sleep 2
- name: Set Exit Status
if: always()

View file

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

View file

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

View file

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

View file

@ -54,6 +54,7 @@ Daniel Wallace gtmanfred danielwallace@gtmanfred.com
Darko Cerdic darkocerdic
Daryl Turner darylturner d.turner@arkadin.com
David J. Felix DavidJFelix
David Murphy daithi david-dm.murphy@broadcom.com
denmat denmat
Denys Havrysh vutny denys.gavrysh@gmail.com
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
## 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
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
issue you are having might have already been fixed and it's just not yet included
in the stable release.
```
curl -o bootstrap-salt.sh -L https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.sh
sudo sh bootstrap-salt.sh git master
```
```
curl -o bootstrap-salt.sh -L https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.sh
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.
4. **Include a reproducible example** -- Provide the steps which
1. **Include a reproducible example** -- Provide the steps which
led you to the problem.
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. 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 version number in the bootstrap script. The version number is date-based, `<year.month.day>`.
For example, version `2018.08.15` was released on August 15, 2018.
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 `3006.6` is major version `3006` and minior version `6`.
1. Merge the `develop` branch into the `stable` branch.
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)
@ -177,83 +177,82 @@ The following operating systems are detected, but Salt and its dependency
installation functions are not developed yet:
- BSD:
- NetBSD
- NetBSD
- Linux:
- Slackware
- Slackware
- SunOS:
- OpenIndiana
- Oracle Solaris
- OmniOS (Illumos)
- OpenIndiana
- Oracle Solaris
- OmniOS (Illumos)
In order to install Salt for a distribution, you need to define the following:
1. To Install Dependencies, which is required, one of:
```
install_<distro>_<major_version>_<install_type>_deps
install_<distro>_<major_version>_<minor_version>_<install_type>_deps
install_<distro>_<major_version>_deps
install_<distro>_<major_version>_<minor_version>_deps
install_<distro>_<install_type>_deps
install_<distro>_deps
```
```
install_<distro>_<major_version>_<install_type>_deps
install_<distro>_<major_version>_<minor_version>_<install_type>_deps
install_<distro>_<major_version>_deps
install_<distro>_<major_version>_<minor_version>_deps
install_<distro>_<install_type>_deps
install_<distro>_deps
```
2. Optionally, define a minion configuration function, which will be called if the
``-c`` option is passed. One of:
1. Optionally, define a minion configuration function, which will be called if the
`-c` option is passed. One of:
```
config_<distro>_<major_version>_<install_type>_salt
config_<distro>_<major_version>_<minor_version>_<install_type>_salt
config_<distro>_<major_version>_salt
config_<distro>_<major_version>_<minor_version>_salt
config_<distro>_<install_type>_salt
config_<distro>_salt
config_salt (THIS ONE IS ALREADY DEFINED AS THE DEFAULT)
```
```
config_<distro>_<major_version>_<install_type>_salt
config_<distro>_<major_version>_<minor_version>_<install_type>_salt
config_<distro>_<major_version>_salt
config_<distro>_<major_version>_<minor_version>_salt
config_<distro>_<install_type>_salt
config_<distro>_salt
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
``-k`` (pre-seed master keys) option is passed. One of:
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:
```
preseed_<distro>_<major_version>_<install_type>_master
preseed_<distro>_<major_version>_<minor_version>_<install_type>_master
preseed_<distro>_<major_version>_master
preseed_<distro>_<major_version>_<minor_version>_master
preseed_<distro>_<install_type>_master
preseed_<distro>_master
preseed_master (THIS ONE IS ALREADY DEFINED AS THE DEFAULT)
```
```
preseed_<distro>_<major_version>_<install_type>_master
preseed_<distro>_<major_version>_<minor_version>_<install_type>_master
preseed_<distro>_<major_version>_master
preseed_<distro>_<major_version>_<minor_version>_master
preseed_<distro>_<install_type>_master
preseed_<distro>_master
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>_<minor_version>_<install_type>
install_<distro>_<install_type>
```
```
install_<distro>_<major_version>_<install_type>
install_<distro>_<major_version>_<minor_version>_<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>_<minor_version>_<install_type>_post
install_<distro>_<major_version>_post
install_<distro>_<major_version>_<minor_version>_post
install_<distro>_<install_type>_post
install_<distro>_post
```
```
install_<distro>_<major_version>_<install_type>_post
install_<distro>_<major_version>_<minor_version>_<install_type>_post
install_<distro>_<major_version>_post
install_<distro>_<major_version>_<minor_version>_post
install_<distro>_<install_type>_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>_<minor_version>_<install_type>_restart_daemons
install_<distro>_<major_version>_restart_daemons
install_<distro>_<major_version>_<minor_version>_restart_daemons
install_<distro>_<install_type>_restart_daemons
install_<distro>_restart_daemons
```
```
install_<distro>_<major_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>_<minor_version>_restart_daemons
install_<distro>_<install_type>_restart_daemons
install_<distro>_restart_daemons
```
**NOTE**
@ -262,26 +261,26 @@ start if they're not running.
7. Optionally, define a daemons running function, one of:
```
daemons_running_<distro>_<major_version>_<install_type>
daemons_running_<distro>_<major_version>_<minor_version>_<install_type>
daemons_running_<distro>_<major_version>
daemons_running_<distro>_<major_version>_<minor_version>
daemons_running_<distro>_<install_type>
daemons_running_<distro>
daemons_running (THIS ONE IS ALREADY DEFINED AS THE DEFAULT)
```
```
daemons_running_<distro>_<major_version>_<install_type>
daemons_running_<distro>_<major_version>_<minor_version>_<install_type>
daemons_running_<distro>_<major_version>
daemons_running_<distro>_<major_version>_<minor_version>
daemons_running_<distro>_<install_type>
daemons_running_<distro>
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>_<minor_version>_<install_type>_check_services
install_<distro>_<major_version>_check_services
install_<distro>_<major_version>_<minor_version>_check_services
install_<distro>_<install_type>_check_services
install_<distro>_check_services
```
```
install_<distro>_<major_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>_<minor_version>_check_services
install_<distro>_<install_type>_check_services
install_<distro>_check_services
```
**NOTE**

View file

@ -1,8 +1,8 @@
FROM ubuntu-upstart:14.04
FROM ubuntu:20.04
MAINTAINER "SaltStack Team"
# 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
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:
- 2024.04.03: ``450ba5cde4af8d6cb5c56c66791f87b918bcda70ccdfb10abf3cc294143c8073``
- 2024.01.04: ``cebcbc67895e238d1cf0024922a7fe5c772b9aaba346490c8fa6193bb0d993d4``
- 2023.11.16: ``3757ed82161113fed4c711fd7332e922265eeeb54e6e4f657a08ea82d57cc3a2``
- 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.
# 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
# doesn't already exist on the user's system.

View file

@ -94,7 +94,12 @@ param(
[Parameter(Mandatory=$false)]
[Alias("h")]
# 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
@ -105,6 +110,15 @@ if ($help) {
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
#===============================================================================
@ -303,6 +317,8 @@ if ( [Uri]($RepoUrl).AbsoluteUri -eq $defaultUrl ) {
#===============================================================================
# Verify Parameters
#===============================================================================
Write-Verbose "Running Script: $ScriptName"
Write-Verbose "Script Version: $__ScriptVersion"
Write-Verbose "Parameters passed in:"
Write-Verbose "version: $Version"
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:
- name: macos-12
- name: macos-11
- name: macos-1015
- name: macos-13
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
provisioner:
salt_version: 3006
salt_call_command: /opt/salt/salt-call
- name: stable-3006-1
- name: stable-3006-8
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
- name: latest
provisioner:

View file

@ -17,27 +17,21 @@ platforms:
- name: windows-2019
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
provisioner:
salt_version: 3006.0
salt_version: 3006
salt_call_command: c:\Program Files\Salt Project\Salt\salt-call.exe
- name: stable-3006-1
- name: stable-3006-8
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
- name: latest
provisioner:

View file

@ -28,6 +28,14 @@ provisioner:
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'
## - 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:
- name: almalinux-9
driver:
@ -42,12 +50,6 @@ platforms:
platform: rhel
provision_command:
- yum -y install procps-ng
- name: amazon-2023
driver:
image: amazonlinux:2023
platform: fedora
provision_command:
- yum -y install procps-ng
- name: arch
driver:
image: archlinux/archlinux
@ -63,32 +65,22 @@ platforms:
- 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: 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
driver:
image: debian:bullseye
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:
provision_command: &fedora_provision_command
- dnf -y install procps-ng crypto-policies-scripts
- update-crypto-policies --set LEGACY
- name: fedora-36
driver:
provision_command: *fedora_provision_command
- name: fedora-37
driver:
provision_command: *fedora_provision_command
- name: fedora-38
- name: fedora-40
driver:
provision_command: *fedora_provision_command
- name: gentoo
@ -128,74 +120,46 @@ platforms:
- 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: 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: oraclelinux-8
- name: oraclelinux-7
- name: rockylinux-8
- name: ubuntu-24.04
driver:
run_command: /lib/systemd/systemd
provision_command:
- echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config
- name: ubuntu-22.04
driver:
run_command: /lib/systemd/systemd
provision_command:
- echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config
- name: ubuntu-21.10
driver:
run_command: /lib/systemd/systemd
- name: ubuntu-20.04
driver:
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
driver:
image: photon:4.0
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
- sed -ie 's/PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
- systemctl enable sshd.service
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
provisioner:
salt_version: v3006
@ -204,12 +168,10 @@ suites:
- opensuse-15
- opensuse-tumbleweed
- debian-11
- debian-12
- arch
- gentoo
- gentoo-systemd
- freebsd-131
- freebsd-123
- openbsd-6
- name: git-3006x
provisioner:
salt_version: 3006.x
@ -218,100 +180,32 @@ suites:
- opensuse-15
- opensuse-tumbleweed
- debian-11
- debian-12
- arch
- gentoo
- gentoo-systemd
- freebsd-131
- freebsd-123
- openbsd-6
- name: old-stable-3003-0
- name: git-3007
provisioner:
salt_version: 3003
salt_bootstrap_options: -x python3 -MP old-stable 3003.0
salt_version: v3007
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
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: old-stable-3003
- name: git-3007x
provisioner:
salt_version: 3003
salt_bootstrap_options: -x python3 -MP old-stable %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
salt_version: 3007.x
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: 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
provisioner:
salt_version: 3006
@ -320,20 +214,30 @@ suites:
- opensuse-15
- opensuse-tumbleweed
- arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: stable-3006-1
- name: stable-3006-8
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
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: git-master
provisioner:
salt_version: master
@ -359,43 +263,27 @@ suites:
salt_version: latest
salt_bootstrap_options: -MP onedir %s
- name: onedir-3005
provisioner:
salt_version: 3005
salt_bootstrap_options: -MP onedir %s
- name: onedir-3006
provisioner:
salt_version: 3006
salt_bootstrap_options: -MP onedir %s
- name: onedir-rc-3006-0rc2
- name: onedir-3007
provisioner:
salt_version: 3006.0rc2
salt_bootstrap_options: -R staging.repo.saltproject.io -MP onedir_rc %s
excludes:
- arch
- freebsd-131
- freebsd-123
- gentoo
- openbsd-6
- opensuse-15
- opensuse-tumbleweed
- ubuntu-1804
salt_version: 3007
salt_bootstrap_options: -MP onedir %s
- name: onedir-rc-3006-0rc1
- name: onedir-rc-3008-0rc1
provisioner:
salt_version: 3006.0rc1
salt_version: 3008.0rc1
salt_bootstrap_options: -R staging.repo.saltproject.io -MP onedir_rc %s
excludes:
- arch
- freebsd-131
- freebsd-123
- gentoo
- openbsd-6
- opensuse-15
- opensuse-tumbleweed
- ubuntu-1804
- ubuntu-2004
- ubuntu-2204
- name: quickstart
provisioner:

View file

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

View file

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

View file

@ -47,7 +47,7 @@ def target_python_version():
@pytest.fixture(scope="session")
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
target_salt = ".".join(