mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge 3006.x into master
This commit is contained in:
commit
2702705043
88 changed files with 4518 additions and 2231 deletions
24
.github/workflows/build-deb-packages.yml
vendored
24
.github/workflows/build-deb-packages.yml
vendored
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
name: Build Debian Packages
|
name: Build DEB Packages
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
|
@ -16,6 +16,17 @@ on:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
description: The version of python to use with relenv
|
description: The version of python to use with relenv
|
||||||
|
source:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The backend to build the packages with
|
||||||
|
|
||||||
|
env:
|
||||||
|
COLUMNS: 190
|
||||||
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
|
AWS_RETRY_MODE: "adaptive"
|
||||||
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -31,19 +42,18 @@ jobs:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
source:
|
source:
|
||||||
- onedir
|
- ${{ inputs.source }}
|
||||||
- src
|
|
||||||
|
|
||||||
container:
|
container:
|
||||||
image: ghcr.io/saltstack/salt-ci-containers/packaging:debian-12
|
image: ghcr.io/saltstack/salt-ci-containers/packaging:debian-12
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# Checkout here so we can easily use custom actions
|
# Checkout here so we can easily use custom actions
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
# Checkout here for the build process
|
# Checkout here for the build process
|
||||||
- name: Checkout in build directory
|
- name: Checkout in build directory
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path:
|
path:
|
||||||
pkgs/checkout/
|
pkgs/checkout/
|
||||||
|
@ -89,7 +99,7 @@ jobs:
|
||||||
working-directory: pkgs/checkout/
|
working-directory: pkgs/checkout/
|
||||||
run: |
|
run: |
|
||||||
tools pkg build deb --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
|
tools pkg build deb --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
|
||||||
matrix.source == 'onedir' &&
|
inputs.source == 'onedir' &&
|
||||||
format('--onedir=salt-{0}-onedir-linux-{1}.tar.xz', inputs.salt-version, matrix.arch)
|
format('--onedir=salt-{0}-onedir-linux-{1}.tar.xz', inputs.salt-version, matrix.arch)
|
||||||
||
|
||
|
||||||
format('--arch={0}', matrix.arch)
|
format('--arch={0}', matrix.arch)
|
||||||
|
@ -102,7 +112,7 @@ jobs:
|
||||||
- name: Set Artifact Name
|
- name: Set Artifact Name
|
||||||
id: set-artifact-name
|
id: set-artifact-name
|
||||||
run: |
|
run: |
|
||||||
if [ "${{ matrix.source }}" != "src" ]; then
|
if [ "${{ inputs.source }}" != "src" ]; then
|
||||||
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-deb" >> "$GITHUB_OUTPUT"
|
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-deb" >> "$GITHUB_OUTPUT"
|
||||||
else
|
else
|
||||||
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-deb-from-src" >> "$GITHUB_OUTPUT"
|
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-deb-from-src" >> "$GITHUB_OUTPUT"
|
||||||
|
|
134
.github/workflows/build-deps-ci-action-macos.yml
vendored
Normal file
134
.github/workflows/build-deps-ci-action-macos.yml
vendored
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
---
|
||||||
|
name: Test Dependencies
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
distro-slug:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The OS slug to run tests against
|
||||||
|
nox-session:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The nox session to run
|
||||||
|
salt-version:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
description: The Salt version to set prior to running tests.
|
||||||
|
cache-prefix:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: Seed used to invalidate caches
|
||||||
|
platform:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The platform being tested
|
||||||
|
arch:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The platform arch being tested
|
||||||
|
nox-version:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The nox version to install
|
||||||
|
python-version:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
description: The python version to run tests with
|
||||||
|
default: "3.10"
|
||||||
|
package-name:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
description: The onedir package name to use
|
||||||
|
default: salt
|
||||||
|
|
||||||
|
|
||||||
|
env:
|
||||||
|
COLUMNS: 190
|
||||||
|
PIP_INDEX_URL: "https://pypi-proxy.saltstack.net/root/local/+simple/"
|
||||||
|
PIP_EXTRA_INDEX_URL: "https://pypi.org/simple"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
name: Test Dependencies
|
||||||
|
runs-on: ${{ inputs.distro-slug }}
|
||||||
|
timeout-minutes: 90
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
|
- name: Checkout Source Code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Cache nox.${{ inputs.distro-slug }}.tar.* for session ${{ inputs.nox-session }}
|
||||||
|
id: nox-dependencies-cache
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
||||||
|
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{
|
||||||
|
hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py')
|
||||||
|
}}
|
||||||
|
|
||||||
|
- name: Download Onedir Tarball as an Artifact
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
||||||
|
path: artifacts/
|
||||||
|
|
||||||
|
- name: Decompress Onedir Tarball
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
|
||||||
|
cd artifacts
|
||||||
|
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
||||||
|
|
||||||
|
- name: Set up Python ${{ inputs.python-version }}
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: "${{ inputs.python-version }}"
|
||||||
|
|
||||||
|
- name: Install System Dependencies
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
brew install openssl@3
|
||||||
|
|
||||||
|
- name: Install Nox
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
python3 -m pip install 'nox==${{ inputs.nox-version }}'
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
env:
|
||||||
|
PRINT_TEST_SELECTION: "0"
|
||||||
|
PRINT_SYSTEM_INFO: "0"
|
||||||
|
run: |
|
||||||
|
export PYCURL_SSL_LIBRARY=openssl
|
||||||
|
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
|
||||||
|
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
|
||||||
|
export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
|
||||||
|
nox --install-only -e ${{ inputs.nox-session }}
|
||||||
|
|
||||||
|
- name: Cleanup .nox Directory
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
nox -e "pre-archive-cleanup(pkg=False)"
|
||||||
|
|
||||||
|
- name: Compress .nox Directory
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
nox -e compress-dependencies -- ${{ inputs.distro-slug }}
|
||||||
|
|
||||||
|
- name: Upload Nox Requirements Tarball
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: nox-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||||
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
158
.github/workflows/build-deps-ci-action.yml
vendored
Normal file
158
.github/workflows/build-deps-ci-action.yml
vendored
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
---
|
||||||
|
name: Test Dependencies
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
distro-slug:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The OS slug to run tests against
|
||||||
|
nox-session:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The nox session to run
|
||||||
|
salt-version:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
description: The Salt version to set prior to running tests.
|
||||||
|
cache-prefix:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: Seed used to invalidate caches
|
||||||
|
platform:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The platform being tested
|
||||||
|
arch:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The platform arch being tested
|
||||||
|
nox-version:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The nox version to install
|
||||||
|
python-version:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
description: The python version to run tests with
|
||||||
|
default: "3.10"
|
||||||
|
package-name:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
description: The onedir package name to use
|
||||||
|
default: salt
|
||||||
|
|
||||||
|
|
||||||
|
env:
|
||||||
|
COLUMNS: 190
|
||||||
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
|
AWS_RETRY_MODE: "adaptive"
|
||||||
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
name: Test Dependencies
|
||||||
|
runs-on:
|
||||||
|
- self-hosted
|
||||||
|
- linux
|
||||||
|
- bastion
|
||||||
|
timeout-minutes: 90
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
|
- name: Checkout Source Code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Cache nox.${{ inputs.distro-slug }}.tar.* for session ${{ inputs.nox-session }}
|
||||||
|
id: nox-dependencies-cache
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
||||||
|
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{
|
||||||
|
hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py')
|
||||||
|
}}
|
||||||
|
|
||||||
|
- name: Download Onedir Tarball as an Artifact
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
||||||
|
path: artifacts/
|
||||||
|
|
||||||
|
- name: Decompress Onedir Tarball
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
|
||||||
|
cd artifacts
|
||||||
|
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
||||||
|
|
||||||
|
- name: PyPi Proxy
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
sed -i '7s;^;--index-url=https://pypi-proxy.saltstack.net/root/local/+simple/ --extra-index-url=https://pypi.org/simple\n;' requirements/static/ci/*/*.txt
|
||||||
|
|
||||||
|
- name: Setup Python Tools Scripts
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
|
||||||
|
- name: Get Salt Project GitHub Actions Bot Environment
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
|
||||||
|
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
|
||||||
|
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
|
- name: Start VM
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
id: spin-up-vm
|
||||||
|
run: |
|
||||||
|
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ inputs.distro-slug }}
|
||||||
|
|
||||||
|
- name: List Free Space
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- df -h || true
|
||||||
|
|
||||||
|
- name: Upload Checkout To VM
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
tools --timestamps vm rsync ${{ inputs.distro-slug }}
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
tools --timestamps vm install-dependencies --nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }}
|
||||||
|
|
||||||
|
- name: Cleanup .nox Directory
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
tools --timestamps vm pre-archive-cleanup ${{ inputs.distro-slug }}
|
||||||
|
|
||||||
|
- name: Compress .nox Directory
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
tools --timestamps vm compress-dependencies ${{ inputs.distro-slug }}
|
||||||
|
|
||||||
|
- name: Download Compressed .nox Directory
|
||||||
|
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
tools --timestamps vm download-dependencies ${{ inputs.distro-slug }}
|
||||||
|
|
||||||
|
- name: Destroy VM
|
||||||
|
if: always() && steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
tools --timestamps vm destroy --no-wait ${{ inputs.distro-slug }}
|
||||||
|
|
||||||
|
- name: Upload Nox Requirements Tarball
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: nox-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||||
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
30
.github/workflows/build-deps-onedir.yml
vendored
30
.github/workflows/build-deps-onedir.yml
vendored
|
@ -29,6 +29,11 @@ on:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
RELENV_DATA: "${{ github.workspace }}/.relenv"
|
RELENV_DATA: "${{ github.workspace }}/.relenv"
|
||||||
|
COLUMNS: 190
|
||||||
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
|
AWS_RETRY_MODE: "adaptive"
|
||||||
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
@ -46,7 +51,14 @@ jobs:
|
||||||
- linux
|
- linux
|
||||||
- ${{ matrix.arch }}
|
- ${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Relenv
|
- name: Setup Relenv
|
||||||
id: setup-relenv
|
id: setup-relenv
|
||||||
uses: ./.github/actions/setup-relenv
|
uses: ./.github/actions/setup-relenv
|
||||||
|
@ -81,7 +93,13 @@ jobs:
|
||||||
- amd64
|
- amd64
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.10
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
|
@ -121,7 +139,13 @@ jobs:
|
||||||
- x86_64
|
- x86_64
|
||||||
runs-on: macos-12
|
runs-on: macos-12
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.10
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
|
|
9
.github/workflows/build-docs.yml
vendored
9
.github/workflows/build-docs.yml
vendored
|
@ -13,6 +13,13 @@ on:
|
||||||
type: string
|
type: string
|
||||||
description: Seed used to invalidate caches
|
description: Seed used to invalidate caches
|
||||||
|
|
||||||
|
env:
|
||||||
|
COLUMNS: 190
|
||||||
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
|
AWS_RETRY_MODE: "adaptive"
|
||||||
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Build
|
name: Build
|
||||||
|
@ -32,7 +39,7 @@ jobs:
|
||||||
# - pdf
|
# - pdf
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Release Patch
|
- name: Download Release Patch
|
||||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||||
|
|
18
.github/workflows/build-macos-packages.yml
vendored
18
.github/workflows/build-macos-packages.yml
vendored
|
@ -24,6 +24,15 @@ on:
|
||||||
type: string
|
type: string
|
||||||
description: The GitHub Environment where this workflow should run
|
description: The GitHub Environment where this workflow should run
|
||||||
default: ci
|
default: ci
|
||||||
|
source:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The backend to build the packages with
|
||||||
|
|
||||||
|
env:
|
||||||
|
COLUMNS: 190
|
||||||
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
@ -36,8 +45,7 @@ jobs:
|
||||||
arch:
|
arch:
|
||||||
- x86_64
|
- x86_64
|
||||||
source:
|
source:
|
||||||
- onedir
|
- ${{ inputs.source }}
|
||||||
- src
|
|
||||||
|
|
||||||
runs-on:
|
runs-on:
|
||||||
- macos-12
|
- macos-12
|
||||||
|
@ -66,7 +74,7 @@ jobs:
|
||||||
echo "sign-pkgs=false" >> "$GITHUB_OUTPUT"
|
echo "sign-pkgs=false" >> "$GITHUB_OUTPUT"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: 3.9
|
python-version: 3.9
|
||||||
|
@ -114,7 +122,7 @@ jobs:
|
||||||
APP_SPEC_PWD: "${{ secrets.MAC_SIGN_APP_SPEC_PWD }}"
|
APP_SPEC_PWD: "${{ secrets.MAC_SIGN_APP_SPEC_PWD }}"
|
||||||
run: |
|
run: |
|
||||||
tools pkg build macos --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
|
tools pkg build macos --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
|
||||||
matrix.source == 'onedir' &&
|
inputs.source == 'onedir' &&
|
||||||
format(
|
format(
|
||||||
'--onedir salt-{0}-onedir-darwin-{1}.tar.xz --salt-version {0} {2}',
|
'--onedir salt-{0}-onedir-darwin-{1}.tar.xz --salt-version {0} {2}',
|
||||||
inputs.salt-version,
|
inputs.salt-version,
|
||||||
|
@ -128,7 +136,7 @@ jobs:
|
||||||
- name: Set Artifact Name
|
- name: Set Artifact Name
|
||||||
id: set-artifact-name
|
id: set-artifact-name
|
||||||
run: |
|
run: |
|
||||||
if [ "${{ matrix.source }}" != "src" ]; then
|
if [ "${{ inputs.source }}" != "src" ]; then
|
||||||
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-macos" >> "$GITHUB_OUTPUT"
|
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-macos" >> "$GITHUB_OUTPUT"
|
||||||
else
|
else
|
||||||
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-macos-from-src" >> "$GITHUB_OUTPUT"
|
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-macos-from-src" >> "$GITHUB_OUTPUT"
|
||||||
|
|
17
.github/workflows/build-rpm-packages.yml
vendored
17
.github/workflows/build-rpm-packages.yml
vendored
|
@ -16,9 +16,17 @@ on:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
description: The version of python to use with relenv
|
description: The version of python to use with relenv
|
||||||
|
source:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The backend to build the packages with
|
||||||
|
|
||||||
env:
|
env:
|
||||||
COLUMNS: 190
|
COLUMNS: 190
|
||||||
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
|
AWS_RETRY_MODE: "adaptive"
|
||||||
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -34,14 +42,13 @@ jobs:
|
||||||
- x86_64
|
- x86_64
|
||||||
- aarch64
|
- aarch64
|
||||||
source:
|
source:
|
||||||
- onedir
|
- ${{ inputs.source }}
|
||||||
- src
|
|
||||||
|
|
||||||
container:
|
container:
|
||||||
image: ghcr.io/saltstack/salt-ci-containers/packaging:centosstream-9
|
image: ghcr.io/saltstack/salt-ci-containers/packaging:centosstream-9
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
- name: Download Onedir Tarball as an Artifact
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
|
@ -77,7 +84,7 @@ jobs:
|
||||||
- name: Build RPM
|
- name: Build RPM
|
||||||
run: |
|
run: |
|
||||||
tools pkg build rpm --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
|
tools pkg build rpm --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
|
||||||
matrix.source == 'onedir' &&
|
inputs.source == 'onedir' &&
|
||||||
format('--onedir=salt-{0}-onedir-linux-{1}.tar.xz', inputs.salt-version, matrix.arch)
|
format('--onedir=salt-{0}-onedir-linux-{1}.tar.xz', inputs.salt-version, matrix.arch)
|
||||||
||
|
||
|
||||||
format('--arch={0}', matrix.arch)
|
format('--arch={0}', matrix.arch)
|
||||||
|
@ -86,7 +93,7 @@ jobs:
|
||||||
- name: Set Artifact Name
|
- name: Set Artifact Name
|
||||||
id: set-artifact-name
|
id: set-artifact-name
|
||||||
run: |
|
run: |
|
||||||
if [ "${{ matrix.source }}" != "src" ]; then
|
if [ "${{ inputs.source }}" != "src" ]; then
|
||||||
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-rpm" >> "$GITHUB_OUTPUT"
|
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-rpm" >> "$GITHUB_OUTPUT"
|
||||||
else
|
else
|
||||||
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-rpm-from-src" >> "$GITHUB_OUTPUT"
|
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-rpm-from-src" >> "$GITHUB_OUTPUT"
|
||||||
|
|
30
.github/workflows/build-salt-onedir.yml
vendored
30
.github/workflows/build-salt-onedir.yml
vendored
|
@ -29,6 +29,11 @@ on:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
RELENV_DATA: "${{ github.workspace }}/.relenv"
|
RELENV_DATA: "${{ github.workspace }}/.relenv"
|
||||||
|
COLUMNS: 190
|
||||||
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
|
AWS_RETRY_MODE: "adaptive"
|
||||||
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
@ -46,7 +51,13 @@ jobs:
|
||||||
- linux
|
- linux
|
||||||
- ${{ matrix.arch }}
|
- ${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
@ -89,7 +100,14 @@ jobs:
|
||||||
- amd64
|
- amd64
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.10
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
|
@ -135,7 +153,13 @@ jobs:
|
||||||
- x86_64
|
- x86_64
|
||||||
runs-on: macos-12
|
runs-on: macos-12
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.10
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
|
|
20
.github/workflows/build-windows-packages.yml
vendored
20
.github/workflows/build-windows-packages.yml
vendored
|
@ -24,6 +24,17 @@ on:
|
||||||
type: string
|
type: string
|
||||||
description: The GitHub Environment where this workflow should run
|
description: The GitHub Environment where this workflow should run
|
||||||
default: ci
|
default: ci
|
||||||
|
source:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
description: The backend to build the packages with
|
||||||
|
|
||||||
|
env:
|
||||||
|
COLUMNS: 190
|
||||||
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
|
AWS_RETRY_MODE: "adaptive"
|
||||||
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
@ -38,8 +49,7 @@ jobs:
|
||||||
- x86
|
- x86
|
||||||
- amd64
|
- amd64
|
||||||
source:
|
source:
|
||||||
- onedir
|
- ${{ inputs.source }}
|
||||||
- src
|
|
||||||
|
|
||||||
runs-on:
|
runs-on:
|
||||||
- windows-latest
|
- windows-latest
|
||||||
|
@ -75,7 +85,7 @@ jobs:
|
||||||
echo "sign-pkgs=false" >> "$GITHUB_OUTPUT"
|
echo "sign-pkgs=false" >> "$GITHUB_OUTPUT"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: 3.9
|
python-version: 3.9
|
||||||
|
@ -108,7 +118,7 @@ jobs:
|
||||||
- name: Build Windows Packages
|
- name: Build Windows Packages
|
||||||
run: |
|
run: |
|
||||||
tools pkg build windows --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
|
tools pkg build windows --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
|
||||||
matrix.source == 'onedir' &&
|
inputs.source == 'onedir' &&
|
||||||
format(
|
format(
|
||||||
'--onedir salt-{0}-onedir-windows-{1}.zip --salt-version {0} --arch {1} {2}',
|
'--onedir salt-{0}-onedir-windows-{1}.zip --salt-version {0} --arch {1} {2}',
|
||||||
inputs.salt-version,
|
inputs.salt-version,
|
||||||
|
@ -123,7 +133,7 @@ jobs:
|
||||||
id: set-artifact-name
|
id: set-artifact-name
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
if [ "${{ matrix.source }}" != "src" ]; then
|
if [ "${{ inputs.source }}" != "src" ]; then
|
||||||
echo "artifact-name-nsis=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-NSIS" >> "$GITHUB_OUTPUT"
|
echo "artifact-name-nsis=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-NSIS" >> "$GITHUB_OUTPUT"
|
||||||
echo "artifact-name-msi=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-MSI" >> "$GITHUB_OUTPUT"
|
echo "artifact-name-msi=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-MSI" >> "$GITHUB_OUTPUT"
|
||||||
else
|
else
|
||||||
|
|
923
.github/workflows/ci.yml
vendored
923
.github/workflows/ci.yml
vendored
File diff suppressed because it is too large
Load diff
4
.github/workflows/lint-action.yml
vendored
4
.github/workflows/lint-action.yml
vendored
|
@ -34,7 +34,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
git config --global --add safe.directory "$(pwd)"
|
git config --global --add safe.directory "$(pwd)"
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Install Nox
|
- name: Install Nox
|
||||||
run: |
|
run: |
|
||||||
|
@ -79,7 +79,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
git config --global --add safe.directory "$(pwd)"
|
git config --global --add safe.directory "$(pwd)"
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Install Nox
|
- name: Install Nox
|
||||||
run: |
|
run: |
|
||||||
|
|
951
.github/workflows/nightly.yml
vendored
951
.github/workflows/nightly.yml
vendored
File diff suppressed because it is too large
Load diff
2
.github/workflows/pre-commit-action.yml
vendored
2
.github/workflows/pre-commit-action.yml
vendored
|
@ -37,7 +37,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
git config --global --add safe.directory "$(pwd)"
|
git config --global --add safe.directory "$(pwd)"
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: ./.github/actions/setup-actionlint
|
- uses: ./.github/actions/setup-actionlint
|
||||||
with:
|
with:
|
||||||
cache-seed: ${{ inputs.cache-seed }}
|
cache-seed: ${{ inputs.cache-seed }}
|
||||||
|
|
4
.github/workflows/release-tag.yml
vendored
4
.github/workflows/release-tag.yml
vendored
|
@ -41,7 +41,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: ${{ github.event.inputs.saltRepo }}
|
repository: ${{ github.event.inputs.saltRepo }}
|
||||||
ref: ${{ github.event.inputs.saltBranch }}
|
ref: ${{ github.event.inputs.saltBranch }}
|
||||||
|
@ -58,7 +58,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
python-version: 3.8
|
python-version: 3.8
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Install pypa/build
|
- name: Install pypa/build
|
||||||
run: |
|
run: |
|
||||||
python -m pip install build --user
|
python -m pip install build --user
|
||||||
|
|
4
.github/workflows/release-update-winrepo.yml
vendored
4
.github/workflows/release-update-winrepo.yml
vendored
|
@ -23,12 +23,12 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Checkout Salt
|
- name: Checkout Salt
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: salt
|
path: salt
|
||||||
|
|
||||||
- name: Checkout WinRepo
|
- name: Checkout WinRepo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: winrepo
|
path: winrepo
|
||||||
repository: saltstack/salt-winrepo-ng
|
repository: saltstack/salt-winrepo-ng
|
||||||
|
|
|
@ -16,6 +16,13 @@ on:
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
|
env:
|
||||||
|
COLUMNS: 190
|
||||||
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
|
AWS_RETRY_MODE: "adaptive"
|
||||||
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
upload-virustotal:
|
upload-virustotal:
|
||||||
name: Upload VirusTotal
|
name: Upload VirusTotal
|
||||||
|
@ -27,7 +34,7 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Checkout Salt
|
- name: Checkout Salt
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set Up Python 3.10
|
- name: Set Up Python 3.10
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
|
|
78
.github/workflows/release.yml
vendored
78
.github/workflows/release.yml
vendored
|
@ -59,7 +59,7 @@ jobs:
|
||||||
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
|
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
|
||||||
releases: ${{ steps.get-salt-releases.outputs.releases }}
|
releases: ${{ steps.get-salt-releases.outputs.releases }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Full clone to also get the tags to get the right salt version
|
fetch-depth: 0 # Full clone to also get the tags to get the right salt version
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ jobs:
|
||||||
- platform: darwin
|
- platform: darwin
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
@ -176,7 +176,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone The Salt Repository
|
- name: Clone The Salt Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Rclone
|
- name: Setup Rclone
|
||||||
uses: AnimMouse/setup-rclone@v1
|
uses: AnimMouse/setup-rclone@v1
|
||||||
|
@ -205,7 +205,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone The Salt Repository
|
- name: Clone The Salt Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get Salt Project GitHub Actions Bot Environment
|
- name: Get Salt Project GitHub Actions Bot Environment
|
||||||
run: |
|
run: |
|
||||||
|
@ -233,12 +233,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: almalinux-8
|
distro-slug: almalinux-8
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -254,12 +256,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: almalinux-8-arm64
|
distro-slug: almalinux-8-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -275,12 +279,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: almalinux-9
|
distro-slug: almalinux-9
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -296,12 +302,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: almalinux-9-arm64
|
distro-slug: almalinux-9-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -317,12 +325,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: amazonlinux-2
|
distro-slug: amazonlinux-2
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -338,12 +348,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: amazonlinux-2-arm64
|
distro-slug: amazonlinux-2-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -359,12 +371,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: centos-7
|
distro-slug: centos-7
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -380,12 +394,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: centos-7-arm64
|
distro-slug: centos-7-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -401,12 +417,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: centosstream-8
|
distro-slug: centosstream-8
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -422,12 +440,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: centosstream-8-arm64
|
distro-slug: centosstream-8-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -443,12 +463,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: centosstream-9
|
distro-slug: centosstream-9
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -464,12 +486,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: centosstream-9-arm64
|
distro-slug: centosstream-9-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -485,12 +509,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: debian-10
|
distro-slug: debian-10
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -506,12 +532,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: debian-11
|
distro-slug: debian-11
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -527,12 +555,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: debian-11-arm64
|
distro-slug: debian-11-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -548,12 +578,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: fedora-37
|
distro-slug: fedora-37
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -569,12 +601,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: fedora-37-arm64
|
distro-slug: fedora-37-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -590,12 +624,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: fedora-38
|
distro-slug: fedora-38
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -611,12 +647,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: fedora-38-arm64
|
distro-slug: fedora-38-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -632,12 +670,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: photonos-3
|
distro-slug: photonos-3
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -653,12 +693,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: photonos-4
|
distro-slug: photonos-4
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -674,12 +716,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: photonos-4-arm64
|
distro-slug: photonos-4-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -695,12 +739,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: ubuntu-20.04
|
distro-slug: ubuntu-20.04
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -716,12 +762,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: ubuntu-20.04-arm64
|
distro-slug: ubuntu-20.04-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -737,12 +785,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: ubuntu-22.04
|
distro-slug: ubuntu-22.04
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -758,12 +808,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: ubuntu-22.04-arm64
|
distro-slug: ubuntu-22.04-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
|
@ -779,12 +831,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: ubuntu-22.04
|
distro-slug: ubuntu-22.04
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: onedir
|
pkg-type: onedir
|
||||||
|
@ -800,12 +854,14 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: ubuntu-22.04-arm64
|
distro-slug: ubuntu-22.04-arm64
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: aarch64
|
arch: aarch64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: release
|
environment: release
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: onedir
|
pkg-type: onedir
|
||||||
|
@ -821,6 +877,7 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-macos.yml
|
uses: ./.github/workflows/test-package-downloads-action-macos.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: macos-12
|
distro-slug: macos-12
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: darwin
|
platform: darwin
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
|
@ -828,6 +885,7 @@ jobs:
|
||||||
environment: release
|
environment: release
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: package
|
pkg-type: package
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
@ -842,6 +900,7 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-macos.yml
|
uses: ./.github/workflows/test-package-downloads-action-macos.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: macos-12
|
distro-slug: macos-12
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: darwin
|
platform: darwin
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
|
||||||
|
@ -849,6 +908,7 @@ jobs:
|
||||||
environment: release
|
environment: release
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: onedir
|
pkg-type: onedir
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
@ -863,6 +923,7 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-windows.yml
|
uses: ./.github/workflows/test-package-downloads-action-windows.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: windows-2022
|
distro-slug: windows-2022
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: windows
|
platform: windows
|
||||||
arch: amd64
|
arch: amd64
|
||||||
pkg-type: nsis
|
pkg-type: nsis
|
||||||
|
@ -871,6 +932,7 @@ jobs:
|
||||||
environment: release
|
environment: release
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
|
@ -884,6 +946,7 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-windows.yml
|
uses: ./.github/workflows/test-package-downloads-action-windows.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: windows-2022
|
distro-slug: windows-2022
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: windows
|
platform: windows
|
||||||
arch: amd64
|
arch: amd64
|
||||||
pkg-type: msi
|
pkg-type: msi
|
||||||
|
@ -892,6 +955,7 @@ jobs:
|
||||||
environment: release
|
environment: release
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
|
@ -905,6 +969,7 @@ jobs:
|
||||||
uses: ./.github/workflows/test-package-downloads-action-windows.yml
|
uses: ./.github/workflows/test-package-downloads-action-windows.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: windows-2022
|
distro-slug: windows-2022
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: windows
|
platform: windows
|
||||||
arch: amd64
|
arch: amd64
|
||||||
pkg-type: onedir
|
pkg-type: onedir
|
||||||
|
@ -913,6 +978,7 @@ jobs:
|
||||||
environment: release
|
environment: release
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
nox-version: 2022.8.7
|
nox-version: 2022.8.7
|
||||||
|
python-version: "3.10"
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
|
@ -963,7 +1029,7 @@ jobs:
|
||||||
environment: release
|
environment: release
|
||||||
steps:
|
steps:
|
||||||
- name: Clone The Salt Repository
|
- name: Clone The Salt Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ssh-key: ${{ secrets.GHA_SSH_KEY }}
|
ssh-key: ${{ secrets.GHA_SSH_KEY }}
|
||||||
|
|
||||||
|
@ -1068,7 +1134,7 @@ jobs:
|
||||||
- linux
|
- linux
|
||||||
- repo-release
|
- repo-release
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
|
923
.github/workflows/scheduled.yml
vendored
923
.github/workflows/scheduled.yml
vendored
File diff suppressed because it is too large
Load diff
987
.github/workflows/staging.yml
vendored
987
.github/workflows/staging.yml
vendored
File diff suppressed because it is too large
Load diff
95
.github/workflows/templates/build-ci-deps.yml.jinja
vendored
Normal file
95
.github/workflows/templates/build-ci-deps.yml.jinja
vendored
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
|
||||||
|
<%- for slug, display_name, arch in (("windows-2016", "Windows 2016", "amd64"),
|
||||||
|
("windows-2019", "Windows 2019", "amd64"),
|
||||||
|
("windows-2022", "Windows 2022", "amd64")) %>
|
||||||
|
|
||||||
|
<{ slug.replace(".", "") }>-ci-deps:
|
||||||
|
<%- do test_salt_needs.append(slug.replace(".", "") + "-ci-deps") %>
|
||||||
|
name: <{ display_name }>
|
||||||
|
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||||
|
needs:
|
||||||
|
- prepare-workflow
|
||||||
|
- build-salt-onedir
|
||||||
|
uses: ./.github/workflows/build-deps-ci-action.yml
|
||||||
|
with:
|
||||||
|
distro-slug: <{ slug }>
|
||||||
|
nox-session: ci-test-onedir
|
||||||
|
platform: windows
|
||||||
|
arch: amd64
|
||||||
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
|
|
||||||
|
<%- endfor %>
|
||||||
|
|
||||||
|
<%- for slug, display_name, arch in (("macos-12", "macOS 12", "x86_64"),) %>
|
||||||
|
|
||||||
|
<{ slug.replace(".", "") }>-ci-deps:
|
||||||
|
<%- do test_salt_needs.append(slug.replace(".", "") + "-ci-deps") %>
|
||||||
|
name: <{ display_name }>
|
||||||
|
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
|
||||||
|
needs:
|
||||||
|
- prepare-workflow
|
||||||
|
- build-salt-onedir
|
||||||
|
uses: ./.github/workflows/build-deps-ci-action-macos.yml
|
||||||
|
with:
|
||||||
|
distro-slug: <{ slug }>
|
||||||
|
nox-session: ci-test-onedir
|
||||||
|
platform: darwin
|
||||||
|
arch: x86_64
|
||||||
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
|
|
||||||
|
<%- endfor %>
|
||||||
|
|
||||||
|
<%- for slug, display_name, arch in (("almalinux-8", "Alma Linux 8", "x86_64"),
|
||||||
|
("almalinux-8-arm64", "Alma Linux 8 Arm64", "aarch64"),
|
||||||
|
("almalinux-9", "Alma Linux 9", "x86_64"),
|
||||||
|
("almalinux-9-arm64", "Alma Linux 9 Arm64", "aarch64"),
|
||||||
|
("amazonlinux-2", "Amazon Linux 2", "x86_64"),
|
||||||
|
("amazonlinux-2-arm64", "Amazon Linux 2 Arm64", "aarch64"),
|
||||||
|
("archlinux-lts", "Arch Linux LTS", "x86_64"),
|
||||||
|
("centos-7", "CentOS 7", "x86_64"),
|
||||||
|
("centos-7-arm64", "CentOS 7 Arm64", "aarch64"),
|
||||||
|
("centosstream-8", "CentOS Stream 8", "x86_64"),
|
||||||
|
("centosstream-8-arm64", "CentOS Stream 8 Arm64", "aarch64"),
|
||||||
|
("centosstream-9", "CentOS Stream 9", "x86_64"),
|
||||||
|
("centosstream-9-arm64", "CentOS Stream 9 Arm64", "aarch64"),
|
||||||
|
("debian-10", "Debian 10", "x86_64"),
|
||||||
|
("debian-11", "Debian 11", "x86_64"),
|
||||||
|
("debian-11-arm64", "Debian 11 Arm64", "aarch64"),
|
||||||
|
("fedora-37", "Fedora 37", "x86_64"),
|
||||||
|
("fedora-37-arm64", "Fedora 37 Arm64", "aarch64"),
|
||||||
|
("fedora-38", "Fedora 38", "x86_64"),
|
||||||
|
("fedora-38-arm64", "Fedora 38 Arm64", "aarch64"),
|
||||||
|
("opensuse-15", "Opensuse 15", "x86_64"),
|
||||||
|
("photonos-3", "Photon OS 3", "x86_64"),
|
||||||
|
("photonos-4", "Photon OS 4", "x86_64"),
|
||||||
|
("photonos-4-arm64", "Photon OS 4 Arm64", "aarch64"),
|
||||||
|
("ubuntu-20.04", "Ubuntu 20.04", "x86_64"),
|
||||||
|
("ubuntu-20.04-arm64", "Ubuntu 20.04 Arm64", "aarch64"),
|
||||||
|
("ubuntu-22.04", "Ubuntu 22.04", "x86_64"),
|
||||||
|
("ubuntu-22.04-arm64", "Ubuntu 22.04 Arm64", "aarch64")) %>
|
||||||
|
|
||||||
|
<{ slug.replace(".", "") }>-ci-deps:
|
||||||
|
<%- do test_salt_needs.append(slug.replace(".", "") + "-ci-deps") %>
|
||||||
|
name: <{ display_name }>
|
||||||
|
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||||
|
needs:
|
||||||
|
- prepare-workflow
|
||||||
|
- build-salt-onedir
|
||||||
|
uses: ./.github/workflows/build-deps-ci-action.yml
|
||||||
|
with:
|
||||||
|
distro-slug: <{ slug }>
|
||||||
|
nox-session: ci-test-onedir
|
||||||
|
platform: linux
|
||||||
|
arch: <{ arch }>
|
||||||
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
|
|
||||||
|
<%- endfor %>
|
|
@ -19,7 +19,7 @@
|
||||||
<%- endfor %>
|
<%- endfor %>
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download System Dependencies
|
- name: Download System Dependencies
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
|
|
@ -5,10 +5,14 @@
|
||||||
("macos", "macOS", "github-hosted"),
|
("macos", "macOS", "github-hosted"),
|
||||||
) %>
|
) %>
|
||||||
|
|
||||||
<%- set job_name = "build-{}-pkgs".format(pkg_type) %>
|
<%- for backend in ("onedir", "src") %>
|
||||||
|
<%- set job_name = "build-{}-pkgs-{}".format(pkg_type, backend) %>
|
||||||
|
<%- if backend == "src" %>
|
||||||
|
<%- do conclusion_needs.append(job_name) %>
|
||||||
|
<%- endif %>
|
||||||
|
|
||||||
<{ job_name }>:
|
<{ job_name }>:
|
||||||
name: Build <{ display_name }> Packages
|
name: Build Packages
|
||||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] && fromJSON(needs.prepare-workflow.outputs.runners)['<{ runner_type }>'] }}
|
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] && fromJSON(needs.prepare-workflow.outputs.runners)['<{ runner_type }>'] }}
|
||||||
needs:
|
needs:
|
||||||
- prepare-workflow
|
- prepare-workflow
|
||||||
|
@ -18,6 +22,7 @@
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
relenv-version: "<{ relenv_version }>"
|
relenv-version: "<{ relenv_version }>"
|
||||||
python-version: "<{ python_version }>"
|
python-version: "<{ python_version }>"
|
||||||
|
source: "<{ backend }>"
|
||||||
<%- if pkg_type in ("macos", "windows") and gh_environment %>
|
<%- if pkg_type in ("macos", "windows") and gh_environment %>
|
||||||
environment: <{ gh_environment }>
|
environment: <{ gh_environment }>
|
||||||
<%- if pkg_type == "macos" %>
|
<%- if pkg_type == "macos" %>
|
||||||
|
@ -28,4 +33,5 @@
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
<%- endif %>
|
<%- endif %>
|
||||||
|
|
||||||
|
<%- endfor %>
|
||||||
<%- endfor %>
|
<%- endfor %>
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
needs:
|
needs:
|
||||||
- prepare-workflow
|
- prepare-workflow
|
||||||
<%- if needs_pkg %>
|
<%- if needs_pkg %>
|
||||||
- build-<{ type }>-pkgs
|
- build-<{ type }>-pkgs-onedir
|
||||||
<%- else %>
|
<%- else %>
|
||||||
- build-salt-onedir
|
- build-salt-onedir
|
||||||
<%- endif %>
|
<%- endif %>
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<%- endfor %>
|
<%- endfor %>
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download System Dependencies
|
- name: Download System Dependencies
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
|
17
.github/workflows/templates/ci.yml.jinja
vendored
17
.github/workflows/templates/ci.yml.jinja
vendored
|
@ -57,7 +57,7 @@
|
||||||
needs:
|
needs:
|
||||||
- prepare-workflow
|
- prepare-workflow
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get Python Version
|
- name: Get Python Version
|
||||||
id: get-python-version
|
id: get-python-version
|
||||||
|
@ -220,7 +220,7 @@
|
||||||
- prepare-release
|
- prepare-release
|
||||||
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }}
|
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "medium", "x86_64"]') || 'ubuntu-latest' }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.10
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
|
@ -306,15 +306,18 @@
|
||||||
<%- include "build-packages.yml.jinja" %>
|
<%- include "build-packages.yml.jinja" %>
|
||||||
<%- endif %>
|
<%- endif %>
|
||||||
|
|
||||||
|
<%- set pkg_tests_job_name = "pkg-tests" %>
|
||||||
|
<%- set salt_tests_job_name = "salt-tests" %>
|
||||||
|
<%- if includes.get(pkg_tests_job_name, True) or includes.get(salt_tests_job_name, True) %>
|
||||||
|
<%- include "build-ci-deps.yml.jinja" %>
|
||||||
|
<%- endif %>
|
||||||
|
|
||||||
<%- set job_name = "pkg-tests" %>
|
<%- if includes.get(pkg_tests_job_name, True) %>
|
||||||
<%- if includes.get(job_name, True) %>
|
|
||||||
<%- include "test-salt-pkg.yml.jinja" %>
|
<%- include "test-salt-pkg.yml.jinja" %>
|
||||||
<%- endif %>
|
<%- endif %>
|
||||||
|
|
||||||
|
|
||||||
<%- set job_name = "salt-tests" %>
|
<%- if includes.get(salt_tests_job_name, True) %>
|
||||||
<%- if includes.get(job_name, True) %>
|
|
||||||
<%- include "test-salt.yml.jinja" %>
|
<%- include "test-salt.yml.jinja" %>
|
||||||
<%- endif %>
|
<%- endif %>
|
||||||
|
|
||||||
|
@ -331,7 +334,7 @@
|
||||||
- <{ need }>
|
- <{ need }>
|
||||||
<%- endfor %>
|
<%- endfor %>
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.10
|
||||||
if: ${{ github.event.repository.private == false }}
|
if: ${{ github.event.repository.private == false }}
|
||||||
|
|
3
.github/workflows/templates/layout.yml.jinja
vendored
3
.github/workflows/templates/layout.yml.jinja
vendored
|
@ -9,6 +9,7 @@
|
||||||
<%- set skip_junit_reports_check = skip_junit_reports_check|default("${{ github.event_name == 'pull_request' }}") %>
|
<%- set skip_junit_reports_check = skip_junit_reports_check|default("${{ github.event_name == 'pull_request' }}") %>
|
||||||
<%- set gpg_key_id = "64CBBC8173D76B3F" %>
|
<%- set gpg_key_id = "64CBBC8173D76B3F" %>
|
||||||
<%- set prepare_actual_release = prepare_actual_release | default(False) %>
|
<%- set prepare_actual_release = prepare_actual_release | default(False) %>
|
||||||
|
<%- set gh_actions_workflows_python_version = "3.10" %>
|
||||||
---
|
---
|
||||||
<%- block name %>
|
<%- block name %>
|
||||||
name: <{ workflow_name }>
|
name: <{ workflow_name }>
|
||||||
|
@ -97,7 +98,7 @@ jobs:
|
||||||
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
|
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
|
||||||
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
|
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Full clone to also get the tags to get the right salt version
|
fetch-depth: 0 # Full clone to also get the tags to get the right salt version
|
||||||
|
|
||||||
|
|
|
@ -157,7 +157,7 @@ concurrency:
|
||||||
<%- endif %>
|
<%- endif %>
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get Salt Project GitHub Actions Bot Environment
|
- name: Get Salt Project GitHub Actions Bot Environment
|
||||||
run: |
|
run: |
|
||||||
|
|
14
.github/workflows/templates/release.yml.jinja
vendored
14
.github/workflows/templates/release.yml.jinja
vendored
|
@ -87,7 +87,7 @@ permissions:
|
||||||
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
|
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
|
||||||
releases: ${{ steps.get-salt-releases.outputs.releases }}
|
releases: ${{ steps.get-salt-releases.outputs.releases }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Full clone to also get the tags to get the right salt version
|
fetch-depth: 0 # Full clone to also get the tags to get the right salt version
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ permissions:
|
||||||
- platform: darwin
|
- platform: darwin
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
@ -210,7 +210,7 @@ permissions:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone The Salt Repository
|
- name: Clone The Salt Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Rclone
|
- name: Setup Rclone
|
||||||
uses: AnimMouse/setup-rclone@v1
|
uses: AnimMouse/setup-rclone@v1
|
||||||
|
@ -240,7 +240,7 @@ permissions:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone The Salt Repository
|
- name: Clone The Salt Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get Salt Project GitHub Actions Bot Environment
|
- name: Get Salt Project GitHub Actions Bot Environment
|
||||||
run: |
|
run: |
|
||||||
|
@ -280,7 +280,7 @@ permissions:
|
||||||
environment: <{ gh_environment }>
|
environment: <{ gh_environment }>
|
||||||
steps:
|
steps:
|
||||||
- name: Clone The Salt Repository
|
- name: Clone The Salt Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ssh-key: ${{ secrets.GHA_SSH_KEY }}
|
ssh-key: ${{ secrets.GHA_SSH_KEY }}
|
||||||
|
|
||||||
|
@ -391,7 +391,7 @@ permissions:
|
||||||
environment: <{ gh_environment }>
|
environment: <{ gh_environment }>
|
||||||
steps:
|
steps:
|
||||||
- name: Clone The Salt Repository
|
- name: Clone The Salt Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ssh-key: ${{ secrets.GHA_SSH_KEY }}
|
ssh-key: ${{ secrets.GHA_SSH_KEY }}
|
||||||
|
|
||||||
|
@ -422,7 +422,7 @@ permissions:
|
||||||
- linux
|
- linux
|
||||||
- repo-<{ gh_environment }>
|
- repo-<{ gh_environment }>
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
|
|
@ -94,7 +94,7 @@ concurrency:
|
||||||
- linux
|
- linux
|
||||||
- repo-<{ gh_environment }>
|
- repo-<{ gh_environment }>
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get Salt Project GitHub Actions Bot Environment
|
- name: Get Salt Project GitHub Actions Bot Environment
|
||||||
run: |
|
run: |
|
||||||
|
@ -183,7 +183,7 @@ concurrency:
|
||||||
- linux
|
- linux
|
||||||
- repo-<{ gh_environment }>
|
- repo-<{ gh_environment }>
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
|
|
@ -51,12 +51,14 @@
|
||||||
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
uses: ./.github/workflows/test-package-downloads-action-linux.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: <{ slug }>
|
distro-slug: <{ slug }>
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: <{ arch }>
|
arch: <{ arch }>
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
environment: <{ gh_environment }>
|
environment: <{ gh_environment }>
|
||||||
nox-version: <{ nox_version }>
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: <{ pkg_type.lower() }>
|
pkg-type: <{ pkg_type.lower() }>
|
||||||
|
@ -88,6 +90,7 @@
|
||||||
uses: ./.github/workflows/test-package-downloads-action-macos.yml
|
uses: ./.github/workflows/test-package-downloads-action-macos.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: <{ slug }>
|
distro-slug: <{ slug }>
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: darwin
|
platform: darwin
|
||||||
arch: <{ arch }>
|
arch: <{ arch }>
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
|
@ -95,6 +98,7 @@
|
||||||
environment: <{ gh_environment }>
|
environment: <{ gh_environment }>
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
nox-version: <{ nox_version }>
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
pkg-type: <{ pkg_type.lower() }>
|
pkg-type: <{ pkg_type.lower() }>
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
@ -124,6 +128,7 @@
|
||||||
uses: ./.github/workflows/test-package-downloads-action-windows.yml
|
uses: ./.github/workflows/test-package-downloads-action-windows.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: <{ slug }>
|
distro-slug: <{ slug }>
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: windows
|
platform: windows
|
||||||
arch: <{ arch }>
|
arch: <{ arch }>
|
||||||
pkg-type: <{ pkg_type.lower() }>
|
pkg-type: <{ pkg_type.lower() }>
|
||||||
|
@ -132,6 +137,7 @@
|
||||||
environment: <{ gh_environment }>
|
environment: <{ gh_environment }>
|
||||||
skip-code-coverage: true
|
skip-code-coverage: true
|
||||||
nox-version: <{ nox_version }>
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
<%- endfor %>
|
<%- endfor %>
|
||||||
|
|
|
@ -39,19 +39,22 @@
|
||||||
|
|
||||||
<{ job_name }>:
|
<{ job_name }>:
|
||||||
<%- do test_salt_pkg_needs.append(job_name) %>
|
<%- do test_salt_pkg_needs.append(job_name) %>
|
||||||
name: <{ display_name }> Package Tests
|
name: <{ display_name }>
|
||||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||||
needs:
|
needs:
|
||||||
- prepare-workflow
|
- prepare-workflow
|
||||||
- build-<{ pkg_type }>-pkgs
|
- build-<{ pkg_type }>-pkgs-onedir
|
||||||
|
- <{ slug.replace(".", "") }>-ci-deps
|
||||||
uses: ./.github/workflows/test-packages-action.yml
|
uses: ./.github/workflows/test-packages-action.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: <{ slug }>
|
distro-slug: <{ slug }>
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: <{ arch }>
|
arch: <{ arch }>
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
pkg-type: <{ pkg_type }>
|
pkg-type: <{ pkg_type }>
|
||||||
nox-version: <{ nox_version }>
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
skip-code-coverage: <{ skip_test_coverage_check }>
|
skip-code-coverage: <{ skip_test_coverage_check }>
|
||||||
skip-junit-reports: <{ skip_junit_reports_check }>
|
skip-junit-reports: <{ skip_junit_reports_check }>
|
||||||
|
@ -66,19 +69,22 @@
|
||||||
|
|
||||||
<{ job_name }>:
|
<{ job_name }>:
|
||||||
<%- do test_salt_pkg_needs.append(job_name) %>
|
<%- do test_salt_pkg_needs.append(job_name) %>
|
||||||
name: <{ display_name }> Package Tests
|
name: <{ display_name }>
|
||||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
|
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
|
||||||
needs:
|
needs:
|
||||||
- prepare-workflow
|
- prepare-workflow
|
||||||
- build-macos-pkgs
|
- build-macos-pkgs-onedir
|
||||||
|
- <{ slug.replace(".", "") }>-ci-deps
|
||||||
uses: ./.github/workflows/test-packages-action-macos.yml
|
uses: ./.github/workflows/test-packages-action-macos.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: <{ slug }>
|
distro-slug: <{ slug }>
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: darwin
|
platform: darwin
|
||||||
arch: <{ arch }>
|
arch: <{ arch }>
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
pkg-type: macos
|
pkg-type: macos
|
||||||
nox-version: <{ nox_version }>
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
skip-code-coverage: <{ skip_test_coverage_check }>
|
skip-code-coverage: <{ skip_test_coverage_check }>
|
||||||
skip-junit-reports: <{ skip_junit_reports_check }>
|
skip-junit-reports: <{ skip_junit_reports_check }>
|
||||||
|
@ -95,19 +101,22 @@
|
||||||
|
|
||||||
<{ job_name }>:
|
<{ job_name }>:
|
||||||
<%- do test_salt_pkg_needs.append(job_name) %>
|
<%- do test_salt_pkg_needs.append(job_name) %>
|
||||||
name: <{ display_name }> <{ pkg_type }> Package Tests
|
name: <{ display_name }>
|
||||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||||
needs:
|
needs:
|
||||||
- prepare-workflow
|
- prepare-workflow
|
||||||
- build-windows-pkgs
|
- build-windows-pkgs-onedir
|
||||||
|
- <{ slug.replace(".", "") }>-ci-deps
|
||||||
uses: ./.github/workflows/test-packages-action.yml
|
uses: ./.github/workflows/test-packages-action.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: <{ slug }>
|
distro-slug: <{ slug }>
|
||||||
|
nox-session: ci-test-onedir
|
||||||
platform: windows
|
platform: windows
|
||||||
arch: <{ arch }>
|
arch: <{ arch }>
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
pkg-type: <{ pkg_type }>
|
pkg-type: <{ pkg_type }>
|
||||||
nox-version: <{ nox_version }>
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
skip-code-coverage: <{ skip_test_coverage_check }>
|
skip-code-coverage: <{ skip_test_coverage_check }>
|
||||||
skip-junit-reports: <{ skip_junit_reports_check }>
|
skip-junit-reports: <{ skip_junit_reports_check }>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||||
needs:
|
needs:
|
||||||
- prepare-workflow
|
- prepare-workflow
|
||||||
- build-salt-onedir
|
- <{ slug.replace(".", "") }>-ci-deps
|
||||||
uses: ./.github/workflows/test-action.yml
|
uses: ./.github/workflows/test-action.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: <{ slug }>
|
distro-slug: <{ slug }>
|
||||||
|
@ -17,6 +17,7 @@
|
||||||
platform: windows
|
platform: windows
|
||||||
arch: amd64
|
arch: amd64
|
||||||
nox-version: <{ nox_version }>
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
|
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
|
@ -33,7 +34,7 @@
|
||||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
|
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
|
||||||
needs:
|
needs:
|
||||||
- prepare-workflow
|
- prepare-workflow
|
||||||
- build-salt-onedir
|
- <{ slug.replace(".", "") }>-ci-deps
|
||||||
uses: ./.github/workflows/test-action-macos.yml
|
uses: ./.github/workflows/test-action-macos.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: <{ slug }>
|
distro-slug: <{ slug }>
|
||||||
|
@ -41,6 +42,7 @@
|
||||||
platform: darwin
|
platform: darwin
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
nox-version: <{ nox_version }>
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
|
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
|
@ -76,7 +78,7 @@
|
||||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||||
needs:
|
needs:
|
||||||
- prepare-workflow
|
- prepare-workflow
|
||||||
- build-salt-onedir
|
- <{ slug.replace(".", "") }>-ci-deps
|
||||||
uses: ./.github/workflows/test-action.yml
|
uses: ./.github/workflows/test-action.yml
|
||||||
with:
|
with:
|
||||||
distro-slug: <{ slug }>
|
distro-slug: <{ slug }>
|
||||||
|
@ -84,6 +86,7 @@
|
||||||
platform: linux
|
platform: linux
|
||||||
arch: <{ arch }>
|
arch: <{ arch }>
|
||||||
nox-version: <{ nox_version }>
|
nox-version: <{ nox_version }>
|
||||||
|
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||||
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
|
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
|
||||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||||
|
|
203
.github/workflows/test-action-macos.yml
vendored
203
.github/workflows/test-action-macos.yml
vendored
|
@ -20,7 +20,7 @@ on:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
description: The python version to run tests with
|
description: The python version to run tests with
|
||||||
default: "3.9"
|
default: "3.11"
|
||||||
salt-version:
|
salt-version:
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
|
@ -57,7 +57,6 @@ on:
|
||||||
description: Skip Publishing JUnit Reports
|
description: Skip Publishing JUnit Reports
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
COLUMNS: 190
|
COLUMNS: 190
|
||||||
PIP_INDEX_URL: "https://pypi-proxy.saltstack.net/root/local/+simple/"
|
PIP_INDEX_URL: "https://pypi-proxy.saltstack.net/root/local/+simple/"
|
||||||
|
@ -66,14 +65,19 @@ env:
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
generate-matrix:
|
generate-matrix:
|
||||||
name: Generate Test Matrix
|
name: Test Matrix
|
||||||
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
||||||
outputs:
|
outputs:
|
||||||
matrix-include: ${{ steps.generate-matrix.outputs.matrix }}
|
matrix-include: ${{ steps.generate-matrix.outputs.matrix }}
|
||||||
transport-matrix-include: ${{ steps.generate-transport-matrix.outputs.matrix }}
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
@ -85,119 +89,22 @@ jobs:
|
||||||
echo "$TEST_MATRIX"
|
echo "$TEST_MATRIX"
|
||||||
echo "matrix=$TEST_MATRIX" >> "$GITHUB_OUTPUT"
|
echo "matrix=$TEST_MATRIX" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
- name: Generate Transport Matrix
|
|
||||||
id: generate-transport-matrix
|
|
||||||
run: |
|
|
||||||
TRANSPORT_MATRIX=$(tools ci transport-matrix ${{ inputs.distro-slug }})
|
|
||||||
echo "$TRANSPORT_MATRIX"
|
|
||||||
echo "matrix=$TRANSPORT_MATRIX" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
dependencies:
|
|
||||||
name: Setup Test Dependencies
|
|
||||||
runs-on: ${{ inputs.distro-slug }}
|
|
||||||
timeout-minutes: 90
|
|
||||||
needs:
|
|
||||||
- generate-matrix
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include: ${{ fromJSON(needs.generate-matrix.outputs.transport-matrix-include) }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout Source Code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Cache nox.${{ inputs.distro-slug }}.tar.* for session ${{ inputs.nox-session }}
|
|
||||||
id: nox-dependencies-cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ matrix.transport }}|${{ inputs.python-version }}|${{ hashFiles('requirements/**/*.txt', 'noxfile.py') }}
|
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
path: artifacts/
|
|
||||||
|
|
||||||
- name: Decompress Onedir Tarball
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
|
|
||||||
cd artifacts
|
|
||||||
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
|
|
||||||
- name: Set up Python ${{ inputs.python-version }}
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: actions/setup-python@v4
|
|
||||||
with:
|
|
||||||
python-version: "${{ inputs.python-version }}"
|
|
||||||
|
|
||||||
- name: Install System Dependencies
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
brew install openssl@3
|
|
||||||
|
|
||||||
- name: Install Nox
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
python3 -m pip install 'nox==${{ inputs.nox-version }}'
|
|
||||||
|
|
||||||
- name: Define Nox Session
|
|
||||||
id: define-nox-session
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.transport }}" != "tcp" ]; then
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session}} >> "$GITHUB_ENV"
|
|
||||||
echo "nox-session=${{ inputs.nox-session}}" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session}}-tcp >> "$GITHUB_ENV"
|
|
||||||
echo "nox-session=${{ inputs.nox-session}}-tcp" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
env:
|
|
||||||
PRINT_TEST_SELECTION: "0"
|
|
||||||
PRINT_SYSTEM_INFO: "0"
|
|
||||||
run: |
|
|
||||||
export PYCURL_SSL_LIBRARY=openssl
|
|
||||||
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
|
|
||||||
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
|
|
||||||
export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
|
|
||||||
nox --install-only -e ${{ env.NOX_SESSION }}
|
|
||||||
|
|
||||||
- name: Cleanup .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
nox -e "pre-archive-cleanup(pkg=False)"
|
|
||||||
|
|
||||||
- name: Compress .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
nox -e compress-dependencies -- ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Upload Nox Requirements Tarball
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: nox-${{ inputs.distro-slug }}-${{ steps.define-nox-session.outputs.nox-session }}
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: Test
|
name: Test
|
||||||
runs-on: ${{ inputs.distro-slug }}
|
runs-on: ${{ inputs.distro-slug }}
|
||||||
timeout-minutes: 360 # 6 Hours
|
timeout-minutes: 360 # 6 Hours
|
||||||
needs:
|
needs:
|
||||||
- generate-matrix
|
- generate-matrix
|
||||||
- dependencies
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include: ${{ fromJSON(needs.generate-matrix.outputs.matrix-include) }}
|
include: ${{ fromJSON(needs.generate-matrix.outputs.matrix-include) }}
|
||||||
|
env:
|
||||||
|
SALT_TRANSPORT: ${{ matrix.transport }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Salt Version
|
- name: Setup Salt Version
|
||||||
run: |
|
run: |
|
||||||
|
@ -224,7 +131,9 @@ jobs:
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
||||||
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ matrix.transport }}|${{ inputs.python-version }}|${{ hashFiles('requirements/**/*.txt', 'noxfile.py') }}
|
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{
|
||||||
|
hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py')
|
||||||
|
}}
|
||||||
# If we get a cache miss here it means the dependencies step failed to save the cache
|
# If we get a cache miss here it means the dependencies step failed to save the cache
|
||||||
fail-on-cache-miss: true
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
@ -241,14 +150,6 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
nox -e decompress-dependencies -- ${{ inputs.distro-slug }}
|
nox -e decompress-dependencies -- ${{ inputs.distro-slug }}
|
||||||
|
|
||||||
- name: Define Nox Session
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.transport }}" != "tcp" ]; then
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session}} >> "$GITHUB_ENV"
|
|
||||||
else
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session}}-tcp >> "$GITHUB_ENV"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Download testrun-changed-files.txt
|
- name: Download testrun-changed-files.txt
|
||||||
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' }}
|
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' }}
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
|
@ -265,7 +166,7 @@ jobs:
|
||||||
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
|
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
|
||||||
SKIP_CODE_COVERAGE: "1"
|
SKIP_CODE_COVERAGE: "1"
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox -e ${{ env.NOX_SESSION }} -- ${{ matrix.tests-chunk }} -- -k "mac or darwin"
|
sudo -E nox -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- -k "mac or darwin"
|
||||||
|
|
||||||
- name: Run Fast/Changed Tests
|
- name: Run Fast/Changed Tests
|
||||||
id: run-fast-changed-tests
|
id: run-fast-changed-tests
|
||||||
|
@ -281,7 +182,7 @@ jobs:
|
||||||
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
||||||
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox -e ${{ env.NOX_SESSION }} -- ${{ matrix.tests-chunk }} -- \
|
sudo -E nox -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
|
||||||
-k "mac or darwin" --suppress-no-test-exit-code \
|
-k "mac or darwin" --suppress-no-test-exit-code \
|
||||||
--from-filenames=testrun-changed-files.txt
|
--from-filenames=testrun-changed-files.txt
|
||||||
|
|
||||||
|
@ -299,7 +200,7 @@ jobs:
|
||||||
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
||||||
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox -e ${{ env.NOX_SESSION }} -- ${{ matrix.tests-chunk }} -- \
|
sudo -E nox -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
|
||||||
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --slow-tests \
|
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --slow-tests \
|
||||||
--from-filenames=testrun-changed-files.txt
|
--from-filenames=testrun-changed-files.txt
|
||||||
|
|
||||||
|
@ -317,7 +218,7 @@ jobs:
|
||||||
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
||||||
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox -e ${{ env.NOX_SESSION }} -- ${{ matrix.tests-chunk }} -- \
|
sudo -E nox -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
|
||||||
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --core-tests \
|
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --core-tests \
|
||||||
--from-filenames=testrun-changed-files.txt
|
--from-filenames=testrun-changed-files.txt
|
||||||
|
|
||||||
|
@ -335,7 +236,7 @@ jobs:
|
||||||
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
||||||
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox -e ${{ env.NOX_SESSION }} -- ${{ matrix.tests-chunk }} -- \
|
sudo -E nox -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
|
||||||
-k "mac or darwin" --suppress-no-test-exit-code
|
-k "mac or darwin" --suppress-no-test-exit-code
|
||||||
|
|
||||||
- name: Run Slow Tests
|
- name: Run Slow Tests
|
||||||
|
@ -352,7 +253,7 @@ jobs:
|
||||||
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
||||||
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox -e ${{ env.NOX_SESSION }} -- ${{ matrix.tests-chunk }} -- \
|
sudo -E nox -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
|
||||||
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --slow-tests
|
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --slow-tests
|
||||||
|
|
||||||
- name: Run Core Tests
|
- name: Run Core Tests
|
||||||
|
@ -369,7 +270,7 @@ jobs:
|
||||||
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
||||||
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox -e ${{ env.NOX_SESSION }} -- ${{ matrix.tests-chunk }} -- \
|
sudo -E nox -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
|
||||||
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --core-tests
|
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --core-tests
|
||||||
|
|
||||||
- name: Run Flaky Tests
|
- name: Run Flaky Tests
|
||||||
|
@ -386,7 +287,7 @@ jobs:
|
||||||
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
||||||
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox -e ${{ env.NOX_SESSION }} -- ${{ matrix.tests-chunk }} -- \
|
sudo -E nox -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
|
||||||
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --flaky-jail
|
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --flaky-jail
|
||||||
|
|
||||||
- name: Run Full Tests
|
- name: Run Full Tests
|
||||||
|
@ -403,7 +304,7 @@ jobs:
|
||||||
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
|
||||||
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox -e ${{ env.NOX_SESSION }} -- ${{ matrix.tests-chunk }} -- \
|
sudo -E nox -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
|
||||||
--slow-tests --core-tests -k "mac or darwin"
|
--slow-tests --core-tests -k "mac or darwin"
|
||||||
|
|
||||||
- name: Fix file ownership
|
- name: Fix file ownership
|
||||||
|
@ -429,15 +330,15 @@ jobs:
|
||||||
rm -rf artifacts/salt*
|
rm -rf artifacts/salt*
|
||||||
tree -a artifacts
|
tree -a artifacts
|
||||||
if [ "${{ inputs.skip-code-coverage }}" != "true" ]; then
|
if [ "${{ inputs.skip-code-coverage }}" != "true" ]; then
|
||||||
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ env.NOX_SESSION }}.${{ matrix.tests-chunk }}
|
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ inputs.nox-session }}.${{ matrix.transport }}.${{ matrix.tests-chunk }}
|
||||||
echo "COVERAGE_FILE=artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ env.NOX_SESSION }}.${{ matrix.tests-chunk }}" >> GITHUB_ENV
|
echo "COVERAGE_FILE=artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ inputs.nox-session }}.${{ matrix.transport }}.${{ matrix.tests-chunk }}" >> GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Upload Code Coverage Test Run Artifacts
|
- name: Upload Code Coverage Test Run Artifacts
|
||||||
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ env.NOX_SESSION }}
|
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||||
path: |
|
path: |
|
||||||
artifacts/coverage/
|
artifacts/coverage/
|
||||||
|
|
||||||
|
@ -453,7 +354,7 @@ jobs:
|
||||||
if: always() && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
if: always() && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ env.NOX_SESSION }}
|
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}
|
||||||
path: |
|
path: |
|
||||||
artifacts/xml-unittests-output/
|
artifacts/xml-unittests-output/
|
||||||
|
|
||||||
|
@ -461,50 +362,39 @@ jobs:
|
||||||
if: always() && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
if: always() && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ env.NOX_SESSION }}
|
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}
|
||||||
path: |
|
path: |
|
||||||
artifacts/logs
|
artifacts/logs
|
||||||
|
|
||||||
|
- name: Publish Test Report
|
||||||
|
uses: mikepenz/action-junit-report@v3
|
||||||
|
# always run even if the previous steps fails
|
||||||
|
if: always() && inputs.skip-junit-reports == false
|
||||||
|
with:
|
||||||
|
check_name: Test Results(${{ inputs.distro-slug }}, transport=${{ matrix.transport }}, tests-chunk=${{ matrix.tests-chunk }})
|
||||||
|
report_paths: 'artifacts/xml-unittests-output/*.xml'
|
||||||
|
annotate_only: true
|
||||||
|
|
||||||
|
|
||||||
report:
|
report:
|
||||||
name: Reports for ${{ inputs.distro-slug }}(${{ matrix.transport }})
|
name: Test Reports
|
||||||
if: always() && (inputs.skip-code-coverage == false || inputs.skip-junit-reports == false) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||||
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
||||||
needs:
|
needs:
|
||||||
- generate-matrix
|
|
||||||
- test
|
- test
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include: ${{ fromJSON(needs.generate-matrix.outputs.transport-matrix-include) }}
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Define Nox Session
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.transport }}" != "tcp" ]; then
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session }} >> "$GITHUB_ENV"
|
|
||||||
else
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session }}-tcp >> "$GITHUB_ENV"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Download Code Coverage Test Run Artifacts
|
- name: Download Code Coverage Test Run Artifacts
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
if: ${{ inputs.skip-code-coverage == false }}
|
if: ${{ inputs.skip-code-coverage == false }}
|
||||||
id: download-coverage-artifacts
|
id: download-coverage-artifacts
|
||||||
with:
|
with:
|
||||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ env.NOX_SESSION }}
|
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||||
path: artifacts/coverage/
|
path: artifacts/coverage/
|
||||||
|
|
||||||
- name: Download JUnit XML Test Run Artifacts
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
id: download-junit-artifacts
|
|
||||||
with:
|
|
||||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ env.NOX_SESSION }}
|
|
||||||
path: artifacts/xml-unittests-output/
|
|
||||||
|
|
||||||
- name: Show Downloaded Test Run Artifacts
|
- name: Show Downloaded Test Run Artifacts
|
||||||
run: |
|
run: |
|
||||||
tree -a artifacts
|
tree -a artifacts
|
||||||
|
@ -548,12 +438,3 @@ jobs:
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
nox --force-color -e report-coverage
|
nox --force-color -e report-coverage
|
||||||
|
|
||||||
- name: Publish Test Report
|
|
||||||
uses: mikepenz/action-junit-report@v3
|
|
||||||
# always run even if the previous steps fails
|
|
||||||
if: always() && inputs.skip-junit-reports == false && steps.download-junit-artifacts.outcome == 'success'
|
|
||||||
with:
|
|
||||||
check_name: Test Results(${{ inputs.distro-slug }})
|
|
||||||
report_paths: 'artifacts/xml-unittests-output/*.xml'
|
|
||||||
annotate_only: true
|
|
||||||
|
|
228
.github/workflows/test-action.yml
vendored
228
.github/workflows/test-action.yml
vendored
|
@ -36,6 +36,11 @@ on:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
description: The nox version to install
|
description: The nox version to install
|
||||||
|
python-version:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
description: The python version to run tests with
|
||||||
|
default: "3.10"
|
||||||
package-name:
|
package-name:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
@ -52,7 +57,6 @@ on:
|
||||||
description: Skip Publishing JUnit Reports
|
description: Skip Publishing JUnit Reports
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
COLUMNS: 190
|
COLUMNS: 190
|
||||||
AWS_MAX_ATTEMPTS: "10"
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
|
@ -63,17 +67,22 @@ env:
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
generate-matrix:
|
generate-matrix:
|
||||||
name: Generate Test Matrix
|
name: Test Matrix
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- linux
|
- linux
|
||||||
- x86_64
|
- x86_64
|
||||||
outputs:
|
outputs:
|
||||||
matrix-include: ${{ steps.generate-matrix.outputs.matrix }}
|
matrix-include: ${{ steps.generate-matrix.outputs.matrix }}
|
||||||
transport-matrix-include: ${{ steps.generate-transport-matrix.outputs.matrix }}
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
@ -85,126 +94,6 @@ jobs:
|
||||||
echo "$TEST_MATRIX"
|
echo "$TEST_MATRIX"
|
||||||
echo "matrix=$TEST_MATRIX" >> "$GITHUB_OUTPUT"
|
echo "matrix=$TEST_MATRIX" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
- name: Generate Transport Matrix
|
|
||||||
id: generate-transport-matrix
|
|
||||||
run: |
|
|
||||||
TRANSPORT_MATRIX=$(tools ci transport-matrix ${{ inputs.distro-slug }})
|
|
||||||
echo "$TRANSPORT_MATRIX"
|
|
||||||
echo "matrix=$TRANSPORT_MATRIX" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
dependencies:
|
|
||||||
name: Setup Test Dependencies
|
|
||||||
needs:
|
|
||||||
- generate-matrix
|
|
||||||
runs-on:
|
|
||||||
- self-hosted
|
|
||||||
- linux
|
|
||||||
- bastion
|
|
||||||
timeout-minutes: 90
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include: ${{ fromJSON(needs.generate-matrix.outputs.transport-matrix-include) }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout Source Code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Cache nox.${{ inputs.distro-slug }}.tar.* for session ${{ inputs.nox-session }}
|
|
||||||
id: nox-dependencies-cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ matrix.transport }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
path: artifacts/
|
|
||||||
|
|
||||||
- name: Decompress Onedir Tarball
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
|
|
||||||
cd artifacts
|
|
||||||
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
|
|
||||||
- name: PyPi Proxy
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
sed -i '7s;^;--index-url=https://pypi-proxy.saltstack.net/root/local/+simple/ --extra-index-url=https://pypi.org/simple\n;' requirements/static/ci/*/*.txt
|
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
|
||||||
|
|
||||||
- name: Define Nox Session
|
|
||||||
id: define-nox-session
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.transport }}" != "tcp" ]; then
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session}} >> "$GITHUB_ENV"
|
|
||||||
echo "nox-session=${{ inputs.nox-session}}" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session}}-tcp >> "$GITHUB_ENV"
|
|
||||||
echo "nox-session=${{ inputs.nox-session}}-tcp" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Get Salt Project GitHub Actions Bot Environment
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
|
|
||||||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
|
|
||||||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
|
|
||||||
|
|
||||||
- name: Start VM
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
id: spin-up-vm
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: List Free Space
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- df -h || true
|
|
||||||
|
|
||||||
- name: Upload Checkout To VM
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm rsync ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm install-dependencies --nox-session=${{ env.NOX_SESSION }} ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Cleanup .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm pre-archive-cleanup ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Compress .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm compress-dependencies ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Download Compressed .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm download-dependencies ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Destroy VM
|
|
||||||
if: always() && steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm destroy --no-wait ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Upload Nox Requirements Tarball
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: nox-${{ inputs.distro-slug }}-${{ steps.define-nox-session.outputs.nox-session }}
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: Test
|
name: Test
|
||||||
runs-on:
|
runs-on:
|
||||||
|
@ -213,16 +102,17 @@ jobs:
|
||||||
- bastion
|
- bastion
|
||||||
timeout-minutes: 300 # 5 Hours - More than this and something is wrong
|
timeout-minutes: 300 # 5 Hours - More than this and something is wrong
|
||||||
needs:
|
needs:
|
||||||
- dependencies
|
|
||||||
- generate-matrix
|
- generate-matrix
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include: ${{ fromJSON(needs.generate-matrix.outputs.matrix-include) }}
|
include: ${{ fromJSON(needs.generate-matrix.outputs.matrix-include) }}
|
||||||
|
env:
|
||||||
|
SALT_TRANSPORT: ${{ matrix.transport }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Salt Version
|
- name: Setup Salt Version
|
||||||
run: |
|
run: |
|
||||||
|
@ -245,7 +135,9 @@ jobs:
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
||||||
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ matrix.transport }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{
|
||||||
|
hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py')
|
||||||
|
}}
|
||||||
# If we get a cache miss here it means the dependencies step failed to save the cache
|
# If we get a cache miss here it means the dependencies step failed to save the cache
|
||||||
fail-on-cache-miss: true
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
@ -256,14 +148,6 @@ jobs:
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
|
||||||
- name: Define Nox Session
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.transport }}" != "tcp" ]; then
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session }} >> "$GITHUB_ENV"
|
|
||||||
else
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session }}-tcp >> "$GITHUB_ENV"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Download testrun-changed-files.txt
|
- name: Download testrun-changed-files.txt
|
||||||
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' }}
|
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' }}
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
|
@ -298,7 +182,7 @@ jobs:
|
||||||
- name: Show System Info & Test Plan
|
- name: Show System Info & Test Plan
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --timeout-secs=1800 vm testplan --skip-requirements-install \
|
tools --timestamps --timeout-secs=1800 vm testplan --skip-requirements-install \
|
||||||
--nox-session=${{ env.NOX_SESSION }} ${{ inputs.distro-slug }} \
|
--nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }} \
|
||||||
${{ matrix.tests-chunk }}
|
${{ matrix.tests-chunk }}
|
||||||
|
|
||||||
- name: Run Fast/Changed Tests
|
- name: Run Fast/Changed Tests
|
||||||
|
@ -306,7 +190,7 @@ jobs:
|
||||||
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['fast'] == false }}
|
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['fast'] == false }}
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
--nox-session=${{ env.NOX_SESSION }} --rerun-failures ${{ inputs.distro-slug }} \
|
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.distro-slug }} \
|
||||||
${{ matrix.tests-chunk }} -- --suppress-no-test-exit-code \
|
${{ matrix.tests-chunk }} -- --suppress-no-test-exit-code \
|
||||||
--from-filenames=testrun-changed-files.txt
|
--from-filenames=testrun-changed-files.txt
|
||||||
|
|
||||||
|
@ -315,7 +199,7 @@ jobs:
|
||||||
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['slow'] == false }}
|
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['slow'] == false }}
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
--nox-session=${{ env.NOX_SESSION }} --rerun-failures ${{ inputs.distro-slug }} \
|
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.distro-slug }} \
|
||||||
${{ matrix.tests-chunk }} -- --no-fast-tests --slow-tests --suppress-no-test-exit-code \
|
${{ matrix.tests-chunk }} -- --no-fast-tests --slow-tests --suppress-no-test-exit-code \
|
||||||
--from-filenames=testrun-changed-files.txt
|
--from-filenames=testrun-changed-files.txt
|
||||||
|
|
||||||
|
@ -324,7 +208,7 @@ jobs:
|
||||||
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['core'] == false }}
|
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['core'] == false }}
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
--nox-session=${{ env.NOX_SESSION }} --rerun-failures ${{ inputs.distro-slug }} \
|
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.distro-slug }} \
|
||||||
${{ matrix.tests-chunk }} -- --no-fast-tests --core-tests --suppress-no-test-exit-code \
|
${{ matrix.tests-chunk }} -- --no-fast-tests --core-tests --suppress-no-test-exit-code \
|
||||||
--from-filenames=testrun-changed-files.txt
|
--from-filenames=testrun-changed-files.txt
|
||||||
|
|
||||||
|
@ -333,7 +217,7 @@ jobs:
|
||||||
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['fast'] }}
|
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['fast'] }}
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
--nox-session=${{ env.NOX_SESSION }} --rerun-failures ${{ (inputs.skip-code-coverage && matrix.tests-chunk != 'unit') && '--skip-code-coverage' || '' }} \
|
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ (inputs.skip-code-coverage && matrix.tests-chunk != 'unit') && '--skip-code-coverage' || '' }} \
|
||||||
${{ inputs.distro-slug }} ${{ matrix.tests-chunk }}
|
${{ inputs.distro-slug }} ${{ matrix.tests-chunk }}
|
||||||
|
|
||||||
- name: Run Slow Tests
|
- name: Run Slow Tests
|
||||||
|
@ -341,7 +225,7 @@ jobs:
|
||||||
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['slow'] }}
|
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['slow'] }}
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
--nox-session=${{ env.NOX_SESSION }} --rerun-failures ${{ inputs.distro-slug }} \
|
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.distro-slug }} \
|
||||||
${{ matrix.tests-chunk }} -- --no-fast-tests --slow-tests
|
${{ matrix.tests-chunk }} -- --no-fast-tests --slow-tests
|
||||||
|
|
||||||
- name: Run Core Tests
|
- name: Run Core Tests
|
||||||
|
@ -349,7 +233,7 @@ jobs:
|
||||||
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['core'] }}
|
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['core'] }}
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
--nox-session=${{ env.NOX_SESSION }} --rerun-failures ${{ inputs.distro-slug }} \
|
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.distro-slug }} \
|
||||||
${{ matrix.tests-chunk }} -- --no-fast-tests --core-tests
|
${{ matrix.tests-chunk }} -- --no-fast-tests --core-tests
|
||||||
|
|
||||||
- name: Run Flaky Tests
|
- name: Run Flaky Tests
|
||||||
|
@ -357,7 +241,7 @@ jobs:
|
||||||
if: ${{ fromJSON(inputs.testrun)['selected_tests']['flaky'] }}
|
if: ${{ fromJSON(inputs.testrun)['selected_tests']['flaky'] }}
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
--nox-session=${{ env.NOX_SESSION }} --rerun-failures ${{ inputs.distro-slug }} \
|
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.distro-slug }} \
|
||||||
${{ matrix.tests-chunk }} -- --no-fast-tests --flaky-jail
|
${{ matrix.tests-chunk }} -- --no-fast-tests --flaky-jail
|
||||||
|
|
||||||
- name: Run Full Tests
|
- name: Run Full Tests
|
||||||
|
@ -365,7 +249,7 @@ jobs:
|
||||||
if: ${{ fromJSON(inputs.testrun)['type'] == 'full' }}
|
if: ${{ fromJSON(inputs.testrun)['type'] == 'full' }}
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
--nox-session=${{ env.NOX_SESSION }} --rerun-failures ${{ (inputs.skip-code-coverage && matrix.tests-chunk != 'unit') && '--skip-code-coverage' || '' }} \
|
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ (inputs.skip-code-coverage && matrix.tests-chunk != 'unit') && '--skip-code-coverage' || '' }} \
|
||||||
${{ inputs.distro-slug }} ${{ matrix.tests-chunk }} -- --slow-tests --core-tests
|
${{ inputs.distro-slug }} ${{ matrix.tests-chunk }} -- --slow-tests --core-tests
|
||||||
|
|
||||||
- name: Combine Coverage Reports
|
- name: Combine Coverage Reports
|
||||||
|
@ -388,8 +272,8 @@ jobs:
|
||||||
rm -rf artifacts/salt*
|
rm -rf artifacts/salt*
|
||||||
tree -a artifacts
|
tree -a artifacts
|
||||||
if [ "${{ inputs.skip-code-coverage }}" != "true" ]; then
|
if [ "${{ inputs.skip-code-coverage }}" != "true" ]; then
|
||||||
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ env.NOX_SESSION }}.${{ matrix.tests-chunk }}
|
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ inputs.nox-session }}.${{ matrix.transport }}.${{ matrix.tests-chunk }}
|
||||||
echo "COVERAGE_FILE=artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ env.NOX_SESSION }}.${{ matrix.tests-chunk }}" >> GITHUB_ENV
|
echo "COVERAGE_FILE=artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ inputs.nox-session }}.${{ matrix.transport }}.${{ matrix.tests-chunk }}" >> GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Destroy VM
|
- name: Destroy VM
|
||||||
|
@ -401,7 +285,7 @@ jobs:
|
||||||
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ env.NOX_SESSION }}
|
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||||
path: |
|
path: |
|
||||||
artifacts/coverage/
|
artifacts/coverage/
|
||||||
|
|
||||||
|
@ -417,7 +301,7 @@ jobs:
|
||||||
if: always() && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
if: always() && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ env.NOX_SESSION }}
|
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}
|
||||||
path: |
|
path: |
|
||||||
artifacts/xml-unittests-output/
|
artifacts/xml-unittests-output/
|
||||||
|
|
||||||
|
@ -425,53 +309,42 @@ jobs:
|
||||||
if: always() && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
if: always() && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ env.NOX_SESSION }}
|
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}
|
||||||
path: |
|
path: |
|
||||||
artifacts/logs
|
artifacts/logs
|
||||||
|
|
||||||
|
- name: Publish Test Report
|
||||||
|
uses: mikepenz/action-junit-report@v3
|
||||||
|
# always run even if the previous steps fails
|
||||||
|
if: always() && inputs.skip-junit-reports == false
|
||||||
|
with:
|
||||||
|
check_name: Test Results(${{ inputs.distro-slug }}, transport=${{ matrix.transport }}, tests-chunk=${{ matrix.tests-chunk }})
|
||||||
|
report_paths: 'artifacts/xml-unittests-output/*.xml'
|
||||||
|
annotate_only: true
|
||||||
|
|
||||||
|
|
||||||
report:
|
report:
|
||||||
name: Reports for ${{ inputs.distro-slug }}(${{ matrix.transport }})
|
name: Test Reports
|
||||||
if: always() && (inputs.skip-code-coverage == false || inputs.skip-junit-reports == false) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- linux
|
- linux
|
||||||
- x86_64
|
- x86_64
|
||||||
needs:
|
needs:
|
||||||
- generate-matrix
|
|
||||||
- test
|
- test
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include: ${{ fromJSON(needs.generate-matrix.outputs.transport-matrix-include) }}
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Define Nox Session
|
|
||||||
run: |
|
|
||||||
if [ "${{ matrix.transport }}" != "tcp" ]; then
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session }} >> "$GITHUB_ENV"
|
|
||||||
else
|
|
||||||
echo NOX_SESSION=${{ inputs.nox-session }}-tcp >> "$GITHUB_ENV"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Download Code Coverage Test Run Artifacts
|
- name: Download Code Coverage Test Run Artifacts
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
if: ${{ inputs.skip-code-coverage == false }}
|
if: ${{ inputs.skip-code-coverage == false }}
|
||||||
id: download-coverage-artifacts
|
id: download-coverage-artifacts
|
||||||
with:
|
with:
|
||||||
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ env.NOX_SESSION }}
|
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
|
||||||
path: artifacts/coverage/
|
path: artifacts/coverage/
|
||||||
|
|
||||||
- name: Download JUnit XML Test Run Artifacts
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
id: download-junit-artifacts
|
|
||||||
with:
|
|
||||||
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ env.NOX_SESSION }}
|
|
||||||
path: artifacts/xml-unittests-output/
|
|
||||||
|
|
||||||
- name: Show Downloaded Test Run Artifacts
|
- name: Show Downloaded Test Run Artifacts
|
||||||
run: |
|
run: |
|
||||||
tree -a artifacts
|
tree -a artifacts
|
||||||
|
@ -510,12 +383,3 @@ jobs:
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
nox --force-color -e report-coverage
|
nox --force-color -e report-coverage
|
||||||
|
|
||||||
- name: Publish Test Report
|
|
||||||
uses: mikepenz/action-junit-report@v3
|
|
||||||
# always run even if the previous steps fails
|
|
||||||
if: always() && inputs.skip-junit-reports == false && steps.download-junit-artifacts.outcome == 'success'
|
|
||||||
with:
|
|
||||||
check_name: Test Results(${{ inputs.distro-slug }})
|
|
||||||
report_paths: 'artifacts/xml-unittests-output/*.xml'
|
|
||||||
annotate_only: true
|
|
||||||
|
|
|
@ -39,6 +39,11 @@ on:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
description: The nox version to install
|
description: The nox version to install
|
||||||
|
python-version:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
description: The python version to run tests with
|
||||||
|
default: "3.10"
|
||||||
package-name:
|
package-name:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
@ -53,11 +58,10 @@ on:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
description: The nox session to run
|
description: The nox session to run
|
||||||
default: test-pkgs-onedir
|
default: ci-test-onedir
|
||||||
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
COLUMNS: 160
|
COLUMNS: 190
|
||||||
AWS_MAX_ATTEMPTS: "10"
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
AWS_RETRY_MODE: "adaptive"
|
AWS_RETRY_MODE: "adaptive"
|
||||||
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
@ -65,110 +69,24 @@ env:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
dependencies:
|
|
||||||
name: Setup Test Dependencies
|
|
||||||
runs-on:
|
|
||||||
- self-hosted
|
|
||||||
- linux
|
|
||||||
- bastion
|
|
||||||
timeout-minutes: 90
|
|
||||||
steps:
|
|
||||||
- name: Checkout Source Code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Cache nox.${{ inputs.distro-slug }}.tar.* for session ${{ inputs.nox-session }}
|
|
||||||
id: nox-dependencies-cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
key: ${{ inputs.cache-prefix }}|test-pkg-download-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
path: artifacts/
|
|
||||||
|
|
||||||
- name: Decompress Onedir Tarball
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
|
|
||||||
cd artifacts
|
|
||||||
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
|
||||||
|
|
||||||
- name: Get Salt Project GitHub Actions Bot Environment
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
|
|
||||||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
|
|
||||||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
|
|
||||||
|
|
||||||
- name: Start VM
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
id: spin-up-vm
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: List Free Space
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- df -h || true
|
|
||||||
|
|
||||||
- name: Upload Checkout To VM
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm rsync ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm install-dependencies --nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Cleanup .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm pre-archive-cleanup ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Compress .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm compress-dependencies ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Download Compressed .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm download-dependencies ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Destroy VM
|
|
||||||
if: always() && steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm destroy --no-wait ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Upload Nox Requirements Tarball
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: nox-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-download-${{ inputs.arch }}
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: Test
|
name: Test Pkg Download
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- linux
|
- linux
|
||||||
- bastion
|
- bastion
|
||||||
environment: ${{ inputs.environment }}
|
environment: ${{ inputs.environment }}
|
||||||
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
||||||
needs:
|
|
||||||
- dependencies
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
- name: Download Onedir Tarball as an Artifact
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
|
@ -187,7 +105,9 @@ jobs:
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
||||||
key: ${{ inputs.cache-prefix }}|test-pkg-download-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{
|
||||||
|
hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py')
|
||||||
|
}}
|
||||||
# If we get a cache miss here it means the dependencies step failed to save the cache
|
# If we get a cache miss here it means the dependencies step failed to save the cache
|
||||||
fail-on-cache-miss: true
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
@ -233,7 +153,7 @@ jobs:
|
||||||
tools --timestamps --timeout-secs=1800 vm testplan --skip-requirements-install \
|
tools --timestamps --timeout-secs=1800 vm testplan --skip-requirements-install \
|
||||||
-E INSTALL_TYPE -E SALT_RELEASE -E SALT_REPO_ARCH -E SALT_REPO_TYPE -E SALT_REPO_USER -E SALT_REPO_PASS \
|
-E INSTALL_TYPE -E SALT_RELEASE -E SALT_REPO_ARCH -E SALT_REPO_TYPE -E SALT_REPO_USER -E SALT_REPO_PASS \
|
||||||
-E SALT_REPO_DOMAIN_RELEASE -E SALT_REPO_DOMAIN_STAGING -E LATEST_SALT_RELEASE -E DOWNLOAD_TEST_PACKAGE_TYPE \
|
-E SALT_REPO_DOMAIN_RELEASE -E SALT_REPO_DOMAIN_STAGING -E LATEST_SALT_RELEASE -E DOWNLOAD_TEST_PACKAGE_TYPE \
|
||||||
--nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }} -- download-pkgs
|
--nox-session=${{ inputs.nox-session }}-pkgs ${{ inputs.distro-slug }} -- download-pkgs
|
||||||
|
|
||||||
- name: Run Package Download Tests
|
- name: Run Package Download Tests
|
||||||
env:
|
env:
|
||||||
|
@ -251,7 +171,7 @@ jobs:
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
-E INSTALL_TYPE -E SALT_RELEASE -E SALT_REPO_ARCH -E SALT_REPO_TYPE -E SALT_REPO_USER -E SALT_REPO_PASS \
|
-E INSTALL_TYPE -E SALT_RELEASE -E SALT_REPO_ARCH -E SALT_REPO_TYPE -E SALT_REPO_USER -E SALT_REPO_PASS \
|
||||||
-E SALT_REPO_DOMAIN_RELEASE -E SALT_REPO_DOMAIN_STAGING -E LATEST_SALT_RELEASE -E DOWNLOAD_TEST_PACKAGE_TYPE \
|
-E SALT_REPO_DOMAIN_RELEASE -E SALT_REPO_DOMAIN_STAGING -E LATEST_SALT_RELEASE -E DOWNLOAD_TEST_PACKAGE_TYPE \
|
||||||
--nox-session=${{ inputs.nox-session }} --rerun-failures ${{ inputs.distro-slug }} -- download-pkgs
|
--nox-session=${{ inputs.nox-session }}-pkgs --rerun-failures ${{ inputs.distro-slug }} -- download-pkgs
|
||||||
|
|
||||||
- name: Combine Coverage Reports
|
- name: Combine Coverage Reports
|
||||||
if: always() && inputs.skip-code-coverage == false && steps.spin-up-vm.outcome == 'success' && job.status != 'cancelled'
|
if: always() && inputs.skip-code-coverage == false && steps.spin-up-vm.outcome == 'success' && job.status != 'cancelled'
|
||||||
|
@ -293,7 +213,7 @@ jobs:
|
||||||
!artifacts/salt-*.tar.*
|
!artifacts/salt-*.tar.*
|
||||||
|
|
||||||
report:
|
report:
|
||||||
name: Reports for ${{ inputs.distro-slug }}(${{ inputs.arch }})
|
name: Test Pkg Download Reports
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- linux
|
- linux
|
||||||
|
@ -305,7 +225,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Test Run Artifacts
|
- name: Download Test Run Artifacts
|
||||||
id: download-test-run-artifacts
|
id: download-test-run-artifacts
|
||||||
|
|
|
@ -43,7 +43,7 @@ on:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
description: The python version to run tests with
|
description: The python version to run tests with
|
||||||
default: "3.10"
|
default: "3.11"
|
||||||
package-name:
|
package-name:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
@ -58,103 +58,30 @@ on:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
description: The nox session to run
|
description: The nox session to run
|
||||||
default: test-pkgs-onedir
|
default: ci-test-onedir
|
||||||
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
COLUMNS: 160
|
COLUMNS: 190
|
||||||
AWS_MAX_ATTEMPTS: "10"
|
|
||||||
AWS_RETRY_MODE: "adaptive"
|
|
||||||
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
dependencies:
|
|
||||||
name: Setup Test Dependencies
|
|
||||||
runs-on: ${{ inputs.distro-slug }}
|
|
||||||
timeout-minutes: 90
|
|
||||||
steps:
|
|
||||||
- name: Checkout Source Code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Cache nox.${{ inputs.distro-slug }}.tar.* for session ${{ inputs.nox-session }}
|
|
||||||
id: nox-dependencies-cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
key: ${{ inputs.cache-prefix }}|test-pkg-download-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
path: artifacts/
|
|
||||||
|
|
||||||
- name: Decompress Onedir Tarball
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
|
|
||||||
cd artifacts
|
|
||||||
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
|
|
||||||
- name: Set up Python ${{ inputs.python-version }}
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: actions/setup-python@v4
|
|
||||||
with:
|
|
||||||
python-version: "${{ inputs.python-version }}"
|
|
||||||
update-environment: true
|
|
||||||
|
|
||||||
- name: Install System Dependencies
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
brew install openssl@3
|
|
||||||
|
|
||||||
- name: Install Nox
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
python3 -m pip install 'nox==${{ inputs.nox-version }}'
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
env:
|
|
||||||
PRINT_TEST_SELECTION: "0"
|
|
||||||
PRINT_SYSTEM_INFO: "0"
|
|
||||||
run: |
|
|
||||||
export PYCURL_SSL_LIBRARY=openssl
|
|
||||||
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
|
|
||||||
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
|
|
||||||
export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
|
|
||||||
nox --force-color --install-only -e ${{ inputs.nox-session }}
|
|
||||||
|
|
||||||
- name: Cleanup .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
nox --force-color -e "pre-archive-cleanup(pkg=False)"
|
|
||||||
|
|
||||||
- name: Compress .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
nox --force-color -e compress-dependencies -- ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Upload Nox Requirements Tarball
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: nox-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-download-${{ inputs.arch }}
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: Test
|
name: Test Pkg Download
|
||||||
runs-on: ${{ inputs.distro-slug }}
|
runs-on: ${{ inputs.distro-slug }}
|
||||||
environment: ${{ inputs.environment }}
|
environment: ${{ inputs.environment }}
|
||||||
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
||||||
needs:
|
|
||||||
- dependencies
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
- name: Download Onedir Tarball as an Artifact
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
|
@ -187,7 +114,9 @@ jobs:
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
||||||
key: ${{ inputs.cache-prefix }}|test-pkg-download-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{
|
||||||
|
hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py')
|
||||||
|
}}
|
||||||
# If we get a cache miss here it means the dependencies step failed to save the cache
|
# If we get a cache miss here it means the dependencies step failed to save the cache
|
||||||
fail-on-cache-miss: true
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
@ -208,7 +137,7 @@ jobs:
|
||||||
LATEST_SALT_RELEASE: "${{ inputs.latest-release }}"
|
LATEST_SALT_RELEASE: "${{ inputs.latest-release }}"
|
||||||
DOWNLOAD_TEST_PACKAGE_TYPE: ${{ inputs.pkg-type }}
|
DOWNLOAD_TEST_PACKAGE_TYPE: ${{ inputs.pkg-type }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- download-pkgs
|
sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- download-pkgs
|
||||||
|
|
||||||
- name: Run Package Download Tests
|
- name: Run Package Download Tests
|
||||||
env:
|
env:
|
||||||
|
@ -231,7 +160,7 @@ jobs:
|
||||||
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }}
|
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }}
|
||||||
DOWNLOAD_TEST_PACKAGE_TYPE: ${{ inputs.pkg-type }}
|
DOWNLOAD_TEST_PACKAGE_TYPE: ${{ inputs.pkg-type }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- download-pkgs
|
sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- download-pkgs
|
||||||
|
|
||||||
- name: Fix file ownership
|
- name: Fix file ownership
|
||||||
run: |
|
run: |
|
||||||
|
@ -267,7 +196,7 @@ jobs:
|
||||||
!artifacts/salt-*.tar.*
|
!artifacts/salt-*.tar.*
|
||||||
|
|
||||||
report:
|
report:
|
||||||
name: Reports for ${{ inputs.distro-slug }}(${{ inputs.arch }})
|
name: Test Pkg Download Reports
|
||||||
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
||||||
environment: ${{ inputs.environment }}
|
environment: ${{ inputs.environment }}
|
||||||
if: always() && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
if: always() && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||||
|
@ -276,7 +205,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Test Run Artifacts
|
- name: Download Test Run Artifacts
|
||||||
id: download-test-run-artifacts
|
id: download-test-run-artifacts
|
||||||
|
|
|
@ -39,6 +39,11 @@ on:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
description: The nox version to install
|
description: The nox version to install
|
||||||
|
python-version:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
description: The python version to run tests with
|
||||||
|
default: "3.10"
|
||||||
package-name:
|
package-name:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
@ -48,7 +53,7 @@ on:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
description: The nox session to run
|
description: The nox session to run
|
||||||
default: test-pkgs-onedir
|
default: ci-test-onedir
|
||||||
skip-code-coverage:
|
skip-code-coverage:
|
||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
|
@ -60,9 +65,8 @@ on:
|
||||||
description: Skip Publishing JUnit Reports
|
description: Skip Publishing JUnit Reports
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
COLUMNS: 160
|
COLUMNS: 190
|
||||||
AWS_MAX_ATTEMPTS: "10"
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
AWS_RETRY_MODE: "adaptive"
|
AWS_RETRY_MODE: "adaptive"
|
||||||
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
@ -70,110 +74,18 @@ env:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
dependencies:
|
|
||||||
name: Setup Test Dependencies
|
|
||||||
runs-on:
|
|
||||||
- self-hosted
|
|
||||||
- linux
|
|
||||||
- bastion
|
|
||||||
timeout-minutes: 90
|
|
||||||
steps:
|
|
||||||
- name: Checkout Source Code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Cache nox.${{ inputs.distro-slug }}.tar.* for session ${{ inputs.nox-session }}
|
|
||||||
id: nox-dependencies-cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
key: ${{ inputs.cache-prefix }}|test-pkg-download-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
path: artifacts/
|
|
||||||
|
|
||||||
- name: Decompress Onedir Tarball
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
|
|
||||||
cd artifacts
|
|
||||||
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
|
||||||
|
|
||||||
- name: Get Salt Project GitHub Actions Bot Environment
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
|
|
||||||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
|
|
||||||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
|
|
||||||
|
|
||||||
- name: Start VM
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
id: spin-up-vm
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: List Free Space
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- df -h || true
|
|
||||||
|
|
||||||
- name: Upload Checkout To VM
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm rsync ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm install-dependencies --nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Cleanup .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm pre-archive-cleanup ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Compress .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm compress-dependencies ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Download Compressed .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm download-dependencies ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Destroy VM
|
|
||||||
if: always() && steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm destroy --no-wait ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Upload Nox Requirements Tarball
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: nox-${{ inputs.distro-slug }}-${{ inputs.pkg-type }}-${{ inputs.nox-session }}-download-${{ inputs.arch }}
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: Test
|
name: Test Pkg Download
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- linux
|
- linux
|
||||||
- bastion
|
- bastion
|
||||||
environment: ${{ inputs.environment }}
|
environment: ${{ inputs.environment }}
|
||||||
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
||||||
needs:
|
|
||||||
- dependencies
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
- name: Download Onedir Tarball as an Artifact
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
|
@ -192,7 +104,9 @@ jobs:
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
||||||
key: ${{ inputs.cache-prefix }}|test-pkg-download-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{
|
||||||
|
hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py')
|
||||||
|
}}
|
||||||
# If we get a cache miss here it means the dependencies step failed to save the cache
|
# If we get a cache miss here it means the dependencies step failed to save the cache
|
||||||
fail-on-cache-miss: true
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
@ -238,7 +152,7 @@ jobs:
|
||||||
tools --timestamps --timeout-secs=1800 vm testplan --skip-requirements-install \
|
tools --timestamps --timeout-secs=1800 vm testplan --skip-requirements-install \
|
||||||
-E INSTALL_TYPE -E SALT_RELEASE -E SALT_REPO_ARCH -E SALT_REPO_TYPE -E SALT_REPO_USER -E SALT_REPO_PASS \
|
-E INSTALL_TYPE -E SALT_RELEASE -E SALT_REPO_ARCH -E SALT_REPO_TYPE -E SALT_REPO_USER -E SALT_REPO_PASS \
|
||||||
-E SALT_REPO_DOMAIN_RELEASE -E SALT_REPO_DOMAIN_STAGING -E LATEST_SALT_RELEASE -E DOWNLOAD_TEST_PACKAGE_TYPE \
|
-E SALT_REPO_DOMAIN_RELEASE -E SALT_REPO_DOMAIN_STAGING -E LATEST_SALT_RELEASE -E DOWNLOAD_TEST_PACKAGE_TYPE \
|
||||||
--nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }} -- download-pkgs
|
--nox-session=${{ inputs.nox-session }}-pkgs ${{ inputs.distro-slug }} -- download-pkgs
|
||||||
|
|
||||||
- name: Run Package Download Tests
|
- name: Run Package Download Tests
|
||||||
env:
|
env:
|
||||||
|
@ -256,7 +170,7 @@ jobs:
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
-E INSTALL_TYPE -E SALT_RELEASE -E SALT_REPO_ARCH -E SALT_REPO_TYPE -E SALT_REPO_USER -E SALT_REPO_PASS \
|
-E INSTALL_TYPE -E SALT_RELEASE -E SALT_REPO_ARCH -E SALT_REPO_TYPE -E SALT_REPO_USER -E SALT_REPO_PASS \
|
||||||
-E SALT_REPO_DOMAIN_RELEASE -E SALT_REPO_DOMAIN_STAGING -E LATEST_SALT_RELEASE -E DOWNLOAD_TEST_PACKAGE_TYPE \
|
-E SALT_REPO_DOMAIN_RELEASE -E SALT_REPO_DOMAIN_STAGING -E LATEST_SALT_RELEASE -E DOWNLOAD_TEST_PACKAGE_TYPE \
|
||||||
--nox-session=${{ inputs.nox-session }} --rerun-failures ${{ inputs.distro-slug }} -- download-pkgs
|
--nox-session=${{ inputs.nox-session }}-pkgs --rerun-failures ${{ inputs.distro-slug }} -- download-pkgs
|
||||||
|
|
||||||
- name: Combine Coverage Reports
|
- name: Combine Coverage Reports
|
||||||
if: always() && inputs.skip-code-coverage == false && steps.spin-up-vm.outcome == 'success' && job.status != 'cancelled'
|
if: always() && inputs.skip-code-coverage == false && steps.spin-up-vm.outcome == 'success' && job.status != 'cancelled'
|
||||||
|
@ -298,7 +212,7 @@ jobs:
|
||||||
!artifacts/salt-*.tar.*
|
!artifacts/salt-*.tar.*
|
||||||
|
|
||||||
report:
|
report:
|
||||||
name: Reports for ${{ inputs.distro-slug }}(${{ inputs.arch }})
|
name: Test Pkg Download Reports
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- linux
|
- linux
|
||||||
|
@ -310,7 +224,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Test Run Artifacts
|
- name: Download Test Run Artifacts
|
||||||
id: download-test-run-artifacts
|
id: download-test-run-artifacts
|
||||||
|
|
109
.github/workflows/test-packages-action-macos.yml
vendored
109
.github/workflows/test-packages-action-macos.yml
vendored
|
@ -49,7 +49,7 @@ on:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
description: The nox session to run
|
description: The nox session to run
|
||||||
default: test-pkgs-onedir
|
default: ci-test-onedir
|
||||||
skip-code-coverage:
|
skip-code-coverage:
|
||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
|
@ -61,24 +61,27 @@ on:
|
||||||
description: Skip Publishing JUnit Reports
|
description: Skip Publishing JUnit Reports
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
COLUMNS: 160
|
COLUMNS: 190
|
||||||
AWS_MAX_ATTEMPTS: "10"
|
|
||||||
AWS_RETRY_MODE: "adaptive"
|
|
||||||
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
generate-matrix:
|
generate-matrix:
|
||||||
name: Generate Package Test Matrix
|
name: Test Pkg Matrix
|
||||||
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
||||||
outputs:
|
outputs:
|
||||||
pkg-matrix-include: ${{ steps.generate-pkg-matrix.outputs.matrix }}
|
pkg-matrix-include: ${{ steps.generate-pkg-matrix.outputs.matrix }}
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
@ -88,88 +91,12 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
tools ci pkg-matrix ${{ inputs.distro-slug }} ${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }}
|
tools ci pkg-matrix ${{ inputs.distro-slug }} ${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }}
|
||||||
|
|
||||||
dependencies:
|
|
||||||
name: Setup Test Dependencies
|
|
||||||
needs:
|
|
||||||
- generate-matrix
|
|
||||||
runs-on: ${{ inputs.distro-slug }}
|
|
||||||
timeout-minutes: 90
|
|
||||||
steps:
|
|
||||||
- name: Checkout Source Code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Cache nox.${{ inputs.distro-slug }}.tar.* for session ${{ inputs.nox-session }}
|
|
||||||
id: nox-dependencies-cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
path: artifacts/
|
|
||||||
|
|
||||||
- name: Decompress Onedir Tarball
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
|
|
||||||
cd artifacts
|
|
||||||
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
|
|
||||||
- name: Set up Python ${{ inputs.python-version }}
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: actions/setup-python@v4
|
|
||||||
with:
|
|
||||||
python-version: "${{ inputs.python-version }}"
|
|
||||||
|
|
||||||
- name: Install System Dependencies
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
brew install openssl@3
|
|
||||||
|
|
||||||
- name: Install Nox
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
python3 -m pip install 'nox==${{ inputs.nox-version }}'
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
env:
|
|
||||||
PRINT_TEST_SELECTION: "0"
|
|
||||||
PRINT_SYSTEM_INFO: "0"
|
|
||||||
run: |
|
|
||||||
export PYCURL_SSL_LIBRARY=openssl
|
|
||||||
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
|
|
||||||
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
|
|
||||||
export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
|
|
||||||
nox --force-color --install-only -e ${{ inputs.nox-session }}
|
|
||||||
|
|
||||||
- name: Cleanup .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
nox --force-color -e "pre-archive-cleanup(pkg=False)"
|
|
||||||
|
|
||||||
- name: Compress .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
nox --force-color -e compress-dependencies -- ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Upload Nox Requirements Tarball
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: nox-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ inputs.arch }}
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: Test
|
name: Test Pkg
|
||||||
runs-on: ${{ inputs.distro-slug }}
|
runs-on: ${{ inputs.distro-slug }}
|
||||||
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
||||||
needs:
|
needs:
|
||||||
- dependencies
|
|
||||||
- generate-matrix
|
- generate-matrix
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -178,7 +105,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Packages
|
- name: Download Packages
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
|
@ -220,7 +147,9 @@ jobs:
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
||||||
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{
|
||||||
|
hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py')
|
||||||
|
}}
|
||||||
# If we get a cache miss here it means the dependencies step failed to save the cache
|
# If we get a cache miss here it means the dependencies step failed to save the cache
|
||||||
fail-on-cache-miss: true
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
@ -237,7 +166,7 @@ jobs:
|
||||||
GITHUB_ACTIONS_PIPELINE: "1"
|
GITHUB_ACTIONS_PIPELINE: "1"
|
||||||
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
|
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.test-chunk }} \
|
sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.test-chunk }} \
|
||||||
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
|
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
|
||||||
|
|
||||||
- name: Run Package Tests
|
- name: Run Package Tests
|
||||||
|
@ -251,7 +180,7 @@ jobs:
|
||||||
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
|
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
|
||||||
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.test-chunk }} \
|
sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.test-chunk }} \
|
||||||
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
|
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
|
||||||
|
|
||||||
- name: Fix file ownership
|
- name: Fix file ownership
|
||||||
|
@ -278,7 +207,7 @@ jobs:
|
||||||
!artifacts/salt-*.tar.*
|
!artifacts/salt-*.tar.*
|
||||||
|
|
||||||
report:
|
report:
|
||||||
name: Reports for ${{ inputs.distro-slug }}(${{ matrix.test-chunk }})
|
name: Test Pkg Reports
|
||||||
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
||||||
if: always() && (inputs.skip-code-coverage == false || inputs.skip-junit-reports == false) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
if: always() && (inputs.skip-code-coverage == false || inputs.skip-junit-reports == false) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
|
||||||
needs:
|
needs:
|
||||||
|
@ -291,7 +220,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Test Run Artifacts
|
- name: Download Test Run Artifacts
|
||||||
id: download-test-run-artifacts
|
id: download-test-run-artifacts
|
||||||
|
|
144
.github/workflows/test-packages-action.yml
vendored
144
.github/workflows/test-packages-action.yml
vendored
|
@ -35,6 +35,11 @@ on:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
description: The nox version to install
|
description: The nox version to install
|
||||||
|
python-version:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
description: The python version to run tests with
|
||||||
|
default: "3.10"
|
||||||
package-name:
|
package-name:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
@ -44,7 +49,7 @@ on:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
description: The nox session to run
|
description: The nox session to run
|
||||||
default: test-pkgs-onedir
|
default: ci-test-onedir
|
||||||
skip-code-coverage:
|
skip-code-coverage:
|
||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
|
@ -56,9 +61,8 @@ on:
|
||||||
description: Skip Publishing JUnit Reports
|
description: Skip Publishing JUnit Reports
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
COLUMNS: 160
|
COLUMNS: 190
|
||||||
AWS_MAX_ATTEMPTS: "10"
|
AWS_MAX_ATTEMPTS: "10"
|
||||||
AWS_RETRY_MODE: "adaptive"
|
AWS_RETRY_MODE: "adaptive"
|
||||||
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
|
||||||
|
@ -67,7 +71,7 @@ env:
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
generate-matrix:
|
generate-matrix:
|
||||||
name: Generate Package Test Matrix
|
name: Test ${{ inputs.pkg-type }} Pkg Matrix
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- linux
|
- linux
|
||||||
|
@ -75,8 +79,14 @@ jobs:
|
||||||
outputs:
|
outputs:
|
||||||
pkg-matrix-include: ${{ steps.generate-pkg-matrix.outputs.matrix }}
|
pkg-matrix-include: ${{ steps.generate-pkg-matrix.outputs.matrix }}
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
|
- name: "Throttle Builds"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
|
||||||
|
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
- name: Setup Python Tools Scripts
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
uses: ./.github/actions/setup-python-tools-scripts
|
||||||
|
@ -86,110 +96,9 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
tools ci pkg-matrix ${{ inputs.distro-slug }} ${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }}
|
tools ci pkg-matrix ${{ inputs.distro-slug }} ${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }}
|
||||||
|
|
||||||
dependencies:
|
|
||||||
name: Setup Test Dependencies
|
|
||||||
needs:
|
|
||||||
- generate-matrix
|
|
||||||
runs-on:
|
|
||||||
- self-hosted
|
|
||||||
- linux
|
|
||||||
- bastion
|
|
||||||
timeout-minutes: 90
|
|
||||||
steps:
|
|
||||||
- name: Checkout Source Code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Cache nox.${{ inputs.distro-slug }}.tar.* for session ${{ inputs.nox-session }}
|
|
||||||
id: nox-dependencies-cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
|
||||||
|
|
||||||
- name: Download Onedir Tarball as an Artifact
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
path: artifacts/
|
|
||||||
|
|
||||||
- name: Decompress Onedir Tarball
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
|
|
||||||
cd artifacts
|
|
||||||
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
|
|
||||||
|
|
||||||
- name: Setup Python Tools Scripts
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: ./.github/actions/setup-python-tools-scripts
|
|
||||||
|
|
||||||
- name: Get Salt Project GitHub Actions Bot Environment
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
|
|
||||||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
|
|
||||||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
|
|
||||||
|
|
||||||
- name: Start VM
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
id: spin-up-vm
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: List Free Space
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- df -h || true
|
|
||||||
|
|
||||||
- name: Upload Checkout To VM
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm rsync ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm install-dependencies --nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Cleanup .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm pre-archive-cleanup ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Compress .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm compress-dependencies ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Download Compressed .nox Directory
|
|
||||||
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm download-dependencies ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Destroy VM
|
|
||||||
if: always() && steps.nox-dependencies-cache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
tools --timestamps vm destroy --no-wait ${{ inputs.distro-slug }}
|
|
||||||
|
|
||||||
- name: Define Nox Upload Artifact Name
|
|
||||||
id: nox-artifact-name
|
|
||||||
run: |
|
|
||||||
if [ "${{ contains(inputs.distro-slug, 'windows') }}" != "true" ]; then
|
|
||||||
echo "name=nox-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ inputs.arch }}" >> "${GITHUB_OUTPUT}"
|
|
||||||
else
|
|
||||||
echo "name=nox-${{ inputs.distro-slug }}-${{ inputs.pkg-type }}-${{ inputs.nox-session }}-${{ inputs.arch }}" >> "${GITHUB_OUTPUT}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Upload Nox Requirements Tarball
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ steps.nox-artifact-name.outputs.name }}
|
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: Test
|
name: Test Pkg
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- linux
|
- linux
|
||||||
|
@ -197,7 +106,6 @@ jobs:
|
||||||
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
||||||
needs:
|
needs:
|
||||||
- generate-matrix
|
- generate-matrix
|
||||||
- dependencies
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -205,7 +113,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Packages
|
- name: Download Packages
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
|
@ -234,7 +142,9 @@ jobs:
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: nox.${{ inputs.distro-slug }}.tar.*
|
path: nox.${{ inputs.distro-slug }}.tar.*
|
||||||
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py') }}
|
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ inputs.arch }}|${{ inputs.distro-slug }}|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{
|
||||||
|
hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py')
|
||||||
|
}}
|
||||||
# If we get a cache miss here it means the dependencies step failed to save the cache
|
# If we get a cache miss here it means the dependencies step failed to save the cache
|
||||||
fail-on-cache-miss: true
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
@ -264,16 +174,22 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps vm decompress-dependencies ${{ inputs.distro-slug }}
|
tools --timestamps vm decompress-dependencies ${{ inputs.distro-slug }}
|
||||||
|
|
||||||
|
- name: Downgrade importlib-metadata
|
||||||
|
if: ${{ contains(fromJSON('["amazonlinux-2", "centos-7", "debian-10"]'), inputs.distro-slug) && contains(fromJSON('["upgrade-classic", "downgrade-classic"]'), matrix.test-chunk) }}
|
||||||
|
run: |
|
||||||
|
# This step can go away once we stop testing classic packages upgrade/downgrades to/from 3005.x
|
||||||
|
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- "sudo python3 -m pip install -U 'importlib-metadata<=4.13.0' 'virtualenv<=20.21.1'"
|
||||||
|
|
||||||
- name: Show System Info & Test Plan
|
- name: Show System Info & Test Plan
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --timeout-secs=1800 vm testplan --skip-requirements-install \
|
tools --timestamps --timeout-secs=1800 vm testplan --skip-requirements-install \
|
||||||
--nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }} -- ${{ matrix.test-chunk }} \
|
--nox-session=${{ inputs.nox-session }}-pkgs ${{ inputs.distro-slug }} -- ${{ matrix.test-chunk }} \
|
||||||
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
|
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
|
||||||
|
|
||||||
- name: Run Package Tests
|
- name: Run Package Tests
|
||||||
run: |
|
run: |
|
||||||
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
|
||||||
--nox-session=${{ inputs.nox-session }} --rerun-failures ${{ inputs.distro-slug }} -- ${{ matrix.test-chunk }} \
|
--nox-session=${{ inputs.nox-session }}-pkgs --rerun-failures ${{ inputs.distro-slug }} -- ${{ matrix.test-chunk }} \
|
||||||
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
|
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
|
||||||
|
|
||||||
- name: Download Test Run Artifacts
|
- name: Download Test Run Artifacts
|
||||||
|
@ -302,7 +218,7 @@ jobs:
|
||||||
!artifacts/salt-*.tar.*
|
!artifacts/salt-*.tar.*
|
||||||
|
|
||||||
report:
|
report:
|
||||||
name: Reports for ${{ inputs.distro-slug }}(${{ matrix.test-chunk }})
|
name: Test Pkg Reports
|
||||||
runs-on:
|
runs-on:
|
||||||
- self-hosted
|
- self-hosted
|
||||||
- linux
|
- linux
|
||||||
|
@ -318,7 +234,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Code
|
- name: Checkout Source Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download Test Run Artifacts
|
- name: Download Test Run Artifacts
|
||||||
id: download-test-run-artifacts
|
id: download-test-run-artifacts
|
||||||
|
|
2
.github/workflows/triage.yml
vendored
2
.github/workflows/triage.yml
vendored
|
@ -25,7 +25,7 @@ jobs:
|
||||||
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
runs-on: ${{ github.event.repository.private && fromJSON('["self-hosted", "linux", "x86_64"]') || 'ubuntu-latest' }}
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
|
|
|
@ -103,7 +103,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -119,7 +118,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -135,7 +133,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -150,6 +147,7 @@ repos:
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
|
- --build-isolation
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -165,7 +163,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -181,7 +178,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -197,7 +193,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -212,10 +207,12 @@ repos:
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
|
- --build-isolation
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
- --include=requirements/zeromq.txt
|
- --include=requirements/zeromq.txt
|
||||||
|
- --no-emit-index-url
|
||||||
- requirements/static/pkg/freebsd.in
|
- requirements/static/pkg/freebsd.in
|
||||||
|
|
||||||
- id: pip-tools-compile
|
- id: pip-tools-compile
|
||||||
|
@ -226,7 +223,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=darwin
|
- --platform=darwin
|
||||||
- --include=requirements/darwin.txt
|
- --include=requirements/darwin.txt
|
||||||
|
@ -241,7 +237,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=darwin
|
- --platform=darwin
|
||||||
- --include=requirements/darwin.txt
|
- --include=requirements/darwin.txt
|
||||||
|
@ -255,6 +250,7 @@ repos:
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
|
- --build-isolation
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=darwin
|
- --platform=darwin
|
||||||
- --include=requirements/darwin.txt
|
- --include=requirements/darwin.txt
|
||||||
|
@ -269,7 +265,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --include=requirements/windows.txt
|
- --include=requirements/windows.txt
|
||||||
|
@ -284,7 +279,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --include=requirements/windows.txt
|
- --include=requirements/windows.txt
|
||||||
|
@ -299,7 +293,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --include=requirements/windows.txt
|
- --include=requirements/windows.txt
|
||||||
|
@ -313,9 +306,11 @@ repos:
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
|
- --build-isolation
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --include=requirements/windows.txt
|
- --include=requirements/windows.txt
|
||||||
|
- --no-emit-index-url
|
||||||
- requirements/static/pkg/windows.in
|
- requirements/static/pkg/windows.in
|
||||||
|
|
||||||
# <---- Packaging Requirements -------------------------------------------------------------------------------------
|
# <---- Packaging Requirements -------------------------------------------------------------------------------------
|
||||||
|
@ -324,12 +319,11 @@ repos:
|
||||||
- id: pip-tools-compile
|
- id: pip-tools-compile
|
||||||
alias: compile-ci-linux-3.8-zmq-requirements
|
alias: compile-ci-linux-3.8-zmq-requirements
|
||||||
name: Linux CI Py3.8 ZeroMQ Requirements
|
name: Linux CI Py3.8 ZeroMQ Requirements
|
||||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in|py3\.8/linux\.txt)))$
|
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.8/linux\.txt))$
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -343,12 +337,11 @@ repos:
|
||||||
- id: pip-tools-compile
|
- id: pip-tools-compile
|
||||||
alias: compile-ci-linux-3.9-zmq-requirements
|
alias: compile-ci-linux-3.9-zmq-requirements
|
||||||
name: Linux CI Py3.9 ZeroMQ Requirements
|
name: Linux CI Py3.9 ZeroMQ Requirements
|
||||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in|py3\.9/linux\.txt)))$
|
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.9/linux\.txt))$
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -362,12 +355,11 @@ repos:
|
||||||
- id: pip-tools-compile
|
- id: pip-tools-compile
|
||||||
alias: compile-ci-linux-3.10-zmq-requirements
|
alias: compile-ci-linux-3.10-zmq-requirements
|
||||||
name: Linux CI Py3.10 ZeroMQ Requirements
|
name: Linux CI Py3.10 ZeroMQ Requirements
|
||||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in|py3\.10/linux\.txt)))$
|
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.10/linux\.txt))$
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -381,12 +373,11 @@ repos:
|
||||||
- id: pip-tools-compile
|
- id: pip-tools-compile
|
||||||
alias: compile-ci-linux-3.11-zmq-requirements
|
alias: compile-ci-linux-3.11-zmq-requirements
|
||||||
name: Linux CI Py3.11 ZeroMQ Requirements
|
name: Linux CI Py3.11 ZeroMQ Requirements
|
||||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in|py3\.11/linux\.txt)))$
|
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.11/linux\.txt))$
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -405,7 +396,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --out-prefix=linux
|
- --out-prefix=linux
|
||||||
|
@ -420,7 +410,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --out-prefix=linux
|
- --out-prefix=linux
|
||||||
|
@ -430,13 +419,11 @@ repos:
|
||||||
- id: pip-tools-compile
|
- id: pip-tools-compile
|
||||||
alias: compile-ci-linux-crypto-3.10-requirements
|
alias: compile-ci-linux-crypto-3.10-requirements
|
||||||
name: Linux CI Py3.10 Crypto Requirements
|
name: Linux CI Py3.10 Crypto Requirements
|
||||||
files: ^requirements/(crypto\.txt|static/ci/crypto\.in)$
|
|
||||||
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/linux-crypto\.txt))$
|
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/linux-crypto\.txt))$
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --out-prefix=linux
|
- --out-prefix=linux
|
||||||
|
@ -446,13 +433,11 @@ repos:
|
||||||
- id: pip-tools-compile
|
- id: pip-tools-compile
|
||||||
alias: compile-ci-linux-crypto-3.11-requirements
|
alias: compile-ci-linux-crypto-3.11-requirements
|
||||||
name: Linux CI Py3.11 Crypto Requirements
|
name: Linux CI Py3.11 Crypto Requirements
|
||||||
files: ^requirements/(crypto\.txt|static/ci/crypto\.in)$
|
|
||||||
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.11/linux-crypto\.txt))$
|
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.11/linux-crypto\.txt))$
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --out-prefix=linux
|
- --out-prefix=linux
|
||||||
|
@ -467,7 +452,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -486,7 +470,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -505,7 +488,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -524,7 +506,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --include=requirements/base.txt
|
- --include=requirements/base.txt
|
||||||
|
@ -543,7 +524,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --out-prefix=freebsd
|
- --out-prefix=freebsd
|
||||||
|
@ -558,7 +538,7 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
- --build-isolation
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --out-prefix=freebsd
|
- --out-prefix=freebsd
|
||||||
|
@ -574,7 +554,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --out-prefix=freebsd
|
- --out-prefix=freebsd
|
||||||
|
@ -590,10 +569,10 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=freebsd
|
- --platform=freebsd
|
||||||
- --out-prefix=freebsd
|
- --out-prefix=freebsd
|
||||||
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/crypto.in
|
- requirements/static/ci/crypto.in
|
||||||
|
|
||||||
- id: pip-tools-compile
|
- id: pip-tools-compile
|
||||||
|
@ -604,7 +583,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=darwin
|
- --platform=darwin
|
||||||
- --include=requirements/darwin.txt
|
- --include=requirements/darwin.txt
|
||||||
|
@ -622,7 +600,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=darwin
|
- --platform=darwin
|
||||||
- --include=requirements/darwin.txt
|
- --include=requirements/darwin.txt
|
||||||
|
@ -640,13 +617,13 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=darwin
|
- --platform=darwin
|
||||||
- --include=requirements/darwin.txt
|
- --include=requirements/darwin.txt
|
||||||
- --include=requirements/pytest.txt
|
- --include=requirements/pytest.txt
|
||||||
- --include=requirements/static/pkg/darwin.in
|
- --include=requirements/static/pkg/darwin.in
|
||||||
- --include=requirements/static/ci/common.in
|
- --include=requirements/static/ci/common.in
|
||||||
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/darwin.in
|
- requirements/static/ci/darwin.in
|
||||||
|
|
||||||
- id: pip-tools-compile
|
- id: pip-tools-compile
|
||||||
|
@ -657,7 +634,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=darwin
|
- --platform=darwin
|
||||||
- --out-prefix=darwin
|
- --out-prefix=darwin
|
||||||
|
@ -672,7 +648,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=darwin
|
- --platform=darwin
|
||||||
- --out-prefix=darwin
|
- --out-prefix=darwin
|
||||||
|
@ -687,7 +662,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=darwin
|
- --platform=darwin
|
||||||
- --out-prefix=darwin
|
- --out-prefix=darwin
|
||||||
|
@ -702,7 +676,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --include=requirements/windows.txt
|
- --include=requirements/windows.txt
|
||||||
|
@ -720,7 +693,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --include=requirements/windows.txt
|
- --include=requirements/windows.txt
|
||||||
|
@ -738,7 +710,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --include=requirements/windows.txt
|
- --include=requirements/windows.txt
|
||||||
|
@ -756,7 +727,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --include=requirements/windows.txt
|
- --include=requirements/windows.txt
|
||||||
|
@ -774,7 +744,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --out-prefix=windows
|
- --out-prefix=windows
|
||||||
|
@ -789,7 +758,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --out-prefix=windows
|
- --out-prefix=windows
|
||||||
|
@ -804,7 +772,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --out-prefix=windows
|
- --out-prefix=windows
|
||||||
|
@ -819,10 +786,10 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=windows
|
- --platform=windows
|
||||||
- --out-prefix=windows
|
- --out-prefix=windows
|
||||||
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/crypto.in
|
- requirements/static/ci/crypto.in
|
||||||
|
|
||||||
# <---- CI Requirements --------------------------------------------------------------------------------------------
|
# <---- CI Requirements --------------------------------------------------------------------------------------------
|
||||||
|
@ -837,7 +804,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/cloud.in
|
- requirements/static/ci/cloud.in
|
||||||
|
@ -850,7 +816,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/cloud.in
|
- requirements/static/ci/cloud.in
|
||||||
|
@ -863,7 +828,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/cloud.in
|
- requirements/static/ci/cloud.in
|
||||||
|
@ -876,7 +840,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/cloud.in
|
- requirements/static/ci/cloud.in
|
||||||
|
@ -891,7 +854,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -905,7 +867,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -919,7 +880,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -933,8 +893,8 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
|
- --no-emit-index-url
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- requirements/static/ci/docs.in
|
- requirements/static/ci/docs.in
|
||||||
# <---- Doc CI Requirements ----------------------------------------------------------------------------------------
|
# <---- Doc CI Requirements ----------------------------------------------------------------------------------------
|
||||||
|
@ -948,7 +908,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -962,7 +921,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -976,7 +934,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -990,7 +947,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -1007,7 +963,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -1021,7 +976,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -1035,7 +989,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -1049,7 +1002,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --platform=linux
|
- --platform=linux
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
|
@ -1065,7 +1017,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.8
|
- --py-version=3.8
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/invoke.in
|
- requirements/static/ci/invoke.in
|
||||||
|
@ -1078,7 +1029,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/invoke.in
|
- requirements/static/ci/invoke.in
|
||||||
|
@ -1091,68 +1041,11 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/invoke.in
|
- requirements/static/ci/invoke.in
|
||||||
# <---- Invoke -----------------------------------------------------------------------------------------------------
|
# <---- Invoke -----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
# <---- PKG ci requirements-----------------------------------------------------------------------------------------
|
|
||||||
- id: pip-tools-compile
|
|
||||||
alias: compile-ci-pkg-3.10-requirements
|
|
||||||
name: PKG tests CI Py3.10 Requirements
|
|
||||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((pkgtests|common)\.in|py3\.10/pkgtests\.in)))$
|
|
||||||
pass_filenames: false
|
|
||||||
args:
|
|
||||||
- -v
|
|
||||||
- --py-version=3.10
|
|
||||||
- --platform=linux
|
|
||||||
- --include=requirements/base.txt
|
|
||||||
- --include=requirements/zeromq.txt
|
|
||||||
- requirements/static/ci/pkgtests.in
|
|
||||||
|
|
||||||
- id: pip-tools-compile
|
|
||||||
alias: compile-ci-windows-pkg-3.10-requirements
|
|
||||||
name: PKG tests Windows CI Py3.10 Requirements
|
|
||||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((pkgtests-windows|common)\.in|py3\.10/pkgtests-windows\.in)))$
|
|
||||||
pass_filenames: false
|
|
||||||
args:
|
|
||||||
- -v
|
|
||||||
- --py-version=3.10
|
|
||||||
- --platform=windows
|
|
||||||
- --include=requirements/base.txt
|
|
||||||
- --include=requirements/zeromq.txt
|
|
||||||
- requirements/static/ci/pkgtests-windows.in
|
|
||||||
|
|
||||||
- id: pip-tools-compile
|
|
||||||
alias: compile-ci-pkg-3.11-requirements
|
|
||||||
name: PKG tests CI Py3.11 Requirements
|
|
||||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((pkgtests|common)\.in|py3\.11/pkgtests\.in)))$
|
|
||||||
pass_filenames: false
|
|
||||||
args:
|
|
||||||
- -v
|
|
||||||
- --py-version=3.11
|
|
||||||
- --platform=linux
|
|
||||||
- --include=requirements/base.txt
|
|
||||||
- --include=requirements/zeromq.txt
|
|
||||||
- requirements/static/ci/pkgtests.in
|
|
||||||
|
|
||||||
- id: pip-tools-compile
|
|
||||||
alias: compile-ci-windows-pkg-3.11-requirements
|
|
||||||
name: PKG tests Windows CI Py3.11 Requirements
|
|
||||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((pkgtests-windows|common)\.in|py3\.11/pkgtests-windows\.in)))$
|
|
||||||
pass_filenames: false
|
|
||||||
args:
|
|
||||||
- -v
|
|
||||||
- --py-version=3.11
|
|
||||||
- --platform=windows
|
|
||||||
- --include=requirements/base.txt
|
|
||||||
- --include=requirements/zeromq.txt
|
|
||||||
- requirements/static/ci/pkgtests-windows.in
|
|
||||||
|
|
||||||
# <---- PKG ci requirements-----------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
# ----- Tools ---------------------------------------------------------------------------------------------------->
|
# ----- Tools ---------------------------------------------------------------------------------------------------->
|
||||||
- id: pip-tools-compile
|
- id: pip-tools-compile
|
||||||
alias: compile-ci-tools-3.9-requirements
|
alias: compile-ci-tools-3.9-requirements
|
||||||
|
@ -1162,7 +1055,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.9
|
- --py-version=3.9
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/tools.in
|
- requirements/static/ci/tools.in
|
||||||
|
@ -1175,7 +1067,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.10
|
- --py-version=3.10
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/tools.in
|
- requirements/static/ci/tools.in
|
||||||
|
@ -1188,7 +1079,6 @@ repos:
|
||||||
args:
|
args:
|
||||||
- -v
|
- -v
|
||||||
- --build-isolation
|
- --build-isolation
|
||||||
# - --resolver=backtracking
|
|
||||||
- --py-version=3.11
|
- --py-version=3.11
|
||||||
- --no-emit-index-url
|
- --no-emit-index-url
|
||||||
- requirements/static/ci/tools.in
|
- requirements/static/ci/tools.in
|
||||||
|
|
1
changelog/38098.fixed.md
Normal file
1
changelog/38098.fixed.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Improved error message when state arguments are accidentally passed as a string
|
|
@ -1 +1 @@
|
||||||
centosstream-9-x86_64: ami-0dfa940714a95b497
|
centosstream-9-x86_64: ami-091986d83f4c0bdd7
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
nox_version: "2022.8.7"
|
nox_version: "2022.8.7"
|
||||||
python_version: "3.10.13"
|
python_version: "3.10.13"
|
||||||
relenv_version: "0.13.10"
|
relenv_version: "0.13.11"
|
||||||
release-branches:
|
release-branches:
|
||||||
- "3006.x"
|
- "3006.x"
|
||||||
|
|
136
noxfile.py
136
noxfile.py
|
@ -13,7 +13,6 @@ import os
|
||||||
import pathlib
|
import pathlib
|
||||||
import shutil
|
import shutil
|
||||||
import sqlite3
|
import sqlite3
|
||||||
import subprocess
|
|
||||||
import sys
|
import sys
|
||||||
import tarfile
|
import tarfile
|
||||||
import tempfile
|
import tempfile
|
||||||
|
@ -190,21 +189,12 @@ def _get_pydir(session):
|
||||||
return "py{}.{}".format(*version_info)
|
return "py{}.{}".format(*version_info)
|
||||||
|
|
||||||
|
|
||||||
def _get_pip_requirements_file(session, transport, crypto=None, requirements_type="ci"):
|
def _get_pip_requirements_file(session, crypto=None, requirements_type="ci"):
|
||||||
assert requirements_type in ("ci", "pkg")
|
assert requirements_type in ("ci", "pkg")
|
||||||
pydir = _get_pydir(session)
|
pydir = _get_pydir(session)
|
||||||
|
|
||||||
if IS_WINDOWS:
|
if IS_WINDOWS:
|
||||||
if crypto is None:
|
if crypto is None:
|
||||||
_requirements_file = os.path.join(
|
|
||||||
"requirements",
|
|
||||||
"static",
|
|
||||||
requirements_type,
|
|
||||||
pydir,
|
|
||||||
f"{transport}-windows.txt",
|
|
||||||
)
|
|
||||||
if os.path.exists(_requirements_file):
|
|
||||||
return _requirements_file
|
|
||||||
_requirements_file = os.path.join(
|
_requirements_file = os.path.join(
|
||||||
"requirements", "static", requirements_type, pydir, "windows.txt"
|
"requirements", "static", requirements_type, pydir, "windows.txt"
|
||||||
)
|
)
|
||||||
|
@ -218,15 +208,6 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
|
||||||
session.error(f"Could not find a windows requirements file for {pydir}")
|
session.error(f"Could not find a windows requirements file for {pydir}")
|
||||||
elif IS_DARWIN:
|
elif IS_DARWIN:
|
||||||
if crypto is None:
|
if crypto is None:
|
||||||
_requirements_file = os.path.join(
|
|
||||||
"requirements",
|
|
||||||
"static",
|
|
||||||
requirements_type,
|
|
||||||
pydir,
|
|
||||||
f"{transport}-darwin.txt",
|
|
||||||
)
|
|
||||||
if os.path.exists(_requirements_file):
|
|
||||||
return _requirements_file
|
|
||||||
_requirements_file = os.path.join(
|
_requirements_file = os.path.join(
|
||||||
"requirements", "static", requirements_type, pydir, "darwin.txt"
|
"requirements", "static", requirements_type, pydir, "darwin.txt"
|
||||||
)
|
)
|
||||||
|
@ -240,15 +221,6 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
|
||||||
session.error(f"Could not find a darwin requirements file for {pydir}")
|
session.error(f"Could not find a darwin requirements file for {pydir}")
|
||||||
elif IS_FREEBSD:
|
elif IS_FREEBSD:
|
||||||
if crypto is None:
|
if crypto is None:
|
||||||
_requirements_file = os.path.join(
|
|
||||||
"requirements",
|
|
||||||
"static",
|
|
||||||
requirements_type,
|
|
||||||
pydir,
|
|
||||||
f"{transport}-freebsd.txt",
|
|
||||||
)
|
|
||||||
if os.path.exists(_requirements_file):
|
|
||||||
return _requirements_file
|
|
||||||
_requirements_file = os.path.join(
|
_requirements_file = os.path.join(
|
||||||
"requirements", "static", requirements_type, pydir, "freebsd.txt"
|
"requirements", "static", requirements_type, pydir, "freebsd.txt"
|
||||||
)
|
)
|
||||||
|
@ -262,15 +234,6 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
|
||||||
session.error(f"Could not find a freebsd requirements file for {pydir}")
|
session.error(f"Could not find a freebsd requirements file for {pydir}")
|
||||||
else:
|
else:
|
||||||
if crypto is None:
|
if crypto is None:
|
||||||
_requirements_file = os.path.join(
|
|
||||||
"requirements",
|
|
||||||
"static",
|
|
||||||
requirements_type,
|
|
||||||
pydir,
|
|
||||||
f"{transport}-linux.txt",
|
|
||||||
)
|
|
||||||
if os.path.exists(_requirements_file):
|
|
||||||
return _requirements_file
|
|
||||||
_requirements_file = os.path.join(
|
_requirements_file = os.path.join(
|
||||||
"requirements", "static", requirements_type, pydir, "linux.txt"
|
"requirements", "static", requirements_type, pydir, "linux.txt"
|
||||||
)
|
)
|
||||||
|
@ -319,7 +282,6 @@ def _upgrade_pip_setuptools_and_wheel(session, upgrade=True, onedir=False):
|
||||||
|
|
||||||
def _install_requirements(
|
def _install_requirements(
|
||||||
session,
|
session,
|
||||||
transport,
|
|
||||||
*extra_requirements,
|
*extra_requirements,
|
||||||
requirements_type="ci",
|
requirements_type="ci",
|
||||||
onedir=False,
|
onedir=False,
|
||||||
|
@ -332,7 +294,7 @@ def _install_requirements(
|
||||||
|
|
||||||
# Install requirements
|
# Install requirements
|
||||||
requirements_file = _get_pip_requirements_file(
|
requirements_file = _get_pip_requirements_file(
|
||||||
session, transport, requirements_type=requirements_type
|
session, requirements_type=requirements_type
|
||||||
)
|
)
|
||||||
install_command = ["--progress-bar=off", "-r", requirements_file]
|
install_command = ["--progress-bar=off", "-r", requirements_file]
|
||||||
session.install(*install_command, silent=PIP_INSTALL_SILENT)
|
session.install(*install_command, silent=PIP_INSTALL_SILENT)
|
||||||
|
@ -361,7 +323,19 @@ def _install_coverage_requirement(session):
|
||||||
if SKIP_REQUIREMENTS_INSTALL is False:
|
if SKIP_REQUIREMENTS_INSTALL is False:
|
||||||
coverage_requirement = COVERAGE_REQUIREMENT
|
coverage_requirement = COVERAGE_REQUIREMENT
|
||||||
if coverage_requirement is None:
|
if coverage_requirement is None:
|
||||||
coverage_requirement = "coverage==5.2"
|
coverage_requirement = "coverage==7.3.1"
|
||||||
|
if IS_LINUX:
|
||||||
|
distro_slug = os.environ.get("TOOLS_DISTRO_SLUG")
|
||||||
|
if distro_slug is not None and distro_slug in (
|
||||||
|
"centos-7",
|
||||||
|
"debian-10",
|
||||||
|
"photonos-3",
|
||||||
|
):
|
||||||
|
# Keep the old coverage requirement version since the new one, on these
|
||||||
|
# plaforms turns the test suite quite slow.
|
||||||
|
# Unit tests don't finish before the 5 hours timeout when they should
|
||||||
|
# finish within 1 to 2 hours.
|
||||||
|
coverage_requirement = "coverage==5.2"
|
||||||
session.install(
|
session.install(
|
||||||
"--progress-bar=off", coverage_requirement, silent=PIP_INSTALL_SILENT
|
"--progress-bar=off", coverage_requirement, silent=PIP_INSTALL_SILENT
|
||||||
)
|
)
|
||||||
|
@ -567,7 +541,7 @@ def test_parametrized(session, coverage, transport, crypto):
|
||||||
DO NOT CALL THIS NOX SESSION DIRECTLY
|
DO NOT CALL THIS NOX SESSION DIRECTLY
|
||||||
"""
|
"""
|
||||||
# Install requirements
|
# Install requirements
|
||||||
if _install_requirements(session, transport):
|
if _install_requirements(session):
|
||||||
|
|
||||||
if crypto:
|
if crypto:
|
||||||
session_run_always(
|
session_run_always(
|
||||||
|
@ -584,7 +558,7 @@ def test_parametrized(session, coverage, transport, crypto):
|
||||||
install_command = [
|
install_command = [
|
||||||
"--progress-bar=off",
|
"--progress-bar=off",
|
||||||
"--constraint",
|
"--constraint",
|
||||||
_get_pip_requirements_file(session, transport, crypto=True),
|
_get_pip_requirements_file(session, crypto=True),
|
||||||
]
|
]
|
||||||
install_command.append(crypto)
|
install_command.append(crypto)
|
||||||
session.install(*install_command, silent=PIP_INSTALL_SILENT)
|
session.install(*install_command, silent=PIP_INSTALL_SILENT)
|
||||||
|
@ -992,7 +966,7 @@ def test_tornado(session, coverage):
|
||||||
"""
|
"""
|
||||||
# Install requirements
|
# Install requirements
|
||||||
if _upgrade_pip_setuptools_and_wheel(session):
|
if _upgrade_pip_setuptools_and_wheel(session):
|
||||||
_install_requirements(session, "zeromq")
|
_install_requirements(session)
|
||||||
session.install(
|
session.install(
|
||||||
"--progress-bar=off", "tornado==5.0.2", silent=PIP_INSTALL_SILENT
|
"--progress-bar=off", "tornado==5.0.2", silent=PIP_INSTALL_SILENT
|
||||||
)
|
)
|
||||||
|
@ -1083,7 +1057,7 @@ def _pytest(session, coverage, cmd_args, env=None, on_rerun=False):
|
||||||
|
|
||||||
def _ci_test(session, transport, onedir=False):
|
def _ci_test(session, transport, onedir=False):
|
||||||
# Install requirements
|
# Install requirements
|
||||||
_install_requirements(session, transport, onedir=onedir)
|
_install_requirements(session, onedir=onedir)
|
||||||
env = {}
|
env = {}
|
||||||
if onedir:
|
if onedir:
|
||||||
env["ONEDIR_TESTRUN"] = "1"
|
env["ONEDIR_TESTRUN"] = "1"
|
||||||
|
@ -1179,7 +1153,14 @@ def _ci_test(session, transport, onedir=False):
|
||||||
|
|
||||||
@nox.session(python=_PYTHON_VERSIONS, name="ci-test")
|
@nox.session(python=_PYTHON_VERSIONS, name="ci-test")
|
||||||
def ci_test(session):
|
def ci_test(session):
|
||||||
_ci_test(session, "zeromq")
|
transport = os.environ.get("SALT_TRANSPORT") or "zeromq"
|
||||||
|
valid_transports = ("zeromq", "tcp")
|
||||||
|
if transport not in valid_transports:
|
||||||
|
session.error(
|
||||||
|
"The value for the SALT_TRANSPORT environment variable can only be "
|
||||||
|
f"one of: {', '.join(valid_transports)}"
|
||||||
|
)
|
||||||
|
_ci_test(session, transport)
|
||||||
|
|
||||||
|
|
||||||
@nox.session(python=_PYTHON_VERSIONS, name="ci-test-tcp")
|
@nox.session(python=_PYTHON_VERSIONS, name="ci-test-tcp")
|
||||||
|
@ -1232,7 +1213,7 @@ def decompress_dependencies(session):
|
||||||
"Check cicd/images.yml for what's available."
|
"Check cicd/images.yml for what's available."
|
||||||
)
|
)
|
||||||
distro_slug = session.posargs.pop(0)
|
distro_slug = session.posargs.pop(0)
|
||||||
if IS_WINDOWS:
|
if "windows" in distro_slug:
|
||||||
nox_dependencies_tarball = f"nox.{distro_slug}.tar.gz"
|
nox_dependencies_tarball = f"nox.{distro_slug}.tar.gz"
|
||||||
else:
|
else:
|
||||||
nox_dependencies_tarball = f"nox.{distro_slug}.tar.xz"
|
nox_dependencies_tarball = f"nox.{distro_slug}.tar.xz"
|
||||||
|
@ -1249,7 +1230,7 @@ def decompress_dependencies(session):
|
||||||
|
|
||||||
session.log("Finding broken 'python' symlinks under '.nox/' ...")
|
session.log("Finding broken 'python' symlinks under '.nox/' ...")
|
||||||
for dirname in os.scandir(REPO_ROOT / ".nox"):
|
for dirname in os.scandir(REPO_ROOT / ".nox"):
|
||||||
if not IS_WINDOWS:
|
if "windows" not in distro_slug:
|
||||||
scan_path = REPO_ROOT.joinpath(".nox", dirname, "bin")
|
scan_path = REPO_ROOT.joinpath(".nox", dirname, "bin")
|
||||||
else:
|
else:
|
||||||
scan_path = REPO_ROOT.joinpath(".nox", dirname, "Scripts")
|
scan_path = REPO_ROOT.joinpath(".nox", dirname, "Scripts")
|
||||||
|
@ -1364,6 +1345,28 @@ def combine_coverage(session):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@nox.session(
|
||||||
|
python=str(ONEDIR_PYTHON_PATH),
|
||||||
|
name="combine-coverage-onedir",
|
||||||
|
venv_params=["--system-site-packages"],
|
||||||
|
)
|
||||||
|
def combine_coverage_onedir(session):
|
||||||
|
_install_coverage_requirement(session)
|
||||||
|
env = {
|
||||||
|
# The full path to the .coverage data file. Makes sure we always write
|
||||||
|
# them to the same directory
|
||||||
|
"COVERAGE_FILE": str(COVERAGE_FILE),
|
||||||
|
}
|
||||||
|
|
||||||
|
# Always combine and generate the XML coverage report
|
||||||
|
try:
|
||||||
|
session.run("coverage", "combine", env=env)
|
||||||
|
except CommandFailed:
|
||||||
|
# Sometimes some of the coverage files are corrupt which would trigger a CommandFailed
|
||||||
|
# exception
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
@nox.session(python="3", name="create-html-coverage-report")
|
@nox.session(python="3", name="create-html-coverage-report")
|
||||||
def create_html_coverage_report(session):
|
def create_html_coverage_report(session):
|
||||||
_install_coverage_requirement(session)
|
_install_coverage_requirement(session)
|
||||||
|
@ -1702,7 +1705,7 @@ def invoke(session):
|
||||||
Run invoke tasks
|
Run invoke tasks
|
||||||
"""
|
"""
|
||||||
if _upgrade_pip_setuptools_and_wheel(session):
|
if _upgrade_pip_setuptools_and_wheel(session):
|
||||||
_install_requirements(session, "zeromq")
|
_install_requirements(session)
|
||||||
requirements_file = os.path.join(
|
requirements_file = os.path.join(
|
||||||
"requirements", "static", "ci", _get_pydir(session), "invoke.txt"
|
"requirements", "static", "ci", _get_pydir(session), "invoke.txt"
|
||||||
)
|
)
|
||||||
|
@ -1866,10 +1869,25 @@ def build(session):
|
||||||
|
|
||||||
@nox.session(
|
@nox.session(
|
||||||
python=str(ONEDIR_PYTHON_PATH),
|
python=str(ONEDIR_PYTHON_PATH),
|
||||||
name="test-pkgs-onedir",
|
name="ci-test-onedir-pkgs",
|
||||||
venv_params=["--system-site-packages"],
|
venv_params=["--system-site-packages"],
|
||||||
)
|
)
|
||||||
def test_pkgs_onedir(session):
|
def ci_test_onedir_pkgs(session):
|
||||||
|
from nox.virtualenv import VirtualEnv
|
||||||
|
|
||||||
|
session_warn(session, "Replacing VirtualEnv instance...")
|
||||||
|
|
||||||
|
ci_test_onedir_path = REPO_ROOT / ".nox" / "ci-test-onedir"
|
||||||
|
session._runner.venv = VirtualEnv(
|
||||||
|
str(ci_test_onedir_path.relative_to(REPO_ROOT)),
|
||||||
|
interpreter=session._runner.func.python,
|
||||||
|
reuse_existing=True,
|
||||||
|
venv=session._runner.venv.venv_or_virtualenv == "venv",
|
||||||
|
venv_params=session._runner.venv.venv_params,
|
||||||
|
)
|
||||||
|
os.environ["VIRTUAL_ENV"] = session._runner.venv.location
|
||||||
|
session._runner.venv.create()
|
||||||
|
|
||||||
if not ONEDIR_ARTIFACT_PATH.exists():
|
if not ONEDIR_ARTIFACT_PATH.exists():
|
||||||
session.error(
|
session.error(
|
||||||
"The salt onedir artifact, expected to be in '{}', was not found".format(
|
"The salt onedir artifact, expected to be in '{}', was not found".format(
|
||||||
|
@ -1923,18 +1941,7 @@ def test_pkgs_onedir(session):
|
||||||
|
|
||||||
# Install requirements
|
# Install requirements
|
||||||
if _upgrade_pip_setuptools_and_wheel(session, onedir=True):
|
if _upgrade_pip_setuptools_and_wheel(session, onedir=True):
|
||||||
if IS_WINDOWS:
|
_install_requirements(session, "zeromq")
|
||||||
file_name = "pkgtests-windows.txt"
|
|
||||||
else:
|
|
||||||
file_name = "pkgtests.txt"
|
|
||||||
|
|
||||||
requirements_file = os.path.join(
|
|
||||||
"requirements", "static", "ci", pydir, file_name
|
|
||||||
)
|
|
||||||
|
|
||||||
install_command = ["--progress-bar=off", "-r", requirements_file]
|
|
||||||
session.install(*install_command, silent=PIP_INSTALL_SILENT)
|
|
||||||
|
|
||||||
env = {
|
env = {
|
||||||
"ONEDIR_TESTRUN": "1",
|
"ONEDIR_TESTRUN": "1",
|
||||||
"PKG_TEST_TYPE": chunk,
|
"PKG_TEST_TYPE": chunk,
|
||||||
|
@ -1942,9 +1949,6 @@ def test_pkgs_onedir(session):
|
||||||
|
|
||||||
if chunk in ("upgrade-classic", "downgrade-classic"):
|
if chunk in ("upgrade-classic", "downgrade-classic"):
|
||||||
cmd_args.append("--classic")
|
cmd_args.append("--classic")
|
||||||
# Workaround for installing and running classic packages from 3005.1
|
|
||||||
# They can only run with importlib-metadata<5.0.0.
|
|
||||||
subprocess.run(["pip3", "install", "importlib-metadata==4.13.0"], check=False)
|
|
||||||
|
|
||||||
pytest_args = (
|
pytest_args = (
|
||||||
cmd_args[:]
|
cmd_args[:]
|
||||||
|
|
|
@ -76,7 +76,7 @@ def pytest_addoption(parser):
|
||||||
"""
|
"""
|
||||||
test_selection_group = parser.getgroup("Tests Runtime Selection")
|
test_selection_group = parser.getgroup("Tests Runtime Selection")
|
||||||
test_selection_group.addoption(
|
test_selection_group.addoption(
|
||||||
"--system-service",
|
"--pkg-system-service",
|
||||||
default=False,
|
default=False,
|
||||||
action="store_true",
|
action="store_true",
|
||||||
help="Run the daemons as system services",
|
help="Run the daemons as system services",
|
||||||
|
@ -148,7 +148,7 @@ def pytest_runtest_setup(item):
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
def salt_factories_root_dir(request, tmp_path_factory):
|
def salt_factories_root_dir(request, tmp_path_factory):
|
||||||
root_dir = SaltPkgInstall.salt_factories_root_dir(
|
root_dir = SaltPkgInstall.salt_factories_root_dir(
|
||||||
request.config.getoption("--system-service")
|
request.config.getoption("--pkg-system-service")
|
||||||
)
|
)
|
||||||
if root_dir is not None:
|
if root_dir is not None:
|
||||||
yield root_dir
|
yield root_dir
|
||||||
|
@ -169,7 +169,7 @@ def salt_factories_config(salt_factories_root_dir):
|
||||||
return {
|
return {
|
||||||
"code_dir": CODE_DIR,
|
"code_dir": CODE_DIR,
|
||||||
"root_dir": salt_factories_root_dir,
|
"root_dir": salt_factories_root_dir,
|
||||||
"system_install": True,
|
"system_service": True,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ def salt_factories_config(salt_factories_root_dir):
|
||||||
def install_salt(request, salt_factories_root_dir):
|
def install_salt(request, salt_factories_root_dir):
|
||||||
with SaltPkgInstall(
|
with SaltPkgInstall(
|
||||||
conf_dir=salt_factories_root_dir / "etc" / "salt",
|
conf_dir=salt_factories_root_dir / "etc" / "salt",
|
||||||
system_service=request.config.getoption("--system-service"),
|
pkg_system_service=request.config.getoption("--pkg-system-service"),
|
||||||
upgrade=request.config.getoption("--upgrade"),
|
upgrade=request.config.getoption("--upgrade"),
|
||||||
downgrade=request.config.getoption("--downgrade"),
|
downgrade=request.config.getoption("--downgrade"),
|
||||||
no_uninstall=request.config.getoption("--no-uninstall"),
|
no_uninstall=request.config.getoption("--no-uninstall"),
|
||||||
|
@ -391,7 +391,8 @@ def salt_master(salt_factories, install_salt, state_tree, pillar_tree):
|
||||||
master_script = False
|
master_script = False
|
||||||
|
|
||||||
if master_script:
|
if master_script:
|
||||||
salt_factories.system_install = False
|
salt_factories.system_service = False
|
||||||
|
salt_factories.generate_scripts = True
|
||||||
scripts_dir = salt_factories.root_dir / "Scripts"
|
scripts_dir = salt_factories.root_dir / "Scripts"
|
||||||
scripts_dir.mkdir(exist_ok=True)
|
scripts_dir.mkdir(exist_ok=True)
|
||||||
salt_factories.scripts_dir = scripts_dir
|
salt_factories.scripts_dir = scripts_dir
|
||||||
|
@ -401,16 +402,20 @@ def salt_master(salt_factories, install_salt, state_tree, pillar_tree):
|
||||||
python_executable = install_salt.bin_dir / "python.exe"
|
python_executable = install_salt.bin_dir / "python.exe"
|
||||||
if install_salt.relenv:
|
if install_salt.relenv:
|
||||||
python_executable = install_salt.install_dir / "Scripts" / "python.exe"
|
python_executable = install_salt.install_dir / "Scripts" / "python.exe"
|
||||||
|
salt_factories.python_executable = python_executable
|
||||||
factory = salt_factories.salt_master_daemon(
|
factory = salt_factories.salt_master_daemon(
|
||||||
random_string("master-"),
|
random_string("master-"),
|
||||||
defaults=config_defaults,
|
defaults=config_defaults,
|
||||||
overrides=config_overrides,
|
overrides=config_overrides,
|
||||||
factory_class=SaltMasterWindows,
|
factory_class=SaltMasterWindows,
|
||||||
salt_pkg_install=install_salt,
|
salt_pkg_install=install_salt,
|
||||||
python_executable=python_executable,
|
|
||||||
)
|
)
|
||||||
salt_factories.system_install = True
|
salt_factories.system_service = True
|
||||||
else:
|
else:
|
||||||
|
|
||||||
|
if install_salt.classic and platform.is_darwin():
|
||||||
|
os.environ["PATH"] += ":/opt/salt/bin"
|
||||||
|
|
||||||
factory = salt_factories.salt_master_daemon(
|
factory = salt_factories.salt_master_daemon(
|
||||||
random_string("master-"),
|
random_string("master-"),
|
||||||
defaults=config_defaults,
|
defaults=config_defaults,
|
||||||
|
@ -473,11 +478,19 @@ def salt_minion(salt_factories, salt_master, install_salt):
|
||||||
"winrepo_dir_ng"
|
"winrepo_dir_ng"
|
||||||
] = rf"{salt_factories.root_dir}\srv\salt\win\repo_ng"
|
] = rf"{salt_factories.root_dir}\srv\salt\win\repo_ng"
|
||||||
config_overrides["winrepo_source_dir"] = r"salt://win/repo_ng"
|
config_overrides["winrepo_source_dir"] = r"salt://win/repo_ng"
|
||||||
|
|
||||||
|
if install_salt.classic and platform.is_windows():
|
||||||
|
salt_factories.python_executable = None
|
||||||
|
|
||||||
|
if install_salt.classic and platform.is_darwin():
|
||||||
|
os.environ["PATH"] += ":/opt/salt/bin"
|
||||||
|
|
||||||
factory = salt_master.salt_minion_daemon(
|
factory = salt_master.salt_minion_daemon(
|
||||||
minion_id,
|
minion_id,
|
||||||
overrides=config_overrides,
|
overrides=config_overrides,
|
||||||
defaults=config_defaults,
|
defaults=config_defaults,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Salt factories calls salt.utils.verify.verify_env
|
# Salt factories calls salt.utils.verify.verify_env
|
||||||
# which sets root perms on /srv/salt and /srv/pillar since we are running
|
# which sets root perms on /srv/salt and /srv/pillar since we are running
|
||||||
# the test suite as root, but we want to run Salt master as salt
|
# the test suite as root, but we want to run Salt master as salt
|
||||||
|
|
|
@ -50,8 +50,8 @@ log = logging.getLogger(__name__)
|
||||||
|
|
||||||
@attr.s(kw_only=True, slots=True)
|
@attr.s(kw_only=True, slots=True)
|
||||||
class SaltPkgInstall:
|
class SaltPkgInstall:
|
||||||
|
pkg_system_service: bool = attr.ib(default=False)
|
||||||
proc: Subprocess = attr.ib(init=False, repr=False)
|
proc: Subprocess = attr.ib(init=False, repr=False)
|
||||||
system_service: bool = attr.ib(default=False)
|
|
||||||
|
|
||||||
# Paths
|
# Paths
|
||||||
root: pathlib.Path = attr.ib(default=None)
|
root: pathlib.Path = attr.ib(default=None)
|
||||||
|
@ -691,7 +691,7 @@ class SaltPkgInstall:
|
||||||
ret = self.proc.run(str(self.ssm_bin), "remove", "salt-minion", "confirm")
|
ret = self.proc.run(str(self.ssm_bin), "remove", "salt-minion", "confirm")
|
||||||
self._check_retcode(ret)
|
self._check_retcode(ret)
|
||||||
|
|
||||||
if self.system_service:
|
if self.pkg_system_service:
|
||||||
self._install_system_service()
|
self._install_system_service()
|
||||||
|
|
||||||
elif platform.is_darwin():
|
elif platform.is_darwin():
|
||||||
|
@ -1246,7 +1246,7 @@ class PkgMixin:
|
||||||
@attr.s(kw_only=True)
|
@attr.s(kw_only=True)
|
||||||
class DaemonPkgMixin(PkgMixin):
|
class DaemonPkgMixin(PkgMixin):
|
||||||
def __attrs_post_init__(self):
|
def __attrs_post_init__(self):
|
||||||
if not platform.is_windows() and self.salt_pkg_install.system_service:
|
if not platform.is_windows() and self.salt_pkg_install.pkg_system_service:
|
||||||
if platform.is_darwin():
|
if platform.is_darwin():
|
||||||
self.write_launchd_conf()
|
self.write_launchd_conf()
|
||||||
else:
|
else:
|
||||||
|
@ -1274,7 +1274,7 @@ class SaltMaster(DaemonPkgMixin, master.SaltMaster):
|
||||||
DaemonPkgMixin.__attrs_post_init__(self)
|
DaemonPkgMixin.__attrs_post_init__(self)
|
||||||
|
|
||||||
def _get_impl_class(self):
|
def _get_impl_class(self):
|
||||||
if self.system_install and self.salt_pkg_install.system_service:
|
if self.system_service and self.salt_pkg_install.pkg_system_service:
|
||||||
if platform.is_windows():
|
if platform.is_windows():
|
||||||
return PkgSsmSaltDaemonImpl
|
return PkgSsmSaltDaemonImpl
|
||||||
if platform.is_darwin():
|
if platform.is_darwin():
|
||||||
|
@ -1355,7 +1355,7 @@ class SaltMinion(DaemonPkgMixin, minion.SaltMinion):
|
||||||
DaemonPkgMixin.__attrs_post_init__(self)
|
DaemonPkgMixin.__attrs_post_init__(self)
|
||||||
|
|
||||||
def _get_impl_class(self):
|
def _get_impl_class(self):
|
||||||
if self.system_install and self.salt_pkg_install.system_service:
|
if self.system_service and self.salt_pkg_install.pkg_system_service:
|
||||||
if platform.is_windows():
|
if platform.is_windows():
|
||||||
return PkgSsmSaltDaemonImpl
|
return PkgSsmSaltDaemonImpl
|
||||||
if platform.is_darwin():
|
if platform.is_darwin():
|
||||||
|
@ -1391,7 +1391,7 @@ class SaltApi(DaemonPkgMixin, api.SaltApi):
|
||||||
DaemonPkgMixin.__attrs_post_init__(self)
|
DaemonPkgMixin.__attrs_post_init__(self)
|
||||||
|
|
||||||
def _get_impl_class(self):
|
def _get_impl_class(self):
|
||||||
if self.system_install and self.salt_pkg_install.system_service:
|
if self.system_service and self.salt_pkg_install.pkg_system_service:
|
||||||
if platform.is_windows():
|
if platform.is_windows():
|
||||||
return PkgSsmSaltDaemonImpl
|
return PkgSsmSaltDaemonImpl
|
||||||
if platform.is_darwin():
|
if platform.is_darwin():
|
||||||
|
|
|
@ -2,7 +2,7 @@ mock >= 3.0.0
|
||||||
# PyTest
|
# PyTest
|
||||||
docker
|
docker
|
||||||
pytest >= 7.2.0
|
pytest >= 7.2.0
|
||||||
pytest-salt-factories >= 1.0.0rc26
|
pytest-salt-factories >= 1.0.0rc27
|
||||||
pytest-helpers-namespace >= 2019.1.8
|
pytest-helpers-namespace >= 2019.1.8
|
||||||
pytest-subtests
|
pytest-subtests
|
||||||
pytest-timeout
|
pytest-timeout
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
# XXX: Temporarily do not install pylxd.
|
# XXX: Temporarily do not install pylxd.
|
||||||
# pylxd(or likely ws4py) will cause the test suite to hang at the finish line under runtests.py
|
# pylxd(or likely ws4py) will cause the test suite to hang at the finish line under runtests.py
|
||||||
# pylxd>=2.2.5
|
# pylxd>=2.2.5
|
||||||
|
|
||||||
--constraint=../pkg/py{py_version}/{platform}.txt
|
--constraint=../pkg/py{py_version}/{platform}.txt
|
||||||
|
|
||||||
pygit2>=1.2.0
|
pygit2>=1.2.0
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
# FreeBSD static CI requirements
|
# FreeBSD static CI requirements
|
||||||
|
|
||||||
--constraint=../pkg/py{py_version}/{platform}.txt
|
--constraint=../pkg/py{py_version}/{platform}.txt
|
||||||
|
|
||||||
yamllint
|
yamllint
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
# Lint requirements
|
# Lint requirements
|
||||||
|
|
||||||
--constraint=./py{py_version}/{platform}.txt
|
--constraint=./py{py_version}/{platform}.txt
|
||||||
|
|
||||||
pylint==2.4.4
|
pylint==2.4.4
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
cherrypy
|
|
||||||
pytest-salt-factories==1.0.0rc17
|
|
||||||
pythonnet==3.0.1
|
|
||||||
wmi==1.5.1; sys_platform == 'win32'
|
|
|
@ -1,3 +0,0 @@
|
||||||
cherrypy
|
|
||||||
pytest-salt-factories==1.0.0rc17
|
|
||||||
docker
|
|
|
@ -91,7 +91,7 @@ contextvars==2.4
|
||||||
# via
|
# via
|
||||||
# -c requirements/static/ci/../pkg/py3.10/darwin.txt
|
# -c requirements/static/ci/../pkg/py3.10/darwin.txt
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
croniter==1.3.15 ; sys_platform != "win32"
|
croniter==0.3.29 ; sys_platform != "win32"
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
cryptography==41.0.4
|
cryptography==41.0.4
|
||||||
# via
|
# via
|
||||||
|
@ -295,6 +295,8 @@ passlib==1.7.4
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
pathspec==0.11.1
|
pathspec==0.11.1
|
||||||
# via yamllint
|
# via yamllint
|
||||||
|
pathtools==0.1.2
|
||||||
|
# via watchdog
|
||||||
platformdirs==3.5.3
|
platformdirs==3.5.3
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
pluggy==1.0.0
|
pluggy==1.0.0
|
||||||
|
@ -360,7 +362,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
@ -543,7 +545,7 @@ vultr==1.0.1
|
||||||
# via
|
# via
|
||||||
# -c requirements/static/ci/../pkg/py3.10/darwin.txt
|
# -c requirements/static/ci/../pkg/py3.10/darwin.txt
|
||||||
# -r requirements/darwin.txt
|
# -r requirements/darwin.txt
|
||||||
watchdog==3.0.0
|
watchdog==0.10.3
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
websocket-client==0.40.0
|
websocket-client==0.40.0
|
||||||
# via
|
# via
|
||||||
|
|
|
@ -87,7 +87,7 @@ contextvars==2.4
|
||||||
# via
|
# via
|
||||||
# -c requirements/static/ci/../pkg/py3.10/freebsd.txt
|
# -c requirements/static/ci/../pkg/py3.10/freebsd.txt
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
croniter==1.3.15 ; sys_platform != "win32"
|
croniter==0.3.29 ; sys_platform != "win32"
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
cryptography==41.0.4
|
cryptography==41.0.4
|
||||||
# via
|
# via
|
||||||
|
@ -354,7 +354,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -101,7 +101,7 @@ contextvars==2.4
|
||||||
# via
|
# via
|
||||||
# -c requirements/static/ci/../pkg/py3.10/linux.txt
|
# -c requirements/static/ci/../pkg/py3.10/linux.txt
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
croniter==1.3.15 ; sys_platform != "win32"
|
croniter==0.3.29 ; sys_platform != "win32"
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
cryptography==41.0.4
|
cryptography==41.0.4
|
||||||
# via
|
# via
|
||||||
|
@ -388,7 +388,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -1,168 +0,0 @@
|
||||||
#
|
|
||||||
# This file is autogenerated by pip-compile
|
|
||||||
# To update, run:
|
|
||||||
#
|
|
||||||
# pip-compile --output-file=requirements/static/ci/py3.10/pkgtests-windows.txt requirements/base.txt requirements/static/ci/pkgtests-windows.in requirements/zeromq.txt
|
|
||||||
#
|
|
||||||
attrs==23.1.0
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-skip-markers
|
|
||||||
# pytest-system-statistics
|
|
||||||
autocommand==2.2.2
|
|
||||||
# via jaraco.text
|
|
||||||
certifi==2023.07.22
|
|
||||||
# via requests
|
|
||||||
cffi==1.15.1
|
|
||||||
# via
|
|
||||||
# clr-loader
|
|
||||||
# cryptography
|
|
||||||
charset-normalizer==3.2.0
|
|
||||||
# via requests
|
|
||||||
cheroot==10.0.0
|
|
||||||
# via cherrypy
|
|
||||||
cherrypy==18.8.0
|
|
||||||
# via -r requirements/static/ci/pkgtests-windows.in
|
|
||||||
clr-loader==0.2.5
|
|
||||||
# via pythonnet
|
|
||||||
colorama==0.4.6
|
|
||||||
# via pytest
|
|
||||||
contextvars==2.4
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
cryptography==41.0.4
|
|
||||||
# via -r requirements/crypto.txt
|
|
||||||
distlib==0.3.6
|
|
||||||
# via virtualenv
|
|
||||||
distro==1.8.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-skip-markers
|
|
||||||
exceptiongroup==1.1.1
|
|
||||||
# via pytest
|
|
||||||
filelock==3.12.4
|
|
||||||
# via virtualenv
|
|
||||||
idna==3.4
|
|
||||||
# via requests
|
|
||||||
immutables==0.15
|
|
||||||
# via contextvars
|
|
||||||
inflect==6.0.4
|
|
||||||
# via jaraco.text
|
|
||||||
iniconfig==2.0.0
|
|
||||||
# via pytest
|
|
||||||
jaraco.collections==4.2.0
|
|
||||||
# via cherrypy
|
|
||||||
jaraco.context==4.3.0
|
|
||||||
# via jaraco.text
|
|
||||||
jaraco.functools==3.7.0
|
|
||||||
# via
|
|
||||||
# cheroot
|
|
||||||
# jaraco.text
|
|
||||||
# tempora
|
|
||||||
jaraco.text==3.11.1
|
|
||||||
# via jaraco.collections
|
|
||||||
jinja2==3.1.2
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
jmespath==1.0.1
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
looseversion==1.2.0
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
markupsafe==2.1.3
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# jinja2
|
|
||||||
more-itertools==9.1.0
|
|
||||||
# via
|
|
||||||
# cheroot
|
|
||||||
# cherrypy
|
|
||||||
# jaraco.functools
|
|
||||||
# jaraco.text
|
|
||||||
msgpack==1.0.5
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
packaging==23.1
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest
|
|
||||||
platformdirs==3.5.3
|
|
||||||
# via virtualenv
|
|
||||||
pluggy==1.0.0
|
|
||||||
# via pytest
|
|
||||||
portend==3.1.0
|
|
||||||
# via cherrypy
|
|
||||||
psutil==5.9.5
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
pycparser==2.21
|
|
||||||
# via cffi
|
|
||||||
pycryptodomex==3.9.8
|
|
||||||
# via -r requirements/crypto.txt
|
|
||||||
pydantic==1.10.9
|
|
||||||
# via inflect
|
|
||||||
pytest-helpers-namespace==2021.12.29
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
pytest-salt-factories==1.0.0rc17
|
|
||||||
# via -r requirements/static/ci/pkgtests-windows.in
|
|
||||||
pytest-shell-utilities==1.8.0
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest-skip-markers==1.4.1
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
pytest-system-statistics==1.0.2
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest-tempdir==2019.10.12
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest==7.3.2
|
|
||||||
# via
|
|
||||||
# pytest-helpers-namespace
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-skip-markers
|
|
||||||
# pytest-system-statistics
|
|
||||||
# pytest-tempdir
|
|
||||||
pythonnet==3.0.1
|
|
||||||
# via -r requirements/static/ci/pkgtests-windows.in
|
|
||||||
pytz==2023.3
|
|
||||||
# via tempora
|
|
||||||
pywin32==306
|
|
||||||
# via
|
|
||||||
# pytest-skip-markers
|
|
||||||
# wmi
|
|
||||||
pyyaml==6.0.1
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
pyzmq==25.1.0
|
|
||||||
# via
|
|
||||||
# -r requirements/zeromq.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
requests==2.31.0
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
tempora==5.3.0
|
|
||||||
# via portend
|
|
||||||
tomli==2.0.1
|
|
||||||
# via pytest
|
|
||||||
tornado==6.3.2
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
typing-extensions==4.6.3
|
|
||||||
# via
|
|
||||||
# pydantic
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
urllib3==1.26.14
|
|
||||||
# via requests
|
|
||||||
virtualenv==20.23.0
|
|
||||||
# via pytest-salt-factories
|
|
||||||
wmi==1.5.1 ; sys_platform == "win32"
|
|
||||||
# via -r requirements/static/ci/pkgtests-windows.in
|
|
||||||
zc.lockfile==3.0.post1
|
|
||||||
# via cherrypy
|
|
||||||
|
|
||||||
# The following packages are considered to be unsafe in a requirements file:
|
|
||||||
# setuptools
|
|
|
@ -1,163 +0,0 @@
|
||||||
#
|
|
||||||
# This file is autogenerated by pip-compile
|
|
||||||
# To update, run:
|
|
||||||
#
|
|
||||||
# pip-compile --output-file=requirements/static/ci/py3.10/pkgtests.txt requirements/base.txt requirements/static/ci/pkgtests.in requirements/zeromq.txt
|
|
||||||
#
|
|
||||||
attrs==23.1.0
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-skip-markers
|
|
||||||
# pytest-system-statistics
|
|
||||||
autocommand==2.2.2
|
|
||||||
# via jaraco.text
|
|
||||||
certifi==2023.07.22
|
|
||||||
# via requests
|
|
||||||
cffi==1.15.1
|
|
||||||
# via cryptography
|
|
||||||
charset-normalizer==3.2.0
|
|
||||||
# via requests
|
|
||||||
cheroot==10.0.0
|
|
||||||
# via cherrypy
|
|
||||||
cherrypy==18.8.0
|
|
||||||
# via -r requirements/static/ci/pkgtests.in
|
|
||||||
contextvars==2.4
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
cryptography==41.0.4
|
|
||||||
# via -r requirements/crypto.txt
|
|
||||||
distlib==0.3.6
|
|
||||||
# via virtualenv
|
|
||||||
distro==1.8.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-skip-markers
|
|
||||||
docker==6.1.3
|
|
||||||
# via -r requirements/static/ci/pkgtests.in
|
|
||||||
exceptiongroup==1.1.1
|
|
||||||
# via pytest
|
|
||||||
filelock==3.12.4
|
|
||||||
# via virtualenv
|
|
||||||
idna==3.4
|
|
||||||
# via requests
|
|
||||||
immutables==0.15
|
|
||||||
# via contextvars
|
|
||||||
inflect==6.0.4
|
|
||||||
# via jaraco.text
|
|
||||||
iniconfig==2.0.0
|
|
||||||
# via pytest
|
|
||||||
jaraco.collections==4.2.0
|
|
||||||
# via cherrypy
|
|
||||||
jaraco.context==4.3.0
|
|
||||||
# via jaraco.text
|
|
||||||
jaraco.functools==3.7.0
|
|
||||||
# via
|
|
||||||
# cheroot
|
|
||||||
# jaraco.text
|
|
||||||
# tempora
|
|
||||||
jaraco.text==3.11.1
|
|
||||||
# via jaraco.collections
|
|
||||||
jinja2==3.1.2
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
jmespath==1.0.1
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
looseversion==1.2.0
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
markupsafe==2.1.3
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# jinja2
|
|
||||||
more-itertools==9.1.0
|
|
||||||
# via
|
|
||||||
# cheroot
|
|
||||||
# cherrypy
|
|
||||||
# jaraco.functools
|
|
||||||
# jaraco.text
|
|
||||||
msgpack==1.0.5
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
packaging==23.1
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# docker
|
|
||||||
# pytest
|
|
||||||
platformdirs==3.5.3
|
|
||||||
# via virtualenv
|
|
||||||
pluggy==1.0.0
|
|
||||||
# via pytest
|
|
||||||
portend==3.1.0
|
|
||||||
# via cherrypy
|
|
||||||
psutil==5.9.5
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
pycparser==2.21
|
|
||||||
# via cffi
|
|
||||||
pycryptodomex==3.9.8
|
|
||||||
# via -r requirements/crypto.txt
|
|
||||||
pydantic==1.10.9
|
|
||||||
# via inflect
|
|
||||||
pytest-helpers-namespace==2021.12.29
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
pytest-salt-factories==1.0.0rc17
|
|
||||||
# via -r requirements/static/ci/pkgtests.in
|
|
||||||
pytest-shell-utilities==1.8.0
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest-skip-markers==1.4.1
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
pytest-system-statistics==1.0.2
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest-tempdir==2019.10.12
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest==7.3.2
|
|
||||||
# via
|
|
||||||
# pytest-helpers-namespace
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-skip-markers
|
|
||||||
# pytest-system-statistics
|
|
||||||
# pytest-tempdir
|
|
||||||
pytz==2023.3
|
|
||||||
# via tempora
|
|
||||||
pyyaml==6.0.1
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
pyzmq==25.1.0
|
|
||||||
# via
|
|
||||||
# -r requirements/zeromq.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
requests==2.31.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# docker
|
|
||||||
tempora==5.3.0
|
|
||||||
# via portend
|
|
||||||
tomli==2.0.1
|
|
||||||
# via pytest
|
|
||||||
tornado==6.3.2
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
typing-extensions==4.6.3
|
|
||||||
# via
|
|
||||||
# pydantic
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
urllib3==1.26.14
|
|
||||||
# via
|
|
||||||
# docker
|
|
||||||
# requests
|
|
||||||
virtualenv==20.23.0
|
|
||||||
# via pytest-salt-factories
|
|
||||||
websocket-client==1.6.3
|
|
||||||
# via docker
|
|
||||||
zc.lockfile==3.0.post1
|
|
||||||
# via cherrypy
|
|
||||||
|
|
||||||
# The following packages are considered to be unsafe in a requirements file:
|
|
||||||
# setuptools
|
|
|
@ -315,7 +315,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile
|
# This file is autogenerated by pip-compile
|
||||||
# To update, run:
|
# To update, run:
|
||||||
#
|
#
|
||||||
# pip-compile --output-file=requirements/static/ci/py3.11/darwin.txt requirements/darwin.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/darwin.in requirements/static/pkg/darwin.in
|
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.11/darwin.txt requirements/darwin.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/darwin.in requirements/static/pkg/darwin.in
|
||||||
#
|
#
|
||||||
aiohttp==3.8.5
|
aiohttp==3.8.5
|
||||||
# via etcd3-py
|
# via etcd3-py
|
||||||
|
@ -358,7 +358,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile
|
# This file is autogenerated by pip-compile
|
||||||
# To update, run:
|
# To update, run:
|
||||||
#
|
#
|
||||||
# pip-compile --output-file=requirements/static/ci/py3.11/docs.txt requirements/static/ci/docs.in
|
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.11/docs.txt requirements/static/ci/docs.in
|
||||||
#
|
#
|
||||||
alabaster==0.7.13
|
alabaster==0.7.13
|
||||||
# via sphinx
|
# via sphinx
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile
|
# This file is autogenerated by pip-compile
|
||||||
# To update, run:
|
# To update, run:
|
||||||
#
|
#
|
||||||
# pip-compile --output-file=requirements/static/ci/py3.11/freebsd-crypto.txt requirements/static/ci/crypto.in
|
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.11/freebsd-crypto.txt requirements/static/ci/crypto.in
|
||||||
#
|
#
|
||||||
m2crypto==0.38.0
|
m2crypto==0.38.0
|
||||||
# via -r requirements/static/ci/crypto.in
|
# via -r requirements/static/ci/crypto.in
|
||||||
|
|
|
@ -352,7 +352,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -384,7 +384,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -1,164 +0,0 @@
|
||||||
#
|
|
||||||
# This file is autogenerated by pip-compile
|
|
||||||
# To update, run:
|
|
||||||
#
|
|
||||||
# pip-compile --output-file=requirements/static/ci/py3.11/pkgtests-windows.txt requirements/base.txt requirements/static/ci/pkgtests-windows.in requirements/zeromq.txt
|
|
||||||
#
|
|
||||||
attrs==23.1.0
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-skip-markers
|
|
||||||
# pytest-system-statistics
|
|
||||||
autocommand==2.2.2
|
|
||||||
# via jaraco.text
|
|
||||||
certifi==2023.07.22
|
|
||||||
# via requests
|
|
||||||
cffi==1.15.1
|
|
||||||
# via
|
|
||||||
# clr-loader
|
|
||||||
# cryptography
|
|
||||||
charset-normalizer==3.2.0
|
|
||||||
# via requests
|
|
||||||
cheroot==10.0.0
|
|
||||||
# via cherrypy
|
|
||||||
cherrypy==18.8.0
|
|
||||||
# via -r requirements/static/ci/pkgtests-windows.in
|
|
||||||
clr-loader==0.2.5
|
|
||||||
# via pythonnet
|
|
||||||
colorama==0.4.6
|
|
||||||
# via pytest
|
|
||||||
contextvars==2.4
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
cryptography==41.0.4
|
|
||||||
# via -r requirements/crypto.txt
|
|
||||||
distlib==0.3.6
|
|
||||||
# via virtualenv
|
|
||||||
distro==1.8.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-skip-markers
|
|
||||||
filelock==3.12.4
|
|
||||||
# via virtualenv
|
|
||||||
idna==3.4
|
|
||||||
# via requests
|
|
||||||
immutables==0.15
|
|
||||||
# via contextvars
|
|
||||||
inflect==6.0.2
|
|
||||||
# via jaraco.text
|
|
||||||
iniconfig==2.0.0
|
|
||||||
# via pytest
|
|
||||||
jaraco.collections==4.1.0
|
|
||||||
# via cherrypy
|
|
||||||
jaraco.context==4.3.0
|
|
||||||
# via jaraco.text
|
|
||||||
jaraco.functools==3.7.0
|
|
||||||
# via
|
|
||||||
# cheroot
|
|
||||||
# jaraco.text
|
|
||||||
# tempora
|
|
||||||
jaraco.text==3.11.1
|
|
||||||
# via jaraco.collections
|
|
||||||
jinja2==3.1.2
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
jmespath==1.0.1
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
looseversion==1.2.0
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
markupsafe==2.1.2
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# jinja2
|
|
||||||
more-itertools==9.1.0
|
|
||||||
# via
|
|
||||||
# cheroot
|
|
||||||
# cherrypy
|
|
||||||
# jaraco.functools
|
|
||||||
# jaraco.text
|
|
||||||
msgpack==1.0.5
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
packaging==23.1
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest
|
|
||||||
platformdirs==3.5.3
|
|
||||||
# via virtualenv
|
|
||||||
pluggy==1.0.0
|
|
||||||
# via pytest
|
|
||||||
portend==3.1.0
|
|
||||||
# via cherrypy
|
|
||||||
psutil==5.9.5
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
pycparser==2.21
|
|
||||||
# via cffi
|
|
||||||
pycryptodomex==3.9.8
|
|
||||||
# via -r requirements/crypto.txt
|
|
||||||
pydantic==1.10.4
|
|
||||||
# via inflect
|
|
||||||
pytest-helpers-namespace==2021.12.29
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
pytest-salt-factories==1.0.0rc17
|
|
||||||
# via -r requirements/static/ci/pkgtests-windows.in
|
|
||||||
pytest-shell-utilities==1.7.0
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest-skip-markers==1.4.1
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
pytest-system-statistics==1.0.2
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest-tempdir==2019.10.12
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest==7.3.2
|
|
||||||
# via
|
|
||||||
# pytest-helpers-namespace
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-skip-markers
|
|
||||||
# pytest-system-statistics
|
|
||||||
# pytest-tempdir
|
|
||||||
pythonnet==3.0.1
|
|
||||||
# via -r requirements/static/ci/pkgtests-windows.in
|
|
||||||
pytz==2023.3
|
|
||||||
# via tempora
|
|
||||||
pywin32==306
|
|
||||||
# via
|
|
||||||
# pytest-skip-markers
|
|
||||||
# wmi
|
|
||||||
pyyaml==6.0.1
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
pyzmq==25.1.0
|
|
||||||
# via
|
|
||||||
# -r requirements/zeromq.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
requests==2.31.0
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
tempora==5.3.0
|
|
||||||
# via portend
|
|
||||||
tornado==6.3.2
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
typing-extensions==4.6.3
|
|
||||||
# via
|
|
||||||
# pydantic
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
urllib3==1.26.14
|
|
||||||
# via requests
|
|
||||||
virtualenv==20.23.0
|
|
||||||
# via pytest-salt-factories
|
|
||||||
wmi==1.5.1 ; sys_platform == "win32"
|
|
||||||
# via -r requirements/static/ci/pkgtests-windows.in
|
|
||||||
zc.lockfile==3.0.post1
|
|
||||||
# via cherrypy
|
|
||||||
|
|
||||||
# The following packages are considered to be unsafe in a requirements file:
|
|
||||||
# setuptools
|
|
|
@ -1,159 +0,0 @@
|
||||||
#
|
|
||||||
# This file is autogenerated by pip-compile
|
|
||||||
# To update, run:
|
|
||||||
#
|
|
||||||
# pip-compile --output-file=requirements/static/ci/py3.11/pkgtests.txt requirements/base.txt requirements/static/ci/pkgtests.in requirements/zeromq.txt
|
|
||||||
#
|
|
||||||
attrs==23.1.0
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-skip-markers
|
|
||||||
# pytest-system-statistics
|
|
||||||
autocommand==2.2.2
|
|
||||||
# via jaraco.text
|
|
||||||
certifi==2023.07.22
|
|
||||||
# via requests
|
|
||||||
cffi==1.15.1
|
|
||||||
# via cryptography
|
|
||||||
charset-normalizer==3.2.0
|
|
||||||
# via requests
|
|
||||||
cheroot==10.0.0
|
|
||||||
# via cherrypy
|
|
||||||
cherrypy==18.8.0
|
|
||||||
# via -r requirements/static/ci/pkgtests.in
|
|
||||||
contextvars==2.4
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
cryptography==41.0.4
|
|
||||||
# via -r requirements/crypto.txt
|
|
||||||
distlib==0.3.6
|
|
||||||
# via virtualenv
|
|
||||||
distro==1.8.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-skip-markers
|
|
||||||
docker==6.1.3
|
|
||||||
# via -r requirements/static/ci/pkgtests.in
|
|
||||||
filelock==3.12.4
|
|
||||||
# via virtualenv
|
|
||||||
idna==3.4
|
|
||||||
# via requests
|
|
||||||
immutables==0.15
|
|
||||||
# via contextvars
|
|
||||||
inflect==6.0.2
|
|
||||||
# via jaraco.text
|
|
||||||
iniconfig==2.0.0
|
|
||||||
# via pytest
|
|
||||||
jaraco.collections==4.1.0
|
|
||||||
# via cherrypy
|
|
||||||
jaraco.context==4.3.0
|
|
||||||
# via jaraco.text
|
|
||||||
jaraco.functools==3.7.0
|
|
||||||
# via
|
|
||||||
# cheroot
|
|
||||||
# jaraco.text
|
|
||||||
# tempora
|
|
||||||
jaraco.text==3.11.1
|
|
||||||
# via jaraco.collections
|
|
||||||
jinja2==3.1.2
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
jmespath==1.0.1
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
looseversion==1.2.0
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
markupsafe==2.1.2
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# jinja2
|
|
||||||
more-itertools==9.1.0
|
|
||||||
# via
|
|
||||||
# cheroot
|
|
||||||
# cherrypy
|
|
||||||
# jaraco.functools
|
|
||||||
# jaraco.text
|
|
||||||
msgpack==1.0.5
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
packaging==23.1
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# docker
|
|
||||||
# pytest
|
|
||||||
platformdirs==3.5.3
|
|
||||||
# via virtualenv
|
|
||||||
pluggy==1.0.0
|
|
||||||
# via pytest
|
|
||||||
portend==3.1.0
|
|
||||||
# via cherrypy
|
|
||||||
psutil==5.9.5
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
pycparser==2.21
|
|
||||||
# via cffi
|
|
||||||
pycryptodomex==3.9.8
|
|
||||||
# via -r requirements/crypto.txt
|
|
||||||
pydantic==1.10.4
|
|
||||||
# via inflect
|
|
||||||
pytest-helpers-namespace==2021.12.29
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
pytest-salt-factories==1.0.0rc17
|
|
||||||
# via -r requirements/static/ci/pkgtests.in
|
|
||||||
pytest-shell-utilities==1.7.0
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest-skip-markers==1.4.1
|
|
||||||
# via
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
pytest-system-statistics==1.0.2
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest-tempdir==2019.10.12
|
|
||||||
# via pytest-salt-factories
|
|
||||||
pytest==7.3.2
|
|
||||||
# via
|
|
||||||
# pytest-helpers-namespace
|
|
||||||
# pytest-salt-factories
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-skip-markers
|
|
||||||
# pytest-system-statistics
|
|
||||||
# pytest-tempdir
|
|
||||||
pytz==2023.3
|
|
||||||
# via tempora
|
|
||||||
pyyaml==6.0.1
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
pyzmq==25.1.0
|
|
||||||
# via
|
|
||||||
# -r requirements/zeromq.txt
|
|
||||||
# pytest-salt-factories
|
|
||||||
requests==2.31.0
|
|
||||||
# via
|
|
||||||
# -r requirements/base.txt
|
|
||||||
# docker
|
|
||||||
tempora==5.3.0
|
|
||||||
# via portend
|
|
||||||
tornado==6.3.2
|
|
||||||
# via -r requirements/base.txt
|
|
||||||
typing-extensions==4.6.3
|
|
||||||
# via
|
|
||||||
# pydantic
|
|
||||||
# pytest-shell-utilities
|
|
||||||
# pytest-system-statistics
|
|
||||||
urllib3==1.26.14
|
|
||||||
# via
|
|
||||||
# docker
|
|
||||||
# requests
|
|
||||||
virtualenv==20.23.0
|
|
||||||
# via pytest-salt-factories
|
|
||||||
websocket-client==1.6.3
|
|
||||||
# via docker
|
|
||||||
zc.lockfile==3.0.post1
|
|
||||||
# via cherrypy
|
|
||||||
|
|
||||||
# The following packages are considered to be unsafe in a requirements file:
|
|
||||||
# setuptools
|
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile
|
# This file is autogenerated by pip-compile
|
||||||
# To update, run:
|
# To update, run:
|
||||||
#
|
#
|
||||||
# pip-compile --output-file=requirements/static/ci/py3.11/windows-crypto.txt requirements/static/ci/crypto.in
|
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.11/windows-crypto.txt requirements/static/ci/crypto.in
|
||||||
#
|
#
|
||||||
m2crypto==0.38.0
|
m2crypto==0.38.0
|
||||||
# via -r requirements/static/ci/crypto.in
|
# via -r requirements/static/ci/crypto.in
|
||||||
|
|
|
@ -313,7 +313,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -87,7 +87,7 @@ contextvars==2.4
|
||||||
# via
|
# via
|
||||||
# -c requirements/static/ci/../pkg/py3.8/freebsd.txt
|
# -c requirements/static/ci/../pkg/py3.8/freebsd.txt
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
croniter==1.3.15 ; sys_platform != "win32"
|
croniter==0.3.29 ; sys_platform != "win32"
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
cryptography==41.0.4
|
cryptography==41.0.4
|
||||||
# via
|
# via
|
||||||
|
@ -358,7 +358,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -101,7 +101,7 @@ contextvars==2.4
|
||||||
# via
|
# via
|
||||||
# -c requirements/static/ci/../pkg/py3.8/linux.txt
|
# -c requirements/static/ci/../pkg/py3.8/linux.txt
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
croniter==1.3.15 ; sys_platform != "win32"
|
croniter==0.3.29 ; sys_platform != "win32"
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
cryptography==41.0.4
|
cryptography==41.0.4
|
||||||
# via
|
# via
|
||||||
|
@ -392,7 +392,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -319,7 +319,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -91,7 +91,7 @@ contextvars==2.4
|
||||||
# via
|
# via
|
||||||
# -c requirements/static/ci/../pkg/py3.9/darwin.txt
|
# -c requirements/static/ci/../pkg/py3.9/darwin.txt
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
croniter==1.3.15 ; sys_platform != "win32"
|
croniter==0.3.29 ; sys_platform != "win32"
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
cryptography==41.0.4
|
cryptography==41.0.4
|
||||||
# via
|
# via
|
||||||
|
@ -295,6 +295,8 @@ passlib==1.7.4
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
pathspec==0.11.1
|
pathspec==0.11.1
|
||||||
# via yamllint
|
# via yamllint
|
||||||
|
pathtools==0.1.2
|
||||||
|
# via watchdog
|
||||||
platformdirs==3.5.3
|
platformdirs==3.5.3
|
||||||
# via virtualenv
|
# via virtualenv
|
||||||
pluggy==1.0.0
|
pluggy==1.0.0
|
||||||
|
@ -360,7 +362,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
@ -543,7 +545,7 @@ vultr==1.0.1
|
||||||
# via
|
# via
|
||||||
# -c requirements/static/ci/../pkg/py3.9/darwin.txt
|
# -c requirements/static/ci/../pkg/py3.9/darwin.txt
|
||||||
# -r requirements/darwin.txt
|
# -r requirements/darwin.txt
|
||||||
watchdog==3.0.0
|
watchdog==0.10.3
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
websocket-client==0.40.0
|
websocket-client==0.40.0
|
||||||
# via
|
# via
|
||||||
|
|
|
@ -87,7 +87,7 @@ contextvars==2.4
|
||||||
# via
|
# via
|
||||||
# -c requirements/static/ci/../pkg/py3.9/freebsd.txt
|
# -c requirements/static/ci/../pkg/py3.9/freebsd.txt
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
croniter==1.3.15 ; sys_platform != "win32"
|
croniter==0.3.29 ; sys_platform != "win32"
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
cryptography==41.0.4
|
cryptography==41.0.4
|
||||||
# via
|
# via
|
||||||
|
@ -354,7 +354,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -101,7 +101,7 @@ contextvars==2.4
|
||||||
# via
|
# via
|
||||||
# -c requirements/static/ci/../pkg/py3.9/linux.txt
|
# -c requirements/static/ci/../pkg/py3.9/linux.txt
|
||||||
# -r requirements/base.txt
|
# -r requirements/base.txt
|
||||||
croniter==1.3.15 ; sys_platform != "win32"
|
croniter==0.3.29 ; sys_platform != "win32"
|
||||||
# via -r requirements/static/ci/common.in
|
# via -r requirements/static/ci/common.in
|
||||||
cryptography==41.0.4
|
cryptography==41.0.4
|
||||||
# via
|
# via
|
||||||
|
@ -390,7 +390,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -315,7 +315,7 @@ pytest-helpers-namespace==2021.12.29
|
||||||
# pytest-shell-utilities
|
# pytest-shell-utilities
|
||||||
pytest-httpserver==1.0.8
|
pytest-httpserver==1.0.8
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-salt-factories==1.0.0rc26
|
pytest-salt-factories==1.0.0rc27
|
||||||
# via -r requirements/pytest.txt
|
# via -r requirements/pytest.txt
|
||||||
pytest-shell-utilities==1.8.0
|
pytest-shell-utilities==1.8.0
|
||||||
# via pytest-salt-factories
|
# via pytest-salt-factories
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile
|
# This file is autogenerated by pip-compile
|
||||||
# To update, run:
|
# To update, run:
|
||||||
#
|
#
|
||||||
# pip-compile --output-file=requirements/static/pkg/py3.11/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt
|
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.11/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt
|
||||||
#
|
#
|
||||||
autocommand==2.2.2
|
autocommand==2.2.2
|
||||||
# via jaraco.text
|
# via jaraco.text
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# This file is autogenerated by pip-compile
|
# This file is autogenerated by pip-compile
|
||||||
# To update, run:
|
# To update, run:
|
||||||
#
|
#
|
||||||
# pip-compile --output-file=requirements/static/pkg/py3.11/windows.txt requirements/static/pkg/windows.in requirements/windows.txt
|
# pip-compile --no-emit-index-url --output-file=requirements/static/pkg/py3.11/windows.txt requirements/static/pkg/windows.in requirements/windows.txt
|
||||||
#
|
#
|
||||||
autocommand==2.2.2
|
autocommand==2.2.2
|
||||||
# via jaraco.text
|
# via jaraco.text
|
||||||
|
|
|
@ -483,19 +483,19 @@ class Compiler:
|
||||||
else:
|
else:
|
||||||
fun = 0
|
fun = 0
|
||||||
if "." in state:
|
if "." in state:
|
||||||
|
# This should not happen usually since `pad_funcs`
|
||||||
|
# is run on rendered templates
|
||||||
fun += 1
|
fun += 1
|
||||||
for arg in body[state]:
|
for arg in body[state]:
|
||||||
if isinstance(arg, str):
|
if isinstance(arg, str):
|
||||||
fun += 1
|
fun += 1
|
||||||
if " " in arg.strip():
|
if " " in arg.strip():
|
||||||
errors.append(
|
errors.append(
|
||||||
'The function "{}" in state '
|
f'The function "{arg}" in state '
|
||||||
'"{}" in SLS "{}" has '
|
f'"{name}" in SLS "{body["__sls__"]}" has '
|
||||||
"whitespace, a function with whitespace is "
|
"whitespace, a function with whitespace is "
|
||||||
"not supported, perhaps this is an argument "
|
"not supported, perhaps this is an argument"
|
||||||
'that is missing a ":"'.format(
|
' that is missing a ":"'
|
||||||
arg, name, body["__sls__"]
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
elif isinstance(arg, dict):
|
elif isinstance(arg, dict):
|
||||||
# The arg is a dict, if the arg is require or
|
# The arg is a dict, if the arg is require or
|
||||||
|
@ -591,14 +591,22 @@ class Compiler:
|
||||||
if state == "require" or state == "watch":
|
if state == "require" or state == "watch":
|
||||||
continue
|
continue
|
||||||
errors.append(
|
errors.append(
|
||||||
"No function declared in state '{}' in SLS '{}'".format(
|
f"No function declared in state '{name}' in SLS "
|
||||||
state, body["__sls__"]
|
f"'{body['__sls__']}'"
|
||||||
)
|
|
||||||
)
|
)
|
||||||
elif fun > 1:
|
elif fun > 1:
|
||||||
|
funs = (
|
||||||
|
[state.split(".", maxsplit=1)[1]]
|
||||||
|
if "." in state
|
||||||
|
else []
|
||||||
|
)
|
||||||
|
funs.extend(
|
||||||
|
arg for arg in body[state] if isinstance(arg, str)
|
||||||
|
)
|
||||||
errors.append(
|
errors.append(
|
||||||
"Too many functions declared in state '{}' in "
|
f"Too many functions declared in state '{name}' in "
|
||||||
"SLS '{}'".format(state, body["__sls__"])
|
f"SLS '{body['__sls__']}'. Please choose one of "
|
||||||
|
"the following: " + ", ".join(funs)
|
||||||
)
|
)
|
||||||
return errors
|
return errors
|
||||||
|
|
||||||
|
@ -1506,17 +1514,21 @@ class State:
|
||||||
else:
|
else:
|
||||||
fun = 0
|
fun = 0
|
||||||
if "." in state:
|
if "." in state:
|
||||||
|
# This should not happen usually since `_handle_state_decls`
|
||||||
|
# is run on rendered templates
|
||||||
fun += 1
|
fun += 1
|
||||||
for arg in body[state]:
|
for arg in body[state]:
|
||||||
if isinstance(arg, str):
|
if isinstance(arg, str):
|
||||||
fun += 1
|
fun += 1
|
||||||
if " " in arg.strip():
|
if " " in arg.strip():
|
||||||
errors.append(
|
errors.append(
|
||||||
'The function "{}" in state "{}" in SLS "{}" has '
|
f'The function "{arg}" in state '
|
||||||
"whitespace, a function with whitespace is not "
|
f'"{name}" in SLS "{body["__sls__"]}" has '
|
||||||
"supported, perhaps this is an argument that is "
|
"whitespace, a function with whitespace is "
|
||||||
'missing a ":"'.format(arg, name, body["__sls__"])
|
"not supported, perhaps this is an argument"
|
||||||
|
' that is missing a ":"'
|
||||||
)
|
)
|
||||||
|
|
||||||
elif isinstance(arg, dict):
|
elif isinstance(arg, dict):
|
||||||
# The arg is a dict, if the arg is require or
|
# The arg is a dict, if the arg is require or
|
||||||
# watch, it must be a list.
|
# watch, it must be a list.
|
||||||
|
@ -1609,14 +1621,16 @@ class State:
|
||||||
if state == "require" or state == "watch":
|
if state == "require" or state == "watch":
|
||||||
continue
|
continue
|
||||||
errors.append(
|
errors.append(
|
||||||
"No function declared in state '{}' in SLS '{}'".format(
|
f"No function declared in state '{name}' in SLS "
|
||||||
state, body["__sls__"]
|
f"'{body['__sls__']}'"
|
||||||
)
|
|
||||||
)
|
)
|
||||||
elif fun > 1:
|
elif fun > 1:
|
||||||
|
funs = [state.split(".", maxsplit=1)[1]] if "." in state else []
|
||||||
|
funs.extend(arg for arg in body[state] if isinstance(arg, str))
|
||||||
errors.append(
|
errors.append(
|
||||||
"Too many functions declared in state '{}' in "
|
f"Too many functions declared in state '{name}' in "
|
||||||
"SLS '{}'".format(state, body["__sls__"])
|
f"SLS '{body['__sls__']}'. Please choose one of "
|
||||||
|
"the following: " + ", ".join(funs)
|
||||||
)
|
)
|
||||||
return errors
|
return errors
|
||||||
|
|
||||||
|
|
|
@ -396,9 +396,10 @@ def set_max_open_files_limits(min_soft=3072, min_hard=4096):
|
||||||
return soft, hard
|
return soft, hard
|
||||||
|
|
||||||
|
|
||||||
def pytest_report_header():
|
def pytest_report_header(config):
|
||||||
soft, hard = set_max_open_files_limits()
|
soft, hard = set_max_open_files_limits()
|
||||||
return f"max open files; soft: {soft}; hard: {hard}"
|
transport = config.getoption("--transport")
|
||||||
|
return f"max open files: soft={soft}; hard={hard}\nsalt-transport: {transport}"
|
||||||
|
|
||||||
|
|
||||||
def pytest_itemcollected(item):
|
def pytest_itemcollected(item):
|
||||||
|
|
|
@ -41,7 +41,7 @@ def salt_cli(salt_master):
|
||||||
@pytest.fixture(scope="package")
|
@pytest.fixture(scope="package")
|
||||||
def minion_count():
|
def minion_count():
|
||||||
# Allow this to be changed via an environment variable if needed
|
# Allow this to be changed via an environment variable if needed
|
||||||
return int(os.environ.get("SALT_CI_MINION_SWARM_COUNT", 20))
|
return int(os.environ.get("SALT_CI_MINION_SWARM_COUNT", 15))
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="package")
|
@pytest.fixture(scope="package")
|
||||||
|
@ -53,7 +53,7 @@ def minion_swarm(salt_master, minion_count):
|
||||||
with ExitStack() as stack:
|
with ExitStack() as stack:
|
||||||
for idx in range(minion_count):
|
for idx in range(minion_count):
|
||||||
minion_factory = salt_master.salt_minion_daemon(
|
minion_factory = salt_master.salt_minion_daemon(
|
||||||
random_string("swarm-minion-{}-".format(idx)),
|
random_string(f"swarm-minion-{idx}-"),
|
||||||
extra_cli_arguments_after_first_start_failure=["--log-level=info"],
|
extra_cli_arguments_after_first_start_failure=["--log-level=info"],
|
||||||
)
|
)
|
||||||
stack.enter_context(minion_factory.started())
|
stack.enter_context(minion_factory.started())
|
||||||
|
|
|
@ -416,7 +416,7 @@ def test_compiler_verify_high_short_sls(minion_opts, tmp_path, high, exp):
|
||||||
},
|
},
|
||||||
[
|
[
|
||||||
"The require statement in state 'add_test_2' in SLS '/srv/reactor/start.sls' needs to be formed as a list",
|
"The require statement in state 'add_test_2' in SLS '/srv/reactor/start.sls' needs to be formed as a list",
|
||||||
"Too many functions declared in state 'local.cmd.run' in SLS '/srv/reactor/start.sls'",
|
"Too many functions declared in state 'add_test_2' in SLS '/srv/reactor/start.sls'. Please choose one of the following: cmd.run, cmd.run",
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
|
|
|
@ -1099,3 +1099,47 @@ def test_verify_onlyif_cmd_opts_exclude(minion_opts):
|
||||||
timeout=5,
|
timeout=5,
|
||||||
success_retcodes=1,
|
success_retcodes=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("verifier", (salt.state.State, salt.state.Compiler))
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"high,err_msg",
|
||||||
|
(
|
||||||
|
(
|
||||||
|
{"/some/file": {"file.managed": ["source:salt://bla"]}},
|
||||||
|
"Too many functions declared in state '/some/file' in SLS 'sls'. Please choose one of the following: managed, source:salt://bla",
|
||||||
|
),
|
||||||
|
(
|
||||||
|
{"/some/file": {"file": ["managed", "source:salt://bla"]}},
|
||||||
|
"Too many functions declared in state '/some/file' in SLS 'sls'. Please choose one of the following: managed, source:salt://bla",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
def test_verify_high_too_many_functions_declared_error_message(
|
||||||
|
high, err_msg, minion_opts, verifier
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Ensure the error message when a list item of a state call is
|
||||||
|
accidentally passed as a string instead of a single-item dict
|
||||||
|
is more meaningful. Example:
|
||||||
|
|
||||||
|
/some/file:
|
||||||
|
file.managed:
|
||||||
|
- source:salt://bla
|
||||||
|
|
||||||
|
/some/file:
|
||||||
|
file:
|
||||||
|
- managed
|
||||||
|
- source:salt://bla
|
||||||
|
|
||||||
|
Issue #38098.
|
||||||
|
"""
|
||||||
|
high[next(iter(high))]["__sls__"] = "sls"
|
||||||
|
with patch("salt.state.State._gather_pillar"):
|
||||||
|
if verifier is salt.state.Compiler:
|
||||||
|
state_obj = verifier(minion_opts, [])
|
||||||
|
else:
|
||||||
|
state_obj = verifier(minion_opts)
|
||||||
|
res = state_obj.verify_high(high)
|
||||||
|
assert isinstance(res, list)
|
||||||
|
assert any(err_msg in x for x in res)
|
||||||
|
|
29
tools/ci.py
29
tools/ci.py
|
@ -638,33 +638,6 @@ def matrix(ctx: Context, distro_slug: str):
|
||||||
ctx.exit(0)
|
ctx.exit(0)
|
||||||
|
|
||||||
|
|
||||||
@ci.command(
|
|
||||||
name="transport-matrix",
|
|
||||||
arguments={
|
|
||||||
"distro_slug": {
|
|
||||||
"help": "The distribution slug to generate the matrix for",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
)
|
|
||||||
def transport_matrix(ctx: Context, distro_slug: str):
|
|
||||||
"""
|
|
||||||
Generate the test matrix.
|
|
||||||
"""
|
|
||||||
_matrix = []
|
|
||||||
for transport in ("zeromq", "tcp"):
|
|
||||||
if transport == "tcp":
|
|
||||||
if distro_slug not in (
|
|
||||||
"centosstream-9",
|
|
||||||
"ubuntu-22.04",
|
|
||||||
"ubuntu-22.04-arm64",
|
|
||||||
):
|
|
||||||
# Only run TCP transport tests on these distributions
|
|
||||||
continue
|
|
||||||
_matrix.append({"transport": transport})
|
|
||||||
print(json.dumps(_matrix))
|
|
||||||
ctx.exit(0)
|
|
||||||
|
|
||||||
|
|
||||||
@ci.command(
|
@ci.command(
|
||||||
name="pkg-matrix",
|
name="pkg-matrix",
|
||||||
arguments={
|
arguments={
|
||||||
|
@ -767,6 +740,8 @@ def pkg_matrix(
|
||||||
"version": version,
|
"version": version,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
if distro_slug.startswith("windows"):
|
||||||
|
matrix[-1]["pkg-type"] = pkg_type.upper()
|
||||||
ctx.info("Generated matrix:")
|
ctx.info("Generated matrix:")
|
||||||
ctx.print(matrix, soft_wrap=True)
|
ctx.print(matrix, soft_wrap=True)
|
||||||
|
|
||||||
|
|
|
@ -860,6 +860,7 @@ class VM:
|
||||||
StrictHostKeyChecking=no
|
StrictHostKeyChecking=no
|
||||||
UserKnownHostsFile=/dev/null
|
UserKnownHostsFile=/dev/null
|
||||||
ForwardAgent={forward_agent}
|
ForwardAgent={forward_agent}
|
||||||
|
PasswordAuthentication no
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
self.ssh_config_file.write_text(ssh_config)
|
self.ssh_config_file.write_text(ssh_config)
|
||||||
|
@ -1330,6 +1331,7 @@ class VM:
|
||||||
if not env:
|
if not env:
|
||||||
return
|
return
|
||||||
write_env = {k: str(v) for (k, v) in env.items()}
|
write_env = {k: str(v) for (k, v) in env.items()}
|
||||||
|
write_env["TOOLS_DISTRO_SLUG"] = self.name
|
||||||
write_env_filename = ".ci-env"
|
write_env_filename = ".ci-env"
|
||||||
write_env_filepath = tools.utils.REPO_ROOT / ".ci-env"
|
write_env_filepath = tools.utils.REPO_ROOT / ".ci-env"
|
||||||
write_env_filepath.write_text(json.dumps(write_env))
|
write_env_filepath.write_text(json.dumps(write_env))
|
||||||
|
@ -1431,7 +1433,7 @@ class VM:
|
||||||
"""
|
"""
|
||||||
Combine the code coverage databases
|
Combine the code coverage databases
|
||||||
"""
|
"""
|
||||||
return self.run_nox("combine-coverage", session_args=[self.name])
|
return self.run_nox("combine-coverage-onedir", session_args=[self.name])
|
||||||
|
|
||||||
def create_xml_coverage_reports(self):
|
def create_xml_coverage_reports(self):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Add table
Reference in a new issue