Merge pull request #67803 from dwoz/merge/master/3007.x
Some checks failed
CI / Prepare Workflow Run (push) Has been cancelled
CI / Pre-Commit (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / NSIS Tests (push) Has been cancelled
CI / Prepare Release: (push) Has been cancelled
CI / Documentation (push) Has been cancelled
CI / Build Source Tarball (push) Has been cancelled
CI / Build Salt Onedir (push) Has been cancelled
CI / Build Packages (push) Has been cancelled
CI / CI Deps (push) Has been cancelled
CI / Test Package (push) Has been cancelled
CI / Test Salt (push) Has been cancelled
CI / Combine Code Coverage (push) Has been cancelled
CI / Set the Pipeline Exit Status (push) Has been cancelled

Merge forward 3007.x into master
This commit is contained in:
Daniel Wozniak 2025-03-08 04:21:26 -07:00 committed by GitHub
commit f906ca5052
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
135 changed files with 2367 additions and 1839 deletions

View file

@ -29,21 +29,13 @@ runs:
steps:
- name: Download Cached Deps Onedir Package Directory
id: onedir-bare-cache
uses: ./.github/actions/cache
- name: Install Salt Packaging Dependencies into Relenv Onedir
uses: ./.github/actions/build-onedir-deps
with:
path: artifacts/${{ inputs.package-name }}
key: >
${{ inputs.cache-prefix }}|${{ inputs.python-version }}|deps|${{ inputs.platform }}|${{ inputs.arch }}|${{ inputs.package-name }}|${{
hashFiles(
format('{0}/.relenv/**/*.xz', github.workspace),
'requirements/static/pkg/*/*.txt',
'.github/actions/build-onedir-deps/action.yml',
'.github/workflows/build-deps-onedir-*.yml',
'cicd/shared-gh-workflows-context.yml'
)
}}
platform: ${{ inputs.platform }}
arch: ${{ inputs.arch }}
python-version: "${{ inputs.python-version }}"
cache-prefix: ${{ inputs.cache-seed }}|relenv|${{ inputs.salt-version }}
- name: Download Source Tarball
uses: actions/download-artifact@v4

View file

@ -92,3 +92,9 @@ OkZFOjhCOjI3OjFDOjFBOkJEOjUxOjQ2OjE4OjBBOjhFOjVBOjI1OjQzOjQzOjZGOkRBXHJcbmE9c2V0
dXA6YWN0aXZlXHJcbiIsICJ0eXBlIjogImFuc3dlciJ9
-- Message received --
```
SSH to your local port.
```
ssh -o StrictHostKeychecking=no -o TCPKeepAlive=no -o StrictHostKeyChecking=no -vv -p 5222 runner@localhost
```

View file

@ -6,6 +6,7 @@ import io
import json
import logging
import os
import signal
import sys
import textwrap
import time
@ -77,6 +78,42 @@ def print_pastable(data, message="offer"):
sys.stdout.flush()
async def read_from_stdin():
loop = asyncio.get_event_loop()
line = await loop.run_in_executor(
None, input, "-- Please enter a message from remote party --\n"
)
data = line
while line:
try:
line = await loop.run_in_executor(None, input)
except EOFError:
break
data += line
print("-- Message received --")
return data
class Channels:
def __init__(self, channels=None):
if channels is None:
channels = []
self.channels = channels
def add(self, channel):
self.channels.append(channel)
def close(self):
for channel in self.channels:
channel.close()
class ProxyConnection:
def __init__(self, pc, channel):
self.pc = pc
self.channel = channel
class ProxyClient:
def __init__(self, args, channel):
@ -219,29 +256,7 @@ class ProxyServer:
log.exception("WTF")
class ProxyConnection:
def __init__(self, pc, channel):
self.pc = pc
self.channel = channel
async def read_from_stdin():
loop = asyncio.get_event_loop()
line = await loop.run_in_executor(
None, input, "-- Please enter a message from remote party --\n"
)
data = line
while line:
try:
line = await loop.run_in_executor(None, input)
except EOFError:
break
data += line
print("-- Message received --")
return data
async def run_answer(pc, args):
async def run_answer(stop, pc, args):
"""
Top level offer answer server.
"""
@ -270,11 +285,11 @@ async def run_answer(pc, args):
elif obj is BYE:
print("Exiting")
while True:
while not stop.is_set():
await asyncio.sleep(0.3)
async def run_offer(pc, args):
async def run_offer(stop, pc, args):
"""
Top level offer server this will estabilsh a data channel and start a tcp
server on the port provided. New connections to the server will start the
@ -324,10 +339,14 @@ async def run_offer(pc, args):
elif obj is BYE:
print("Exiting")
while True:
while not stop.is_set():
await asyncio.sleep(0.3)
async def signal_handler(stop, pc):
stop.set()
if __name__ == "__main__":
if sys.platform == "win32":
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
@ -343,16 +362,22 @@ if __name__ == "__main__":
logging.basicConfig(level=logging.DEBUG)
else:
logging.basicConfig(level=logging.INFO)
stop = asyncio.Event()
pc = RTCPeerConnection()
if args.role == "offer":
coro = run_offer(pc, args)
coro = run_offer(stop, pc, args)
else:
coro = run_answer(pc, args)
coro = run_answer(stop, pc, args)
# run event loop
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
for signame in ("SIGINT", "SIGTERM"):
loop.add_signal_handler(
getattr(signal, signame),
lambda: asyncio.create_task(signal_handler(stop, pc)),
)
try:
loop.run_until_complete(coro)
except KeyboardInterrupt:

View file

@ -1,192 +0,0 @@
---
name: Build Packaging Dependencies Onedir
on:
workflow_call:
inputs:
salt-version:
type: string
required: true
description: The Salt version to set prior to building packages.
cache-seed:
required: true
type: string
description: Seed used to invalidate caches
relenv-version:
required: true
type: string
description: The version of relenv to use
python-version:
required: true
type: string
description: The version of python to use with relenv
matrix:
required: true
type: string
description: Json job matrix config
linux_arm_runner:
required: true
type: string
description: Json job matrix config
env:
RELENV_DATA: "${{ github.workspace }}/.relenv"
COLUMNS: 190
AWS_MAX_ATTEMPTS: "10"
AWS_RETRY_MODE: "adaptive"
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
PIP_DISABLE_PIP_VERSION_CHECK: "1"
jobs:
build-deps-linux:
name: Linux
if: ${{ toJSON(fromJSON(inputs.matrix)['linux']) != '[]' }}
runs-on:
- ${{ matrix.arch == 'x86_64' && 'ubuntu-24.04' || inputs.linux_arm_runner }}
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(inputs.matrix)['linux'] }}
env:
USE_S3_CACHE: 'false'
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"
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}|build-deps|linux|${{ matrix.arch }}
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
with:
platform: linux
arch: ${{ matrix.arch == 'arm64' && 'aarch64' || matrix.arch }}
version: ${{ inputs.relenv-version }}
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Install Salt Packaging Dependencies into Relenv Onedir
uses: ./.github/actions/build-onedir-deps
with:
platform: linux
arch: ${{ matrix.arch }}
python-version: "${{ inputs.python-version }}"
cache-prefix: ${{ inputs.cache-seed }}|relenv|${{ steps.setup-relenv.outputs.version }}
build-deps-macos:
name: macOS
if: ${{ toJSON(fromJSON(inputs.matrix)['macos']) != '[]' }}
strategy:
fail-fast: false
max-parallel: 2
matrix:
include: ${{ fromJSON(inputs.matrix)['macos'] }}
runs-on:
- ${{ matrix.arch == 'arm64' && 'macos-14' || 'macos-13' }}
env:
USE_S3_CACHE: 'false'
PIP_INDEX_URL: https://pypi.org/simple
steps:
- name: "Check cores"
shell: bash
run: sysctl -n hw.ncpu
- 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
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}|build-deps|macos
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
with:
platform: macos
arch: ${{ matrix.arch }}
version: ${{ inputs.relenv-version }}
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Install Salt Packaging Dependencies into Relenv Onedir
uses: ./.github/actions/build-onedir-deps
with:
platform: macos
arch: ${{ matrix.arch }}
python-version: "${{ inputs.python-version }}"
cache-prefix: ${{ inputs.cache-seed }}|relenv|${{ steps.setup-relenv.outputs.version }}
build-deps-windows:
name: Windows
if: ${{ toJSON(fromJSON(inputs.matrix)['windows']) != '[]' }}
strategy:
fail-fast: false
max-parallel: 2
matrix:
include: ${{ fromJSON(inputs.matrix)['windows'] }}
runs-on: windows-latest
env:
USE_S3_CACHE: 'false'
PIP_INDEX_URL: https://pypi.org/simple
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"
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}|build-deps|windows|${{ matrix.arch }}
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
with:
platform: windows
arch: ${{ matrix.arch }}
version: ${{ inputs.relenv-version }}
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Install Salt Packaging Dependencies into Relenv Onedir
uses: ./.github/actions/build-onedir-deps
with:
platform: windows
arch: ${{ matrix.arch }}
python-version: "${{ inputs.python-version }}"
cache-prefix: ${{ inputs.cache-seed }}|relenv|${{ steps.setup-relenv.outputs.version }}

View file

@ -108,7 +108,7 @@ jobs:
- ${{ matrix.arch == 'arm64' && 'macos-14' || 'macos-13' }}
env:
PIP_INDEX_URL: https://pypi.org/simple
USE_S3_CACHE: 'false'
steps:
- name: "Check cores"
shell: bash
@ -125,16 +125,6 @@ jobs:
with:
python-version: "3.10"
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
with:
platform: macos
arch: ${{ matrix.arch }}
version: ${{ inputs.relenv-version }}
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
@ -146,6 +136,16 @@ jobs:
with:
salt-version: "${{ inputs.salt-version }}"
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
with:
platform: macos
arch: ${{ matrix.arch }}
version: ${{ inputs.relenv-version }}
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Install Salt into Relenv Onedir
uses: ./.github/actions/build-onedir-salt
with:
@ -166,7 +166,7 @@ jobs:
runs-on: windows-latest
env:
PIP_INDEX_URL: https://pypi.org/simple
USE_S3_CACHE: 'false'
steps:
- name: "Throttle Builds"
@ -181,16 +181,6 @@ jobs:
with:
python-version: "3.10"
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
with:
platform: windows
arch: ${{ matrix.arch }}
version: ${{ inputs.relenv-version }}
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
@ -202,6 +192,16 @@ jobs:
with:
salt-version: "${{ inputs.salt-version }}"
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
with:
platform: windows
arch: ${{ matrix.arch }}
version: ${{ inputs.relenv-version }}
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Install Salt into Relenv Onedir
uses: ./.github/actions/build-onedir-salt
with:

View file

@ -239,7 +239,7 @@ jobs:
lint:
name: Lint
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
uses: ./.github/workflows/lint-action.yml
needs:
- prepare-workflow
@ -257,7 +257,7 @@ jobs:
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
runs-on:
- ubuntu-22.04
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
needs:
- prepare-workflow
steps:
@ -379,7 +379,7 @@ jobs:
build-docs:
name: Documentation
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
needs:
- prepare-workflow
- build-source-tarball
@ -390,7 +390,7 @@ jobs:
build-source-tarball:
name: Build Source Tarball
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
needs:
- prepare-workflow
- prepare-release
@ -419,33 +419,18 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
build-deps-onedir:
name: Build Onedir Dependencies
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-deps-onedir'] }}
needs:
- prepare-workflow
uses: ./.github/workflows/build-deps-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
relenv-version: "0.18.0"
python-version: "3.10.15"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
build-salt-onedir:
name: Build Salt Onedir
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-salt-onedir'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-salt-onedir'] }}
needs:
- prepare-workflow
- build-deps-onedir
- build-source-tarball
uses: ./.github/workflows/build-salt-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
relenv-version: "0.18.0"
python-version: "3.10.15"
relenv-version: "0.18.1"
python-version: "3.10.16"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -459,8 +444,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.18.0"
python-version: "3.10.15"
relenv-version: "0.18.1"
python-version: "3.10.16"
source: "onedir"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -476,7 +461,7 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -493,7 +478,7 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.config)['skip_code_coverage'] }}
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['pkg-test-matrix']) }}
@ -511,7 +496,7 @@ jobs:
python-version: "3.10"
testrun: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['testrun']) }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.config)['skip_code_coverage'] }}
workflow-slug: ci
default-timeout: 180
@ -520,7 +505,7 @@ jobs:
combine-all-code-coverage:
name: Combine Code Coverage
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['skip_code_coverage'] == false }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['skip_code_coverage'] == false }}
runs-on: ubuntu-22.04
env:
PIP_INDEX_URL: https://pypi.org/simple
@ -650,7 +635,7 @@ jobs:
# This step is just so we can make github require this step, to pass checks
# on a pull request instead of requiring all
name: Set the ${{ github.workflow }} Pipeline Exit Status
if: always()
if: ${{ !cancelled() && always() }}
runs-on: ubuntu-22.04
needs:
- prepare-workflow
@ -658,7 +643,6 @@ jobs:
- lint
- nsis-tests
- build-docs
- build-deps-onedir
- build-salt-onedir
- combine-all-code-coverage
- build-ci-deps

View file

@ -238,7 +238,7 @@ jobs:
lint:
name: Lint
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
uses: ./.github/workflows/lint-action.yml
needs:
- prepare-workflow
@ -256,7 +256,7 @@ jobs:
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
runs-on:
- ubuntu-22.04
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
needs:
- prepare-workflow
steps:
@ -378,7 +378,7 @@ jobs:
build-docs:
name: Documentation
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
needs:
- prepare-workflow
- build-source-tarball
@ -389,7 +389,7 @@ jobs:
build-source-tarball:
name: Build Source Tarball
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
needs:
- prepare-workflow
- prepare-release
@ -418,33 +418,18 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
build-deps-onedir:
name: Build Onedir Dependencies
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-deps-onedir'] }}
needs:
- prepare-workflow
uses: ./.github/workflows/build-deps-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
relenv-version: "0.18.0"
python-version: "3.10.15"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
build-salt-onedir:
name: Build Salt Onedir
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-salt-onedir'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-salt-onedir'] }}
needs:
- prepare-workflow
- build-deps-onedir
- build-source-tarball
uses: ./.github/workflows/build-salt-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
relenv-version: "0.18.0"
python-version: "3.10.15"
relenv-version: "0.18.1"
python-version: "3.10.16"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -458,8 +443,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.18.0"
python-version: "3.10.15"
relenv-version: "0.18.1"
python-version: "3.10.16"
source: "onedir"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -478,8 +463,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.18.0"
python-version: "3.10.15"
relenv-version: "0.18.1"
python-version: "3.10.16"
source: "src"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -499,7 +484,7 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -516,7 +501,7 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['pkg-test-matrix']) }}
@ -534,7 +519,7 @@ jobs:
python-version: "3.10"
testrun: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['testrun']) }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
skip-code-coverage: true
workflow-slug: nightly
default-timeout: 360
@ -544,7 +529,7 @@ jobs:
# This step is just so we can make github require this step, to pass checks
# on a pull request instead of requiring all
name: Set the ${{ github.workflow }} Pipeline Exit Status
if: always()
if: ${{ !cancelled() && always() }}
runs-on: ubuntu-22.04
environment: nightly
needs:
@ -553,7 +538,6 @@ jobs:
- lint
- nsis-tests
- build-docs
- build-deps-onedir
- build-salt-onedir
- build-pkgs-src
- build-ci-deps

View file

@ -48,14 +48,14 @@ jobs:
cache-seed: ${{ inputs.cache-seed }}
- name: Check ALL Files On Branch
if: github.event_name != 'pull_request'
if: ${{ !cancelled() && github.event_name != 'pull_request' }}
env:
SKIP: lint-salt,lint-tests,remove-import-headers,pyupgrade
run: |
pre-commit run --show-diff-on-failure --color=always --all-files
- name: Check Changed Files On PR
if: github.event_name == 'pull_request' && fromJSON(inputs.changed-files)['repo']
if: ${{ !cancelled() && github.event_name == 'pull_request' && fromJSON(inputs.changed-files)['repo'] }}
env:
SKIP: lint-salt,lint-tests
GH_ACTIONS_ANNOTATE: "1"
@ -63,6 +63,6 @@ jobs:
pre-commit run --show-diff-on-failure --color=always --files ${{ join(fromJSON(inputs.changed-files)['repo_files'], ' ') }}
- name: Check Docs On Deleted Files
if: github.event_name == 'pull_request' && fromJSON(inputs.changed-files)['deleted']
if: ${{ !cancelled() && github.event_name == 'pull_request' && fromJSON(inputs.changed-files)['deleted'] }}
run: |
pre-commit run --show-diff-on-failure --color=always check-docs --files ${{ join(fromJSON(inputs.changed-files)['deleted_files'], ' ') }}

View file

@ -186,7 +186,7 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -422,7 +422,7 @@ jobs:
# This step is just so we can make github require this step, to pass checks
# on a pull request instead of requiring all
name: Set the ${{ github.workflow }} Pipeline Exit Status
if: always()
if: ${{ !cancelled() && always() }}
runs-on: ubuntu-22.04
needs:
- check-requirements

View file

@ -286,7 +286,7 @@ jobs:
lint:
name: Lint
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
uses: ./.github/workflows/lint-action.yml
needs:
- prepare-workflow
@ -304,7 +304,7 @@ jobs:
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
runs-on:
- ubuntu-22.04
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
needs:
- prepare-workflow
steps:
@ -426,7 +426,7 @@ jobs:
build-docs:
name: Documentation
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
needs:
- prepare-workflow
- build-source-tarball
@ -437,7 +437,7 @@ jobs:
build-source-tarball:
name: Build Source Tarball
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
needs:
- prepare-workflow
- prepare-release
@ -466,33 +466,18 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
build-deps-onedir:
name: Build Onedir Dependencies
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-deps-onedir'] }}
needs:
- prepare-workflow
uses: ./.github/workflows/build-deps-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
relenv-version: "0.18.0"
python-version: "3.10.15"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
build-salt-onedir:
name: Build Salt Onedir
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-salt-onedir'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-salt-onedir'] }}
needs:
- prepare-workflow
- build-deps-onedir
- build-source-tarball
uses: ./.github/workflows/build-salt-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
relenv-version: "0.18.0"
python-version: "3.10.15"
relenv-version: "0.18.1"
python-version: "3.10.16"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -506,8 +491,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.18.0"
python-version: "3.10.15"
relenv-version: "0.18.1"
python-version: "3.10.16"
source: "onedir"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -523,7 +508,7 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -540,7 +525,7 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['pkg-test-matrix']) }}
@ -558,7 +543,7 @@ jobs:
python-version: "3.10"
testrun: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['testrun']) }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
skip-code-coverage: true
workflow-slug: scheduled
default-timeout: 360
@ -568,7 +553,7 @@ jobs:
# This step is just so we can make github require this step, to pass checks
# on a pull request instead of requiring all
name: Set the ${{ github.workflow }} Pipeline Exit Status
if: always()
if: ${{ !cancelled() && always() }}
runs-on: ubuntu-22.04
needs:
- workflow-requirements
@ -578,7 +563,6 @@ jobs:
- lint
- nsis-tests
- build-docs
- build-deps-onedir
- build-salt-onedir
- build-ci-deps
- test-packages

View file

@ -33,6 +33,22 @@ jobs:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ssh-debug
- name: Install Nox
run: |
python3 -m pip install 'nox==2022.8.7'
env:
PIP_INDEX_URL: https://pypi.org/simple
- uses: ./.github/actions/ssh-tunnel
with:
public_key: ${{ inputs.public_key }}

View file

@ -278,7 +278,7 @@ jobs:
lint:
name: Lint
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['lint'] }}
uses: ./.github/workflows/lint-action.yml
needs:
- prepare-workflow
@ -296,7 +296,7 @@ jobs:
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
runs-on:
- ubuntu-22.04
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['prepare-release'] }}
needs:
- prepare-workflow
steps:
@ -419,7 +419,7 @@ jobs:
build-docs:
name: Documentation
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-docs'] }}
needs:
- prepare-workflow
- build-source-tarball
@ -430,7 +430,7 @@ jobs:
build-source-tarball:
name: Build Source Tarball
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-source-tarball'] }}
needs:
- prepare-workflow
- prepare-release
@ -459,33 +459,18 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
build-deps-onedir:
name: Build Onedir Dependencies
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-deps-onedir'] }}
needs:
- prepare-workflow
uses: ./.github/workflows/build-deps-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
relenv-version: "0.18.0"
python-version: "3.10.15"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
build-salt-onedir:
name: Build Salt Onedir
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-salt-onedir'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-salt-onedir'] }}
needs:
- prepare-workflow
- build-deps-onedir
- build-source-tarball
uses: ./.github/workflows/build-salt-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
relenv-version: "0.18.0"
python-version: "3.10.15"
relenv-version: "0.18.1"
python-version: "3.10.16"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -499,8 +484,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.18.0"
python-version: "3.10.15"
relenv-version: "0.18.1"
python-version: "3.10.16"
source: "onedir"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -519,8 +504,8 @@ jobs:
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
relenv-version: "0.18.0"
python-version: "3.10.15"
relenv-version: "0.18.1"
python-version: "3.10.16"
source: "src"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -540,7 +525,7 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
@ -557,7 +542,7 @@ jobs:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
nox-version: 2022.8.7
python-version: "3.10"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
skip-code-coverage: true
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['pkg-test-matrix']) }}
@ -575,7 +560,7 @@ jobs:
python-version: "3.10"
testrun: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['testrun']) }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.15
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
skip-code-coverage: true
workflow-slug: staging
default-timeout: 180
@ -616,7 +601,7 @@ jobs:
publish-pypi:
name: Publish to PyPi(test)
if: ${{ inputs.skip-test-pypi-publish != true && github.event.repository.fork != true }}
if: ${{ !cancelled() && inputs.skip-test-pypi-publish != true && github.event.repository.fork != true }}
needs:
- prepare-workflow
- upload-release-artifacts
@ -670,11 +655,10 @@ jobs:
draft-release:
name: Draft Github Release
if: |
always() && (needs.test.result == 'success' || needs.test.result == 'skipped') &&
if: ${{ !cancelled() && (needs.test.result == 'success' || needs.test.result == 'skipped') &&
(needs.test-packages.result == 'success' || needs.test-packages.result == 'skipped') &&
needs.prepare-workflow.result == 'success' && needs.build-salt-onedir.result == 'success' &&
needs.build-pkgs-onedir.result == 'success' && needs.pre-commit.result == 'success'
needs.build-pkgs-onedir.result == 'success' && needs.pre-commit.result == 'success' }}
needs:
- prepare-workflow
- pre-commit
@ -695,7 +679,7 @@ jobs:
# This step is just so we can make github require this step, to pass checks
# on a pull request instead of requiring all
name: Set the ${{ github.workflow }} Pipeline Exit Status
if: always()
if: ${{ !cancelled() && always() }}
runs-on: ubuntu-22.04
needs:
- check-requirements
@ -704,7 +688,6 @@ jobs:
- lint
- nsis-tests
- build-docs
- build-deps-onedir
- build-salt-onedir
- build-pkgs-src
- upload-release-artifacts

View file

@ -29,7 +29,7 @@
lint:
<%- do conclusion_needs.append('lint') %>
name: Lint
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
uses: ./.github/workflows/lint-action.yml
needs:
- prepare-workflow
@ -58,7 +58,7 @@
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
runs-on:
- ubuntu-22.04
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
needs:
- prepare-workflow
steps:
@ -190,7 +190,7 @@
<{ job_name }>:
<%- do conclusion_needs.append(job_name) %>
name: Documentation
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
needs:
- prepare-workflow
- build-source-tarball
@ -207,7 +207,7 @@
<{ job_name }>:
name: Build Source Tarball
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
needs:
- prepare-workflow
- prepare-release
@ -238,37 +238,15 @@
<%- endif %>
<%- set job_name = "build-deps-onedir" %>
<%- if includes.get(job_name, True) %>
<{ job_name }>:
<%- do conclusion_needs.append(job_name) %>
name: Build Onedir Dependencies
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
needs:
- prepare-workflow
uses: ./.github/workflows/build-deps-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
relenv-version: "<{ relenv_version }>"
python-version: "<{ python_version }>"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
<%- endif %>
<%- set job_name = "build-salt-onedir" %>
<%- if includes.get(job_name, True) %>
<{ job_name }>:
<%- do conclusion_needs.append(job_name) %>
name: Build Salt Onedir
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
needs:
- prepare-workflow
- build-deps-onedir
- build-source-tarball
uses: ./.github/workflows/build-salt-onedir.yml
with:
@ -306,7 +284,7 @@
combine-all-code-coverage:
<%- do conclusion_needs.append("combine-all-code-coverage") %>
name: Combine Code Coverage
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['skip_code_coverage'] == false }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['skip_code_coverage'] == false }}
runs-on: ubuntu-22.04
env:
PIP_INDEX_URL: https://pypi.org/simple

View file

@ -320,7 +320,7 @@ jobs:
# This step is just so we can make github require this step, to pass checks
# on a pull request instead of requiring all
name: Set the ${{ github.workflow }} Pipeline Exit Status
if: always()
if: ${{ !cancelled() && always() }}
runs-on: ubuntu-22.04
<%- if workflow_slug == "nightly" %>
environment: <{ workflow_slug }>

View file

@ -116,7 +116,7 @@ on:
publish-pypi:
<%- do conclusion_needs.append('publish-pypi') %>
name: Publish to PyPi(test)
if: ${{ inputs.skip-test-pypi-publish != true && github.event.repository.fork != true }}
if: ${{ !cancelled() && inputs.skip-test-pypi-publish != true && github.event.repository.fork != true }}
needs:
- prepare-workflow
- upload-release-artifacts
@ -178,11 +178,10 @@ on:
draft-release:
name: Draft Github Release
if: |
always() && (needs.test.result == 'success' || needs.test.result == 'skipped') &&
if: ${{ !cancelled() && (needs.test.result == 'success' || needs.test.result == 'skipped') &&
(needs.test-packages.result == 'success' || needs.test-packages.result == 'skipped') &&
needs.prepare-workflow.result == 'success' && needs.build-salt-onedir.result == 'success' &&
needs.build-pkgs-onedir.result == 'success' && needs.pre-commit.result == 'success'
needs.build-pkgs-onedir.result == 'success' && needs.pre-commit.result == 'success' }}
needs:
- prepare-workflow
- pre-commit

View file

@ -71,7 +71,7 @@ jobs:
test-linux:
name: ${{ matrix.display_name }} ${{ matrix.tests-chunk }} ${{ matrix.transport }}${{ matrix.fips && '(fips)' || '' }}${{ matrix.test-group && ' ' || '' }}${{ matrix.test-group && matrix.test-group || '' }}
runs-on: ${{ matrix.arch == 'x86_64' && 'ubuntu-24.04' || inputs.linux_arm_runner }}
if: toJSON(fromJSON(inputs.matrix)['linux-x86_64']) != '[]'
if: ${{ !cancelled() && toJSON(fromJSON(inputs.matrix)['linux-x86_64']) != '[]' }}
# Full test runs. Each chunk should never take more than 2 hours.
# Partial test runs(no chunk parallelization), 6 Hours
timeout-minutes: ${{ fromJSON(inputs.testrun)['type'] == 'full' && inputs.default-timeout || 360 }}
@ -80,10 +80,6 @@ jobs:
matrix:
include: ${{ fromJSON(inputs.matrix)['linux-x86_64'] }}
steps:
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: "Throttle Builds"
shell: bash
@ -98,6 +94,16 @@ jobs:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Free Disk Space Before Build
run: |
echo "Disk space before cleanup:"
@ -154,39 +160,28 @@ jobs:
free -h
- name: "Create container ${{ matrix.container }}"
env:
GITHUB_ACTIONS: true
CI: true
SKIP_REQUIREMENTS_INSTALL: 1
PRINT_TEST_SELECTION: 0
PRINT_TEST_PLAN_ONLY: 0
PRINT_SYSTEM_INFO: 0
RERUN_FAILURES: 1
GITHUB_ACTIONS_PIPELINE: 1
SKIP_INITIAL_ONEDIR_FAILURES: 1
SKIP_INITIAL_GH_ACTIONS_FAILURES: 1
SKIP_CODE_COVERAGE: ${{ inputs.skip-code-coverage && '1' || '0' }}
CONVERAGE_CONTEXT: ${{ matrix.slug }}
COLUMNS: 190
PIP_INDEX_URL: "${{ vars.PIP_INDEX_URL }}"
PIP_TRUSTED_HOST: "${{ vars.PIP_TRUSTED_HOST }}"
PIP_EXTRA_INDEX_URL: "${{ vars.PIP_EXTRA_INDEX_URL }}"
PIP_DISABLE_PIP_VERSION_CHECK: 1
RAISE_DEPRECATIONS_RUNTIME_ERRORS: 1
SALT_TRANSPORT: ${{ matrix.transport }}
run: |
/usr/bin/docker \
create --name ${{ github.run_id }}_salt-test \
--workdir /__w/salt/salt \
--privileged \
--ulimit="nofile=262144:262144" \
-e "HOME=/github/home" \
-e GITHUB_ACTIONS=true \
-e CI=true \
-e SKIP_REQUIREMENTS_INSTALL=1 \
-e PRINT_TEST_SELECTION=0 \
-e PRINT_TEST_PLAN_ONLY=0 \
-e PRINT_SYSTEM_INFO=0 \
-e RERUN_FAILURES=1 \
-e GITHUB_ACTIONS_PIPELINE=1 \
-e SKIP_INITIAL_ONEDIR_FAILURES=1 \
-e SKIP_INITIAL_GH_ACTIONS_FAILURES=1 \
-e SKIP_CODE_COVERAGE=${{ inputs.skip-code-coverage && '1' || '0' }} \
-e CONVERAGE_CONTEXT=${{ matrix.slug }} \
-e COLUMNS=190 \
-e PIP_INDEX_URL=${{ vars.PIP_INDEX_URL }} \
-e PIP_TRUSTED_HOST=${{ vars.PIP_TRUSTED_HOST }} \
-e PIP_EXTRA_INDEX_URL=${{ vars.PIP_EXTRA_INDEX_URL }} \
-e PIP_DISABLE_PIP_VERSION_CHECK="1" \
-e RAISE_DEPRECATIONS_RUNTIME_ERRORS="1" \
-e SALT_TRANSPORT=${{ matrix.transport }} \
-e LANG="en_US.UTF-8" \
-e SHELL=/bin/bash \
-v "/home/runner/work":"/__w" \
-v "/tmp/":"/var/lib/docker" \
--entrypoint "/usr/lib/systemd/systemd" \
${{ matrix.container }} \
--systemd --unit rescue.target
tools container create ${{ matrix.container }} --name ${{ github.run_id }}_salt-test
- name: "Start container ${{ matrix.container }}"
run: |
@ -387,7 +382,7 @@ jobs:
test-linux-arm64:
name: ${{ matrix.display_name }} ${{ matrix.tests-chunk }} ${{ matrix.transport }}${{ matrix.fips && '(fips)' || '' }}${{ matrix.test-group && ' ' || '' }}${{ matrix.test-group && matrix.test-group || '' }}
runs-on: ${{ matrix.arch == 'x86_64' && 'ubuntu-22.04' || inputs.linux_arm_runner }}
if: toJSON(fromJSON(inputs.matrix)['linux-arm64']) != '[]'
if: ${{ !cancelled() && toJSON(fromJSON(inputs.matrix)['linux-arm64']) != '[]' }}
# Full test runs. Each chunk should never take more than 2 hours.
# Partial test runs(no chunk parallelization), 6 Hours
timeout-minutes: ${{ fromJSON(inputs.testrun)['type'] == 'full' && inputs.default-timeout || 360 }}
@ -396,10 +391,6 @@ jobs:
matrix:
include: ${{ fromJSON(inputs.matrix)['linux-arm64'] }}
steps:
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: "Throttle Builds"
shell: bash
@ -411,9 +402,25 @@ jobs:
run: |
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: "Set `TIMESTAMP` environment variable"
shell: bash
run: |
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
- name: Free Disk Space Before Build
run: |
echo "Disk space before cleanup:"
@ -470,39 +477,28 @@ jobs:
free -h
- name: "Create container ${{ matrix.container }}"
env:
GITHUB_ACTIONS: true
CI: true
SKIP_REQUIREMENTS_INSTALL: 1
PRINT_TEST_SELECTION: 0
PRINT_TEST_PLAN_ONLY: 0
PRINT_SYSTEM_INFO: 0
RERUN_FAILURES: 1
GITHUB_ACTIONS_PIPELINE: 1
SKIP_INITIAL_ONEDIR_FAILURES: 1
SKIP_INITIAL_GH_ACTIONS_FAILURES: 1
SKIP_CODE_COVERAGE: ${{ inputs.skip-code-coverage && '1' || '0' }}
CONVERAGE_CONTEXT: ${{ matrix.slug }}
COLUMNS: 190
PIP_INDEX_URL: "${{ vars.PIP_INDEX_URL }}"
PIP_TRUSTED_HOST: "${{ vars.PIP_TRUSTED_HOST }}"
PIP_EXTRA_INDEX_URL: "${{ vars.PIP_EXTRA_INDEX_URL }}"
PIP_DISABLE_PIP_VERSION_CHECK: 1
RAISE_DEPRECATIONS_RUNTIME_ERRORS: 1
SALT_TRANSPORT: ${{ matrix.transport }}
run: |
/usr/bin/docker \
create --name ${{ github.run_id }}_salt-test \
--workdir /__w/salt/salt \
--privileged \
--ulimit="nofile=262144:262144" \
-e "HOME=/github/home" \
-e GITHUB_ACTIONS=true \
-e CI=true \
-e SKIP_REQUIREMENTS_INSTALL=1 \
-e PRINT_TEST_SELECTION=0 \
-e PRINT_TEST_PLAN_ONLY=0 \
-e PRINT_SYSTEM_INFO=0 \
-e RERUN_FAILURES=1 \
-e GITHUB_ACTIONS_PIPELINE=1 \
-e SKIP_INITIAL_ONEDIR_FAILURES=1 \
-e SKIP_INITIAL_GH_ACTIONS_FAILURES=1 \
-e SKIP_CODE_COVERAGE=${{ inputs.skip-code-coverage && '1' || '0' }} \
-e CONVERAGE_CONTEXT=${{ matrix.slug }} \
-e COLUMNS=190 \
-e PIP_INDEX_URL=${{ vars.PIP_INDEX_URL }} \
-e PIP_TRUSTED_HOST=${{ vars.PIP_TRUSTED_HOST }} \
-e PIP_EXTRA_INDEX_URL=${{ vars.PIP_EXTRA_INDEX_URL }} \
-e PIP_DISABLE_PIP_VERSION_CHECK="1" \
-e RAISE_DEPRECATIONS_RUNTIME_ERRORS="1" \
-e SALT_TRANSPORT=${{ matrix.transport }} \
-e LANG="en_US.UTF-8" \
-e SHELL=/bin/bash \
-v "/home/runner/work":"/__w" \
-v "/tmp/":"/var/lib/docker" \
--entrypoint "/usr/lib/systemd/systemd" \
${{ matrix.container }} \
--systemd --unit rescue.target
tools container create ${{ matrix.container }} --name ${{ github.run_id }}_salt-test
- name: "Start container ${{ matrix.container }}"
run: |
@ -705,7 +701,7 @@ jobs:
runs-on: ${{ matrix.runner }}
# Full test runs. Each chunk should never take more than 2 hours.
# Partial test runs(no chunk parallelization), 6 Hours
if: toJSON(fromJSON(inputs.matrix)['macos']) != '[]'
if: ${{ !cancelled() && toJSON(fromJSON(inputs.matrix)['macos']) != '[]' }}
timeout-minutes: ${{ fromJSON(inputs.testrun)['type'] == 'full' && inputs.default-timeout || 360 }}
strategy:
fail-fast: false
@ -726,6 +722,11 @@ jobs:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Setup Salt Version
run: |
echo "${{ inputs.salt-version }}" > salt/_version.txt
@ -751,12 +752,6 @@ jobs:
uses: actions/download-artifact@v4
with:
name: nox-macos-${{ matrix.arch }}-${{ inputs.nox-session }}
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
@ -983,7 +978,7 @@ jobs:
test-windows:
name: ${{ matrix.display_name }} ${{ matrix.tests-chunk }} ${{ matrix.transport }}${{ matrix.test-group && ' ' || '' }}${{ matrix.test-group && matrix.test-group || '' }}
if: toJSON(fromJSON(inputs.matrix)['windows']) != '[]'
if: ${{ !cancelled() && toJSON(fromJSON(inputs.matrix)['windows']) != '[]' }}
runs-on: ${{ matrix.slug }}
# Full test runs. Each chunk should never take more than 2 hours.
# Partial test runs(no chunk parallelization), 6 Hours
@ -1031,7 +1026,7 @@ jobs:
run: |
echo true
- name: Set up Python ${{ inputs.python-version }}
- name: Setup Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
@ -1349,7 +1344,7 @@ jobs:
run: |
tree -a artifacts
- name: Set up Python ${{ inputs.python-version }}
- name: Setup Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"

View file

@ -65,7 +65,7 @@ jobs:
test-linux:
name: ${{ matrix.display_name }} ${{ matrix.tests-chunk }}
runs-on: ${{ matrix.arch == 'x86_64' && 'ubuntu-24.04' || inputs.linux_arm_runner }}
if: ${{ toJSON(fromJSON(inputs.matrix)['linux']) != '[]' }}
if: ${{ !cancelled() && toJSON(fromJSON(inputs.matrix)['linux']) != '[]' }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
strategy:
fail-fast: false
@ -86,6 +86,16 @@ jobs:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Download Packages
uses: actions/download-artifact@v4
with:
@ -105,11 +115,6 @@ jobs:
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ matrix.platform }}-${{ matrix.arch }}.tar.xz
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
@ -135,7 +140,7 @@ jobs:
- name: "Create container ${{ matrix.container }}"
run: |
/usr/bin/docker create --name ${{ github.run_id }}_salt-test-pkg --workdir /__w/salt/salt --privileged -e "HOME=/github/home" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work":"/__w" -v "/home/runner/work/_temp":"/__w/_temp" -v "/home/runner/work/_actions":"/__w/_actions" -v "/opt/hostedtoolcache":"/__t" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" --entrypoint "/usr/lib/systemd/systemd" ${{ matrix.container }} --systemd --unit rescue.target
tools container create ${{ matrix.container }} --name ${{ github.run_id }}_salt-test-pkg
- name: "Start container ${{ matrix.container }}"
run: |
@ -145,31 +150,21 @@ jobs:
run: |
docker exec ${{ github.run_id}}_salt-test-pkg python3 -m nox --force-color -e decompress-dependencies -- linux ${{ matrix.arch }}
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: List Free Space
run: |
df -h || true
- name: Show System Info
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_SYSTEM_INFO_ONLY: "1"
run: |
docker exec ${{ github.run_id }}_salt-test-pkg python3 -m nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }}
docker exec \
-e SKIP_REQUIREMENTS_INSTALL=1 \
-e PRINT_SYSTEM_INFO_ONLY=1 \
${{ github.run_id }}_salt-test-pkg python3 -m nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }}
- name: Run Package Tests
env:
SKIP_REQUIREMENTS_INSTALL: "1"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
COVERAGE_CONTEXT: ${{ matrix.slug }}
run: |
/usr/bin/docker exec ${{ github.run_id }}_salt-test-pkg \
docker exec \
${{ github.run_id }}_salt-test-pkg \
python3 -m nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }} \
${{ matrix.version && format('--prev-version={0}', matrix.version) || ''}}
@ -197,7 +192,7 @@ jobs:
test-macos:
name: ${{ matrix.display_name }} ${{ matrix.tests-chunk }}
runs-on: ${{ matrix.runner }}
if: ${{ toJSON(fromJSON(inputs.matrix)['macos']) != '[]' }}
if: ${{ !cancelled() && toJSON(fromJSON(inputs.matrix)['macos']) != '[]' }}
timeout-minutes: 150 # 2 & 1/2 Hours - More than this and something is wrong (MacOS needs a little more time)
strategy:
fail-fast: false
@ -325,7 +320,7 @@ jobs:
name: ${{ matrix.display_name }} ${{ matrix.tests-chunk }}
runs-on: ${{ matrix.slug }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
if: ${{ toJSON(fromJSON(inputs.matrix)['windows']) != '[]' }}
if: ${{ !cancelled() && toJSON(fromJSON(inputs.matrix)['windows']) != '[]' }}
strategy:
fail-fast: false
matrix:

View file

@ -30,7 +30,7 @@ repos:
# case-insensitive filesystem like MacOS HFS+ or Windows FAT.
- id: check-json # Attempts to load all json files to verify syntax.
- id: check-symlinks # Checks for symlinks which do not point to anything.
- id: debug-statements # Check for debugger imports and py37+ breakpoint() calls in python source.
- id: debug-statements # Check for debugger imports and breakpoint() calls in python source.
exclude: >
(?x)^(
templates/.*
@ -145,21 +145,6 @@ repos:
rev: "4.8"
hooks:
- id: pip-tools-compile
alias: compile-pkg-linux-3.8-zmq-requirements
name: Linux Packaging Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(linux\.in|py3\.8/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/linux.in
- id: pip-tools-compile
alias: compile-pkg-linux-3.9-zmq-requirements
name: Linux Packaging Py3.9 ZeroMQ Requirements
@ -235,22 +220,6 @@ repos:
- --no-emit-index-url
- requirements/static/pkg/linux.in
- id: pip-tools-compile
alias: compile-pkg-freebsd-3.8-zmq-requirements
name: FreeBSD Packaging Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(freebsd\.in|py3\.8/freebsd\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/freebsd.in
- id: pip-tools-compile
alias: compile-pkg-freebsd-3.9-zmq-requirements
name: FreeBSD Packaging Py3.9 ZeroMQ Requirements
@ -396,21 +365,6 @@ repos:
- --no-emit-index-url
- requirements/static/pkg/darwin.in
- id: pip-tools-compile
alias: compile-pkg-windows-3.8-zmq-requirements
name: Windows Packaging Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.8/windows\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=windows
- --include=requirements/windows.txt
- --no-emit-index-url
- requirements/static/pkg/windows.in
- id: pip-tools-compile
alias: compile-pkg-windows-3.9-zmq-requirements
name: Windows Packaging Py3.9 ZeroMQ Requirements
@ -485,23 +439,6 @@ repos:
# <---- Packaging Requirements -------------------------------------------------------------------------------------
# ----- CI Requirements ------------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-linux-3.8-zmq-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))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-3.9-zmq-requirements
@ -593,21 +530,6 @@ repos:
- --no-emit-index-url
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-3.8-requirements
name: Linux CI Py3.8 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.8/linux-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --out-prefix=linux
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-3.9-requirements
name: Linux CI Py3.9 Crypto Requirements
@ -678,24 +600,6 @@ repos:
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-3.8-zmq-requirements
name: FreeBSD CI Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((freebsd|common)\.in|py3\.8/freebsd\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/freebsd.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-3.9-zmq-requirements
name: FreeBSD CI Py3.9 ZeroMQ Requirements
@ -786,23 +690,10 @@ repos:
- --no-emit-index-url
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-3.8-requirements
name: FreeBSD CI Py3.8 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.8/freebsd-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=freebsd
- --out-prefix=freebsd
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-3.9-requirements
name: FreeBSD CI Py3.9 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/crypto\.in)$
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.9/freebsd-crypto\.txt))$
pass_filenames: false
args:
@ -1027,24 +918,6 @@ repos:
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-3.8-zmq-requirements
name: Windows CI Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((windows|common)\.in|py3\.8/windows\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=windows
- --include=requirements/windows.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/windows.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-3.9-zmq-requirements
name: Windows CI Py3.9 ZeroMQ Requirements
@ -1130,21 +1003,6 @@ repos:
- --no-emit-index-url
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-3.8-requirements
name: Windows CI Py3.8 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.8/windows-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=windows
- --out-prefix=windows
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-3.9-requirements
name: Windows CI Py3.9 Crypto Requirements
@ -1219,18 +1077,6 @@ repos:
# <---- CI Requirements --------------------------------------------------------------------------------------------
# ----- Cloud CI Requirements ------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-cloud-3.8-requirements
name: Cloud CI Py3.8 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.8/cloud\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --no-emit-index-url
- requirements/static/ci/cloud.in
- id: pip-tools-compile
alias: compile-ci-cloud-3.9-requirements
name: Cloud CI Py3.9 Requirements
@ -1303,19 +1149,6 @@ repos:
# <---- Cloud CI Requirements --------------------------------------------------------------------------------------
# ----- Doc CI Requirements --------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-doc-requirements
name: Docs CI Py3.8 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/ci/(docs|common|linux)\.in|static/pkg/linux\.in|static/pkg/.*/linux\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/docs.in
- id: pip-tools-compile
alias: compile-doc-requirements
name: Docs CI Py3.9 Requirements
@ -1390,19 +1223,6 @@ repos:
# ----- Lint CI Requirements -------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-lint-3.8-requirements
name: Lint CI Py3.8 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.8/linux\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/lint.in
- id: pip-tools-compile
alias: compile-ci-lint-3.9-requirements
name: Lint CI Py3.9 Requirements
@ -1481,19 +1301,6 @@ repos:
# <---- Lint CI Requirements ---------------------------------------------------------------------------------------
# ----- Changelog ------------------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-changelog-3.8-requirements
name: Changelog CI Py3.8 Requirements
files: ^requirements/static/ci/(changelog\.in|py3\.8/(changelog|linux)\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/changelog.in
- id: pip-tools-compile
alias: compile-ci-changelog-3.9-requirements
name: Changelog CI Py3.9 Requirements
@ -1677,8 +1484,8 @@ repos:
rev: v3.15.1
hooks:
- id: pyupgrade
name: Upgrade code for Py3.8+
args: [--py38-plus, --keep-mock, --keep-runtime-typing]
name: Upgrade code to Py3.10+
args: [--py310-plus, --keep-mock]
exclude: >
(?x)^(
salt/client/ssh/ssh_py_shim.py

2
changelog/44736.fixed.md Normal file
View file

@ -0,0 +1,2 @@
Commands on Windows are now prefixed with ``cmd /c`` so that compound
commands (commands separated by ``&&``) run properly when using ``runas``

2
changelog/59977.fixed.md Normal file
View file

@ -0,0 +1,2 @@
Fixed an issue on Windows where checking success_retcodes when using the
runas parameter would fail. Now success_retcodes are checked correctly

2
changelog/60884.fixed.md Normal file
View file

@ -0,0 +1,2 @@
Fix an issue with cmd.script in Windows so that the exit code from a script will
be passed through to the retcode of the state

1
changelog/61416.fixed.md Normal file
View file

@ -0,0 +1 @@
Ensure file clients for runner, wheel, local and caller are available from the client_cache if called upon.

1
changelog/66592.fixed.md Normal file
View file

@ -0,0 +1 @@
Fix minion config option startup_states

4
changelog/66637.fixed.md Normal file
View file

@ -0,0 +1,4 @@
Fixes an issue when getting account names using the get_name function in the
win_dacl.py salt util. Capability SIDs return ``None``. SIDs for deleted
accounts return the SID. SIDs for domain accounts where the system is not
connected to the domain return the SID.

1
changelog/66932.fixed.md Normal file
View file

@ -0,0 +1 @@
Ensure minion start event coroutines are run

1
changelog/67057.fixed.md Normal file
View file

@ -0,0 +1 @@
Added support for dnf5 (backport from 3007) and update to its new command syntax changes since 2023

1
changelog/67091.fixed.md Normal file
View file

@ -0,0 +1 @@
Fix yumpkg module for Python<3.8

3
changelog/67171.fixed.md Normal file
View file

@ -0,0 +1,3 @@
Fix a stacktrace on Windows with pkg.installed and test=True. The
`pkg.list_repo_pkgs` function does not exist on Windows. This uses the
`pkg.list_available` function instead for Windows.

1
changelog/67177.fixed.md Normal file
View file

@ -0,0 +1 @@
Added support and tests for dnf5 to services_need_restart for yum packages

View file

@ -0,0 +1 @@
Removed dependency on bsdmainutils package for Debian and Ubuntu

1
changelog/67722.fixed.md Normal file
View file

@ -0,0 +1 @@
Use os.walk to traverse git branches, and no longer replace slash '/' in git branch names

View file

@ -0,0 +1 @@
Removed support for end of life Python 3.7 and 3.8 from pre-commit and requirements

1
changelog/67733.fixed.md Normal file
View file

@ -0,0 +1 @@
Set correct virtual grain in systemd based Podman containers

1
changelog/67743.fixed.md Normal file
View file

@ -0,0 +1 @@
Corrected option --upgrades for dnf[5] for function list_upgrades

1
changelog/67769.fixed.md Normal file
View file

@ -0,0 +1 @@
Corrected dnf5 option --downloadonly for dnf5 install

2
changelog/67792.fixed.md Normal file
View file

@ -0,0 +1,2 @@
Upgrade relenv to 0.18.1. Which includes python 3.10.16 and openssl 3.2.4.
Openssl 3.2.4 fixes CVE-2024-12797 and CVE-2024-13176

2
changelog/67794.fixed.md Normal file
View file

@ -0,0 +1,2 @@
Update jinja2 to 3.1.5, advisories GHSA-q2x7-8rv6-6q7h and GHSA-gmj6-6f8f-6699
Update urllib3 to 1.26.18 advisories GHSA-34jh-p97f-mpxf

View file

@ -1,6 +1,6 @@
nox_version: "2022.8.7"
python_version: "3.10.15"
relenv_version: "0.18.0"
python_version: "3.10.16"
relenv_version: "0.18.1"
release_branches:
- "3006.x"
- "3007.x"

View file

@ -79,8 +79,7 @@ Package: salt-minion
Architecture: amd64 arm64
Replaces: salt-common (<= 3006.4)
Breaks: salt-common (<= 3006.4)
Depends: bsdmainutils,
dctrl-tools,
Depends: dctrl-tools,
salt-common (= ${source:Version}),
${misc:Depends}
Recommends: debconf-utils, dmidecode, net-tools

View file

@ -197,6 +197,25 @@ if ( $PKG ) {
}
}
# Create pywin32.pth file
if ( -not ( Test-Path -Path "$SCRIPTS_DIR\pywin32.pth" ) ) {
Write-Host "Creating pywin32.pth file: " -NoNewline
$content = "# .pth file for the PyWin32 extensions`n" + `
"win32`n" + `
"win32\lib" + `
"Pythonwin" + `
"# And some hackery to deal with environments where the post_install script`n" + `
"# isn't run." + `
"import pywin32_bootstrap"
Set-Content -Path "$SCRIPTS_DIR\pywin32.pth" -Value $content
if ( Test-Path -Path "$SCRIPTS_DIR\pywin32.pth") {
Write-Result "Success" -ForegroundColor Green
} else {
Write-Result "Failed" -ForegroundColor Red
exit 1
}
}
# Remove PyWin32 PostInstall & testall scripts
if ( Test-Path -Path "$SCRIPTS_DIR\pywin32_*" ) {
Write-Host "Removing pywin32 post-install scripts: " -NoNewline

View file

@ -51,14 +51,11 @@ function VerifyOrDownload ($local_file, $URL, $SHA256) {
$filename = Split-Path $local_file -leaf
if ( Test-Path -Path $local_file ) {
Write-Host "Verifying hash for $filename`: " -NoNewline
$hash = (Get-FileHash $local_file).Hash
if ( $hash -eq $SHA256 ) {
if ( (Get-FileHash $local_file).Hash -eq $SHA256 ) {
Write-Result "Verified" -ForegroundColor Green
return
} else {
Write-Result "Failed Hash" -ForegroundColor Red
Write-Host "Found Hash: $hash"
Write-Host "Expected Hash: $SHA256"
Remove-Item -Path $local_file -Force
}
}
@ -90,11 +87,6 @@ $SCRIPT_DIR = (Get-ChildItem "$($myInvocation.MyCommand.Definition)").Direct
$RUNTIME_DIR = [System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()
$CSC_BIN = "$RUNTIME_DIR\csc.exe"
[DateTime]$origin = "1970-01-01 00:00:00"
$hash_time = $(git show -s --format=%at)
$TIME_STAMP = $origin.AddSeconds($hash_time)
if ( $BUILD_ARCH -eq "64bit" ) {
$BUILD_ARCH = "AMD64"
} else {
@ -479,71 +471,6 @@ $states | ForEach-Object {
}
Write-Result "Success" -ForegroundColor Green
#-------------------------------------------------------------------------------
# Remove compiled files
#-------------------------------------------------------------------------------
# We have to do this again because we use the Relenv Python to get the build
# architecture. This recreates some of the pycache files that were removed
# in the prep_salt script
Write-Host "Removing __pycache__ directories: " -NoNewline
$found = Get-ChildItem -Path "$BUILDENV_DIR" -Filter "__pycache__" -Recurse
$found | ForEach-Object {
Remove-Item -Path "$($_.FullName)" -Recurse -Force
if ( Test-Path -Path "$($_.FullName)" ) {
Write-Result "Failed" -ForegroundColor Red
Write-Host "Failed to remove: $($_.FullName)"
exit 1
}
}
Write-Result "Success" -ForegroundColor Green
# If we try to remove *.pyc with the same Get-ChildItem that we used to remove
# __pycache__ directories, it won't be able to find them because they are no
# longer present
# This probably won't find any *.pyc files, but just in case
$remove = "*.pyc",
"*.chm"
$remove | ForEach-Object {
Write-Host "Removing unneeded $_ files: " -NoNewline
$found = Get-ChildItem -Path "$BUILDENV_DIR" -Filter $_ -Recurse
$found | ForEach-Object {
Remove-Item -Path "$($_.FullName)" -Recurse -Force
if ( Test-Path -Path "$($_.FullName)" ) {
Write-Result "Failed" -ForegroundColor Red
Write-Host "Failed to remove: $($_.FullName)"
exit 1
}
}
Write-Result "Success" -ForegroundColor Green
}
#-------------------------------------------------------------------------------
# Set timestamps on Files
#-------------------------------------------------------------------------------
# We're doing this on the dlls that were created above
Write-Host "Setting time stamp on all files: " -NoNewline
$found = Get-ChildItem -Path $BUILDENV_DIR -Recurse
$found | ForEach-Object {
$_.CreationTime = $TIME_STAMP
$_.LastAccessTime = $TIME_STAMP
$_.LastWriteTime = $TIME_STAMP
}
Write-Result "Success" -ForegroundColor Green
Write-Host "Setting time stamp on installer dlls: " -NoNewline
$found = Get-ChildItem -Path $SCRIPT_DIR -Filter "*.dll" -Recurse
$found | ForEach-Object {
$_.CreationTime = $TIME_STAMP
$_.LastAccessTime = $TIME_STAMP
$_.LastWriteTime = $TIME_STAMP
}
Write-Result "Success" -ForegroundColor Green
#-------------------------------------------------------------------------------
# Let's start building the MSI
#-------------------------------------------------------------------------------
# move conf folder up one dir because it must not be discovered twice and xslt is difficult
Write-Host "Remove configs from discovery: " -NoNewline
Move-Item -Path "$DISCOVER_CONFDIR" `

File diff suppressed because it is too large Load diff

View file

@ -94,8 +94,7 @@ $prereq_files | ForEach-Object {
}
}
$binary_files = @("python.exe", "ssm.exe")
$binary_files = @("python.exe")
$binary_files | ForEach-Object {
Write-Host "Creating $_`: " -NoNewline
Set-Content -Path "$BUILDENV_DIR\$_" -Value "binary"

View file

@ -163,7 +163,6 @@ if ( ! (Test-Path -Path "$BUILD_DIR\ssm.exe") ) {
Write-Result "Failed" -ForegroundColor Red
exit 1
}
Write-Host $SSM_URL
}
# Copy the multiminion scripts to the Build directory

View file

@ -1,6 +1,6 @@
--constraint=constraints.txt
Jinja2
Jinja2>=3.1.5
jmespath
msgpack>=1.0.0 ; python_version < '3.13'
msgpack>=1.1.0 ; python_version >= '3.13'
@ -18,6 +18,8 @@ packaging>=21.3
looseversion
tornado>=6.3.3
aiohttp>=3.9.0
urllib3>=1.26.18
croniter>=0.3.0,!=0.3.22; sys_platform != 'win32'
# We need contextvars for salt-ssh.

View file

@ -13,7 +13,7 @@ click==8.1.3
# towncrier
incremental==22.10.0
# via towncrier
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.10/linux.txt
# towncrier

View file

@ -196,7 +196,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.10/darwin.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.10/darwin.txt
# -r requirements/base.txt
@ -545,6 +545,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.10/darwin.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -62,7 +62,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/py3.10/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.10/linux.txt
# -r requirements/static/ci/docs.in

View file

@ -195,7 +195,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.10/freebsd.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.10/freebsd.txt
# -r requirements/base.txt
@ -550,6 +550,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.10/freebsd.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -219,7 +219,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# -r requirements/base.txt
@ -614,6 +614,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -193,7 +193,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.10/windows.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.10/windows.txt
# -r requirements/base.txt
@ -497,6 +497,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.10/windows.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -13,7 +13,7 @@ click==8.1.3
# towncrier
incremental==17.5.0
# via towncrier
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.11/linux.txt
# towncrier

View file

@ -189,7 +189,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.11/darwin.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.11/darwin.txt
# -r requirements/base.txt
@ -536,6 +536,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.11/darwin.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -62,7 +62,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/py3.11/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.11/linux.txt
# -r requirements/static/ci/docs.in

View file

@ -188,7 +188,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.11/freebsd.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.11/freebsd.txt
# -r requirements/base.txt
@ -542,6 +542,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.11/freebsd.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -210,7 +210,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.11/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.11/linux.txt
# -r requirements/base.txt
@ -604,6 +604,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.11/linux.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -186,7 +186,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.11/windows.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.11/windows.txt
# -r requirements/base.txt
@ -488,6 +488,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.11/windows.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -13,7 +13,7 @@ click==8.1.3
# towncrier
incremental==17.5.0
# via towncrier
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.12/linux.txt
# towncrier

View file

@ -259,7 +259,7 @@ jaraco.text==3.11.1
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
@ -770,6 +770,7 @@ urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -189,7 +189,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.12/darwin.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.12/darwin.txt
# -r requirements/base.txt
@ -536,6 +536,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.12/darwin.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -111,7 +111,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/py3.12/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/base.txt
@ -289,6 +289,7 @@ uc-micro-py==1.0.1
urllib3==1.26.18
# via
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/base.txt
# requests
yarl==1.9.4
# via

View file

@ -188,7 +188,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.12/freebsd.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.12/freebsd.txt
# -r requirements/base.txt
@ -542,6 +542,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.12/freebsd.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -286,7 +286,7 @@ jaraco.text==3.11.1
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
@ -777,6 +777,7 @@ urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -c requirements/static/ci/py3.12/linux.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -210,7 +210,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -r requirements/base.txt
@ -604,6 +604,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.12/linux.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -186,7 +186,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.12/windows.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.12/windows.txt
# -r requirements/base.txt
@ -488,6 +488,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.12/windows.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -13,7 +13,7 @@ click==8.1.7
# towncrier
incremental==24.7.2
# via towncrier
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.13/linux.txt
# towncrier

View file

@ -246,7 +246,7 @@ jaraco.text==4.0.0
# -c requirements/static/ci/../pkg/py3.13/linux.txt
# -c requirements/static/ci/py3.13/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.13/linux.txt
# -c requirements/static/ci/py3.13/linux.txt
@ -740,6 +740,7 @@ urllib3==2.2.3
# via
# -c requirements/static/ci/../pkg/py3.13/linux.txt
# -c requirements/static/ci/py3.13/linux.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -179,7 +179,7 @@ jaraco.text==4.0.0
# via
# -c requirements/static/ci/../pkg/py3.13/darwin.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.13/darwin.txt
# -r requirements/base.txt
@ -515,6 +515,7 @@ typing-extensions==4.12.2
urllib3==2.2.3
# via
# -c requirements/static/ci/../pkg/py3.13/darwin.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -107,7 +107,7 @@ jaraco.text==4.0.0
# via
# -c requirements/static/ci/py3.13/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.13/linux.txt
# -r requirements/base.txt
@ -274,6 +274,7 @@ uc-micro-py==1.0.3
urllib3==2.2.3
# via
# -c requirements/static/ci/py3.13/linux.txt
# -r requirements/base.txt
# requests
yarl==1.16.0
# via

View file

@ -178,7 +178,7 @@ jaraco.text==4.0.0
# via
# -c requirements/static/ci/../pkg/py3.13/freebsd.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.13/freebsd.txt
# -r requirements/base.txt
@ -519,6 +519,7 @@ typing-extensions==4.12.2
urllib3==2.2.3
# via
# -c requirements/static/ci/../pkg/py3.13/freebsd.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -272,7 +272,7 @@ jaraco.text==4.0.0
# -c requirements/static/ci/../pkg/py3.13/linux.txt
# -c requirements/static/ci/py3.13/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.13/linux.txt
# -c requirements/static/ci/py3.13/linux.txt
@ -745,6 +745,7 @@ urllib3==2.2.3
# via
# -c requirements/static/ci/../pkg/py3.13/linux.txt
# -c requirements/static/ci/py3.13/linux.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -200,7 +200,7 @@ jaraco.text==4.0.0
# via
# -c requirements/static/ci/../pkg/py3.13/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.13/linux.txt
# -r requirements/base.txt
@ -579,6 +579,7 @@ typing-extensions==4.12.2
urllib3==2.2.3
# via
# -c requirements/static/ci/../pkg/py3.13/linux.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -179,7 +179,7 @@ jaraco.text==4.0.0
# via
# -c requirements/static/ci/../pkg/py3.13/windows.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.13/windows.txt
# -r requirements/base.txt
@ -470,6 +470,7 @@ typing-extensions==4.12.2
urllib3==2.2.3
# via
# -c requirements/static/ci/../pkg/py3.13/windows.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -1,10 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.8/freebsd-crypto.txt requirements/static/ci/crypto.in
#
m2crypto==0.38.0
# via -r requirements/static/ci/crypto.in
pycryptodome==3.19.1
# via -r requirements/static/ci/crypto.in

View file

@ -1,10 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.8/linux-crypto.txt requirements/static/ci/crypto.in
#
m2crypto==0.38.0
# via -r requirements/static/ci/crypto.in
pycryptodome==3.19.1
# via -r requirements/static/ci/crypto.in

View file

@ -1,10 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.8/windows-crypto.txt requirements/static/ci/crypto.in
#
m2crypto==0.38.0
# via -r requirements/static/ci/crypto.in
pycryptodome==3.19.1
# via -r requirements/static/ci/crypto.in

View file

@ -13,7 +13,7 @@ click==8.1.3
# towncrier
incremental==22.10.0
# via towncrier
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.9/linux.txt
# towncrier

View file

@ -196,7 +196,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.9/darwin.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.9/darwin.txt
# -r requirements/base.txt
@ -546,6 +546,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.9/darwin.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -66,7 +66,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/py3.9/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/py3.9/linux.txt
# -r requirements/static/ci/docs.in

View file

@ -195,7 +195,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.9/freebsd.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.9/freebsd.txt
# -r requirements/base.txt
@ -551,6 +551,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.9/freebsd.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -214,7 +214,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# -r requirements/base.txt
@ -603,6 +603,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -193,7 +193,7 @@ jaraco.text==3.11.1
# via
# -c requirements/static/ci/../pkg/py3.9/windows.txt
# jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via
# -c requirements/static/ci/../pkg/py3.9/windows.txt
# -r requirements/base.txt
@ -499,6 +499,7 @@ typing-extensions==4.8.0
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.9/windows.txt
# -r requirements/base.txt
# botocore
# docker
# kubernetes

View file

@ -63,7 +63,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -137,7 +137,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -63,7 +63,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -137,7 +137,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -63,7 +63,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -139,7 +139,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -69,7 +69,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -153,7 +153,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
wmi==1.5.1 ; sys_platform == "win32"
# via -r requirements/base.txt
xmltodict==0.13.0 ; sys_platform == "win32"

View file

@ -61,7 +61,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -135,7 +135,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -61,7 +61,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -137,7 +137,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -61,7 +61,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -139,7 +139,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -67,7 +67,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -151,7 +151,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
wmi==1.5.1 ; sys_platform == "win32"
# via -r requirements/base.txt
xmltodict==0.13.0 ; sys_platform == "win32"

View file

@ -61,7 +61,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -135,7 +135,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -61,7 +61,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -137,7 +137,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -61,7 +61,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -139,7 +139,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -67,7 +67,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -151,7 +151,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
wmi==1.5.1 ; sys_platform == "win32"
# via -r requirements/base.txt
xmltodict==0.13.0 ; sys_platform == "win32"

View file

@ -59,7 +59,7 @@ jaraco.functools==4.1.0
# tempora
jaraco.text==4.0.0
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -125,7 +125,9 @@ timelib==0.3.0
tornado==6.4.1
# via -r requirements/base.txt
urllib3==2.2.3
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.16.0
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -59,7 +59,7 @@ jaraco.functools==4.1.0
# tempora
jaraco.text==4.0.0
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -125,7 +125,9 @@ timelib==0.3.0
tornado==6.4.1
# via -r requirements/base.txt
urllib3==2.2.3
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.16.0
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -59,7 +59,7 @@ jaraco.functools==4.1.0
# tempora
jaraco.text==4.0.0
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -127,7 +127,9 @@ timelib==0.3.0
tornado==6.4.1
# via -r requirements/base.txt
urllib3==2.2.3
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.16.0
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -61,7 +61,7 @@ jaraco.functools==4.1.0
# tempora
jaraco.text==4.0.0
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -136,7 +136,9 @@ timelib==0.3.0
tornado==6.4.1
# via -r requirements/base.txt
urllib3==2.2.3
# via requests
# via
# -r requirements/base.txt
# requests
wmi==1.5.1 ; sys_platform == "win32"
# via -r requirements/base.txt
xmltodict==0.14.2 ; sys_platform == "win32"

View file

@ -63,7 +63,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -137,7 +137,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

View file

@ -63,7 +63,7 @@ jaraco.functools==3.7.0
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.4
jinja2==3.1.6
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
@ -137,7 +137,9 @@ typing-extensions==4.8.0
# pydantic
# pydantic-core
urllib3==1.26.18
# via requests
# via
# -r requirements/base.txt
# requests
yarl==1.9.4
# via aiohttp
zc.lockfile==3.0.post1

Some files were not shown because too many files have changed in this diff Show more