Merge 3007.x into master

This commit is contained in:
Pedro Algarvio 2024-01-09 15:42:11 +00:00
commit 72514da1a8
No known key found for this signature in database
GPG key ID: BB36BF6584A298FF
27 changed files with 78 additions and 135 deletions

View file

@ -203,7 +203,7 @@ jobs:
- name: Set up Python ${{ inputs.python-version }}
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"

View file

@ -105,7 +105,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -153,7 +153,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"

View file

@ -84,7 +84,7 @@ jobs:
fi
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.11
@ -387,7 +387,7 @@ jobs:
fi
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.11

View file

@ -110,7 +110,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -165,7 +165,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"

View file

@ -133,7 +133,7 @@ jobs:
- *pkg_tests_added_modified
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -222,12 +222,6 @@ jobs:
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
echo '${{ steps.get-testing-releases.outputs.testing-releases }}' | jq -C '.'
- name: Define Testrun
id: define-testrun
run: |
@ -285,7 +279,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -420,7 +414,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -2083,7 +2077,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"

View file

@ -185,7 +185,7 @@ jobs:
- *pkg_tests_added_modified
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -274,12 +274,6 @@ jobs:
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
echo '${{ steps.get-testing-releases.outputs.testing-releases }}' | jq -C '.'
- name: Define Testrun
id: define-testrun
run: |
@ -337,7 +331,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -472,7 +466,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -2143,7 +2137,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"

View file

@ -54,7 +54,7 @@ jobs:
custom_tag: ${{ github.event.inputs.saltVersion }}
- name: Set up Python 3.8
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3.8

View file

@ -34,7 +34,7 @@ jobs:
repository: saltstack/salt-winrepo-ng
- name: Set Up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"

View file

@ -37,7 +37,7 @@ jobs:
uses: actions/checkout@v4
- name: Set Up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"

View file

@ -65,7 +65,7 @@ jobs:
fetch-depth: 0 # Full clone to also get the tags to get the right salt version
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -107,11 +107,6 @@ jobs:
run: |
tools ci get-releases
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
- name: Set Cache Seed Output
id: set-cache-seed
run: |

View file

@ -175,7 +175,7 @@ jobs:
- *pkg_tests_added_modified
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -264,12 +264,6 @@ jobs:
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
echo '${{ steps.get-testing-releases.outputs.testing-releases }}' | jq -C '.'
- name: Define Testrun
id: define-testrun
run: |
@ -327,7 +321,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -462,7 +456,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -2125,7 +2119,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"

View file

@ -163,7 +163,7 @@ jobs:
- *pkg_tests_added_modified
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -261,12 +261,6 @@ jobs:
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
echo '${{ steps.get-testing-releases.outputs.testing-releases }}' | jq -C '.'
- name: Define Testrun
id: define-testrun
run: |
@ -459,7 +453,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"

View file

@ -203,7 +203,7 @@ jobs:
- name: Set up Python ${{ inputs.python-version }}
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"

View file

@ -62,7 +62,7 @@
<%- if not prepare_actual_release %>
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -215,7 +215,7 @@
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -318,7 +318,7 @@
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"

View file

@ -181,7 +181,7 @@ jobs:
- *pkg_tests_added_modified
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -286,12 +286,6 @@ jobs:
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
echo '${{ steps.get-testing-releases.outputs.testing-releases }}' | jq -C '.'
- name: Define Testrun
id: define-testrun
run: |

View file

@ -93,7 +93,7 @@ permissions:
fetch-depth: 0 # Full clone to also get the tags to get the right salt version
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
@ -135,11 +135,6 @@ permissions:
run: |
tools ci get-releases
- name: Check Salt Releases
run: |
echo '${{ steps.get-salt-releases.outputs.latest-release }}' | jq -C '.'
echo '${{ steps.get-salt-releases.outputs.releases }}' | jq -C '.'
- name: Set Cache Seed Output
id: set-cache-seed
run: |

View file

@ -335,7 +335,7 @@ jobs:
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-macos-${{ matrix.arch }}.tar.xz
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
update-environment: true

View file

@ -335,10 +335,7 @@ jobs:
report:
name: Test Reports
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
runs-on:
- self-hosted
- linux
- x86_64
runs-on: ubuntu-latest
needs:
- test

View file

@ -155,7 +155,7 @@ jobs:
fail-on-cache-miss: true
- name: Set up Python ${{ inputs.gh-actions-python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.gh-actions-python-version }}"
@ -403,7 +403,7 @@ jobs:
tree -a artifacts
- name: Set up Python ${{ inputs.gh-actions-python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.gh-actions-python-version }}"

View file

@ -335,10 +335,7 @@ jobs:
report:
name: Test Reports
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
runs-on:
- self-hosted
- linux
- x86_64
runs-on: ubuntu-latest
needs:
- test

View file

@ -487,7 +487,7 @@ jobs:
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-macos-${{ matrix.arch }}.tar.xz
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
update-environment: true

View file

@ -240,10 +240,7 @@ jobs:
report:
name: Report
runs-on:
- self-hosted
- linux
- x86_64
runs-on: ubuntu-latest
if: always() && (inputs.skip-code-coverage == false || inputs.skip-junit-reports == false) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
needs:
- test

View file

@ -152,7 +152,7 @@ jobs:
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
@ -251,7 +251,7 @@ jobs:
tree -a artifacts
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"

View file

@ -240,10 +240,7 @@ jobs:
report:
name: Report
runs-on:
- self-hosted
- linux
- x86_64
runs-on: ubuntu-latest
if: always() && (inputs.skip-code-coverage == false || inputs.skip-junit-reports == false) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
needs:
- test

View file

@ -28,7 +28,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3.8

View file

@ -23,7 +23,7 @@
#======================================================================================================================
set -o nounset # Treat unset variables as an error
__ScriptVersion="2023.11.07"
__ScriptVersion="2024.01.04"
__ScriptName="bootstrap-salt.sh"
__ScriptFullName="$0"
@ -596,6 +596,7 @@ fi
echoinfo "Running version: ${__ScriptVersion}"
echoinfo "Executed by: ${CALLER}"
echoinfo "Command line: '${__ScriptFullName} ${__ScriptArgs}'"
echowarn "Running the unstable version of ${__ScriptName}"
# Define installation type
if [ "$#" -gt 0 ];then
@ -1521,9 +1522,9 @@ __check_dpkg_architecture() {
if [ "$_CUSTOM_REPO_URL" != "null" ]; then
warn_msg="Support for arm64 is experimental, make sure the custom repository used has the expected structure and contents."
else
# Saltstack official repository has arm64 metadata beginning with Debian 11,
# Saltstack official repository has arm64 metadata beginning with Debian 10,
# use amd64 repositories on arm64 for anything older, since all pkgs are arch-independent
if [ "$DISTRO_NAME_L" = "debian" ] && [ "$DISTRO_MAJOR_VERSION" -lt 11 ]; then
if [ "$DISTRO_NAME_L" = "debian" ] && [ "$DISTRO_MAJOR_VERSION" -lt 10 ]; then
__REPO_ARCH="amd64"
else
__REPO_ARCH="arm64"

View file

@ -892,15 +892,15 @@ def get_releases(ctx: Context, repository: str = "saltstack/salt"):
"""
Generate the latest salt release.
"""
releases = tools.utils.get_salt_releases(ctx, repository)
str_releases = [str(version) for version in releases]
latest = str_releases[-1]
ctx.info("Releases:", sorted(str_releases))
ctx.info(f"Latest Release: '{latest}'")
github_output = os.environ.get("GITHUB_OUTPUT")
if github_output is None:
ctx.exit(1, "The 'GITHUB_OUTPUT' variable is not set.")
else:
releases = tools.utils.get_salt_releases(ctx, repository)
str_releases = [str(version) for version in releases]
latest = str_releases[-1]
if github_output is not None:
with open(github_output, "a", encoding="utf-8") as wfh:
wfh.write(f"latest-release={latest}\n")
wfh.write(f"releases={json.dumps(str_releases)}\n")
@ -1093,40 +1093,34 @@ def get_testing_releases(
"""
Get a list of releases to use for the upgrade and downgrade tests.
"""
# We aren't testing upgrades from anything before 3006.0 except the latest 3005.x
threshold_major = 3005
parsed_salt_version = tools.utils.Version(salt_version)
# We want the latest 4 major versions, removing the oldest if this version is a new major
num_major_versions = 4
if parsed_salt_version.minor == 0:
num_major_versions = 3
majors = sorted(
list(
{version.major for version in releases if version.major >= threshold_major}
)
)[-num_major_versions:]
testing_releases = []
# Append the latest minor for each major
for major in majors:
minors_of_major = [version for version in releases if version.major == major]
testing_releases.append(minors_of_major[-1])
str_releases = [str(version) for version in testing_releases]
ctx.info("Testing Releases:", sorted(str_releases))
github_output = os.environ.get("GITHUB_OUTPUT")
if github_output is None:
ctx.exit(1, "The 'GITHUB_OUTPUT' variable is not set.")
else:
# We aren't testing upgrades from anything before 3006.0 except the latest 3005.x
threshold_major = 3005
parsed_salt_version = tools.utils.Version(salt_version)
# We want the latest 4 major versions, removing the oldest if this version is a new major
num_major_versions = 4
if parsed_salt_version.minor == 0:
num_major_versions = 3
majors = sorted(
list(
{
version.major
for version in releases
if version.major >= threshold_major
}
)
)[-num_major_versions:]
testing_releases = []
# Append the latest minor for each major
for major in majors:
minors_of_major = [
version for version in releases if version.major == major
]
testing_releases.append(minors_of_major[-1])
str_releases = [str(version) for version in testing_releases]
if github_output is not None:
with open(github_output, "a", encoding="utf-8") as wfh:
wfh.write(f"testing-releases={json.dumps(str_releases)}\n")
ctx.exit(0)
ctx.exit(0)
@ci.command(