Merge branch 'master' into import-readme-contributing

This commit is contained in:
Alyssa Rock 2022-12-12 14:50:46 -07:00 committed by GitHub
commit 33d2dd7c1e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
862 changed files with 33699 additions and 27091 deletions

View file

@ -25,7 +25,7 @@ jobs:
apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils
apt-get install -y git/buster-backports
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0
@ -59,7 +59,7 @@ jobs:
nox --forcecolor -e 'docs-html(compress=False, clean=True)'
- name: Store Generated Documentation
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: salt-html-docs
path: doc/_build/html
@ -83,7 +83,7 @@ jobs:
apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev
apt-get install -y git/buster-backports
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- id: changed-files
name: Get Changed Files
@ -119,7 +119,7 @@ jobs:
- name: Store Generated Documentation
if: github.event_name == 'push' || steps.changed-files.outputs.docs == 'true'
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: salt-man-pages
path: doc/_build/man

View file

@ -25,7 +25,7 @@ jobs:
apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev
apt-get install -y git/buster-backports
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Install Nox
env:
@ -90,7 +90,7 @@ jobs:
apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev
apt-get install -y git/buster-backports
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Install Nox
env:

View file

@ -17,8 +17,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.9'

View file

@ -26,7 +26,7 @@ jobs:
apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev
apt-get install -y git/buster-backports
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Install Pre-Commit
env:

View file

@ -34,7 +34,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
repository: ${{ github.event.inputs.saltRepo }}
ref: ${{ github.event.inputs.saltBranch }}
@ -47,11 +47,11 @@ jobs:
custom_tag: ${{ github.event.inputs.saltVersion }}
- name: Set up Python 3.8
uses: actions/setup-python@v1
uses: actions/setup-python@v4
with:
python-version: 3.8
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Install pypa/build
run: |
python -m pip install build --user

View file

@ -38,7 +38,7 @@ jobs:
apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils
apt-get install -y git/buster-backports
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.branch }}
fetch-depth: 0
@ -77,7 +77,7 @@ jobs:
git diff --no-color > rm_changelog_patch.txt
- name: Store Generated Changelog
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: salt-changelog
path: |
@ -105,7 +105,7 @@ jobs:
apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev
apt-get install -y git/buster-backports
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.branch }}
@ -145,7 +145,7 @@ jobs:
- name: Store Generated Documentation
if: github.event.inputs.manPages == 'true'
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: salt-man-pages
path: doc/_build/man
@ -169,7 +169,7 @@ jobs:
apt-get install -y enchant git gcc imagemagick make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev xz-utils
apt-get install -y git/buster-backports
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.branch }}
fetch-depth: 0

View file

@ -18,10 +18,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: 3.8
@ -50,7 +50,7 @@ jobs:
--issue ${{ github.event.issue.number }}
- name: Upload last assignment cache
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: last-assignment
path: .cache

View file

@ -12,9 +12,9 @@ jobs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: '3.8'

View file

@ -4,7 +4,7 @@ default_language_version:
exclude: ^(doc/_static/.*|doc/_themes/.*)$
repos:
- repo: https://github.com/saltstack/pip-tools-compile-impersonate
rev: "4.5"
rev: "4.6"
hooks:
# ----- Packaging Requirements ------------------------------------------------------------------------------------>
@ -185,24 +185,23 @@ repos:
- --include=requirements/windows.txt
- requirements/static/pkg/windows.in
# There's no pywin32 package for Py3.10 yet
# - id: pip-tools-compile
# alias: compile-pkg-windows-3.10-zmq-requirements
# name: Windows Packaging Py3.10 ZeroMQ Requirements
# files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.10/windows\.txt))$
# pass_filenames: false
# args:
# - -v
# - --py-version=3.10
# - --platform=windows
# - --include=requirements/windows.txt
# - requirements/static/pkg/windows.in
- id: pip-tools-compile
alias: compile-pkg-windows-3.10-zmq-requirements
name: Windows Packaging Py3.10 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.10/windows\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.10
- --platform=windows
- --include=requirements/windows.txt
- requirements/static/pkg/windows.in
# <---- Packaging Requirements -------------------------------------------------------------------------------------
# ----- CI Requirements ------------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-linux-py3.6-zmq-requirements
alias: compile-ci-linux-3.6-zmq-requirements
name: Linux CI Py3.6 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|pkg/py3\.6/linux\.txt))$
pass_filenames: false
@ -219,7 +218,7 @@ repos:
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-py3.7-zmq-requirements
alias: compile-ci-linux-3.7-zmq-requirements
name: Linux CI Py3.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|pkg/py3\.7/linux\.txt))$
pass_filenames: false
@ -236,7 +235,7 @@ repos:
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-py3.8-zmq-requirements
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)|pkg/py3\.8/linux\.txt))$
pass_filenames: false
@ -253,7 +252,7 @@ repos:
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-py3.9-zmq-requirements
alias: compile-ci-linux-3.9-zmq-requirements
name: Linux CI Py3.9 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|pkg/py3\.9/linux\.txt))$
pass_filenames: false
@ -270,7 +269,7 @@ repos:
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-py3.10-zmq-requirements
alias: compile-ci-linux-3.10-zmq-requirements
name: Linux CI Py3.10 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|pkg/py3\.10/linux\.txt))$
pass_filenames: false
@ -287,7 +286,7 @@ repos:
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-py3.6-requirements
alias: compile-ci-linux-crypto-3.6-requirements
name: Linux CI Py3.6 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.6/linux-crypto\.txt))$
pass_filenames: false
@ -300,7 +299,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-py3.7-requirements
alias: compile-ci-linux-crypto-3.7-requirements
name: Linux CI Py3.7 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.7/linux-crypto\.txt))$
pass_filenames: false
@ -313,7 +312,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-py3.8-requirements
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
@ -326,7 +325,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-py3.9-requirements
alias: compile-ci-linux-crypto-3.9-requirements
name: Linux CI Py3.9 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.9/linux-crypto\.txt))$
pass_filenames: false
@ -339,7 +338,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-py3.10-requirements
alias: compile-ci-linux-crypto-3.10-requirements
name: Linux CI Py3.10 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/crypto\.in)$
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/linux-crypto\.txt))$
@ -354,7 +353,7 @@ repos:
- id: pip-tools-compile
alias: compile-ci-freebsd-py3.7-zmq-requirements
alias: compile-ci-freebsd-3.7-zmq-requirements
name: FreeBSD CI Py3.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(freebsd|common)\.in|pkg/py3\.7/freebsd\.txt))$
pass_filenames: false
@ -371,7 +370,7 @@ repos:
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-py3.8-zmq-requirements
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|pkg/py3\.8/freebsd\.txt))$
pass_filenames: false
@ -388,7 +387,7 @@ repos:
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-py3.9-zmq-requirements
alias: compile-ci-freebsd-3.9-zmq-requirements
name: FreeBSD CI Py3.9 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(freebsd|common)\.in|pkg/py3\.9/freebsd\.txt))$
pass_filenames: false
@ -405,7 +404,7 @@ repos:
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-py3.10-zmq-requirements
alias: compile-ci-freebsd-3.10-zmq-requirements
name: FreeBSD CI Py3.10 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(freebsd|common)\.in|pkg/py3\.10/freebsd\.txt))$
pass_filenames: false
@ -422,7 +421,7 @@ repos:
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-py3.7-requirements
alias: compile-ci-freebsd-crypto-3.7-requirements
name: FreeBSD CI Py3.7 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.7/freebsd-crypto\.txt))$
pass_filenames: false
@ -435,7 +434,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-py3.8-requirements
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
@ -448,7 +447,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-py3.9-requirements
alias: compile-ci-freebsd-crypto-3.9-requirements
name: FreeBSD CI Py3.9 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.9/freebsd-crypto\.txt))$
pass_filenames: false
@ -461,7 +460,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-py3.10-requirements
alias: compile-ci-freebsd-crypto-3.10-requirements
name: FreeBSD CI Py3.10 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/crypto\.in)$
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/freebsd-crypto\.txt))$
@ -475,7 +474,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-darwin-py3.9-zmq-requirements
alias: compile-ci-darwin-3.9-zmq-requirements
name: Darwin CI Py3.9 ZeroMQ Requirements
files: ^(requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(darwin|common)\.in|pkg/py3\.9/darwin\.txt)))$
pass_filenames: false
@ -491,7 +490,7 @@ repos:
- requirements/static/ci/darwin.in
- id: pip-tools-compile
alias: compile-ci-darwin-py3.10-zmq-requirements
alias: compile-ci-darwin-3.10-zmq-requirements
name: Darwin CI Py3.10 ZeroMQ Requirements
files: ^(requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(darwin|common)\.in|pkg/py3\.10/darwin\.txt)))$
pass_filenames: false
@ -507,7 +506,7 @@ repos:
- requirements/static/ci/darwin.in
- id: pip-tools-compile
alias: compile-ci-darwin-crypto-py3.9-requirements
alias: compile-ci-darwin-crypto-3.9-requirements
name: Darwin CI Py3.9 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.9/darwin-crypto\.txt))$
pass_filenames: false
@ -520,7 +519,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-darwin-crypto-py3.10-requirements
alias: compile-ci-darwin-crypto-3.10-requirements
name: Darwin CI Py3.10 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/darwin-crypto\.txt))$
pass_filenames: false
@ -533,7 +532,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-py3.7-zmq-requirements
alias: compile-ci-windows-3.7-zmq-requirements
name: Windows CI Py3.7 ZeroMQ Requirements
files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|pkg/py3\.7/windows\.txt))$
pass_filenames: false
@ -549,7 +548,7 @@ repos:
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-py3.8-zmq-requirements
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|pkg/py3\.8/windows\.txt))$
pass_filenames: false
@ -565,7 +564,7 @@ repos:
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-py3.9-zmq-requirements
alias: compile-ci-windows-3.9-zmq-requirements
name: Windows CI Py3.9 ZeroMQ Requirements
files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|pkg/py3\.9/windows\.txt))$
pass_filenames: false
@ -580,38 +579,24 @@ repos:
- --pip-args=--constraint=requirements/static/pkg/py{py_version}/windows.txt
- requirements/static/ci/windows.in
# There's no pywin32 package for Py3.10 yet
# - id: pip-tools-compile
# alias: compile-ci-windows-py3.10-zmq-requirements
# name: Windows CI Py3.10 ZeroMQ Requirements
# files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|pkg/py3\.10/windows\.txt))$
# pass_filenames: false
# args:
# - -v
# - --py-version=3.10
# - --platform=windows
# - --include=requirements/windows.txt
# - --include=requirements/pytest.txt
# - --include=requirements/static/pkg/windows.in
# - --include=requirements/static/ci/common.in
# - --pip-args=--constraint=requirements/static/pkg/py{py_version}/windows.txt
# - requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-py3.6-requirements
name: Windows CI Py3.6 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.6/windows-crypto\.txt))$
alias: compile-ci-windows-3.10-zmq-requirements
name: Windows CI Py3.10 ZeroMQ Requirements
files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|pkg/py3\.10/windows\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.6
- --py-version=3.10
- --platform=windows
- --out-prefix=windows
- --pip-args=--constraint=requirements/static/ci/py{py_version}/windows.txt
- requirements/static/ci/crypto.in
- --include=requirements/windows.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/windows.in
- --include=requirements/static/ci/common.in
- --pip-args=--constraint=requirements/static/pkg/py{py_version}/windows.txt
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-py3.7-requirements
alias: compile-ci-windows-crypto-3.7-requirements
name: Windows CI Py3.7 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.7/windows-crypto\.txt))$
pass_filenames: false
@ -624,7 +609,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-py3.8-requirements
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
@ -637,7 +622,7 @@ repos:
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-py3.9-requirements
alias: compile-ci-windows-crypto-3.9-requirements
name: Windows CI Py3.9 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.9/windows-crypto\.txt))$
pass_filenames: false
@ -649,26 +634,25 @@ repos:
- --pip-args=--constraint=requirements/static/ci/py{py_version}/windows.txt
- requirements/static/ci/crypto.in
# There's no pywin32 package for Py3.10 yet
# - id: pip-tools-compile
# alias: compile-ci-windows-crypto-py3.10-requirements
# name: Windows CI Py3.10 Crypto Requirements
# files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/windows-crypto\.txt))$
# pass_filenames: false
# args:
# - -v
# - --py-version=3.10
# - --platform=windows
# - --out-prefix=windows
# - --pip-args=--constraint=requirements/static/ci/py{py_version}/windows.txt
# - requirements/static/ci/crypto.in
#
- id: pip-tools-compile
alias: compile-ci-windows-crypto-3.10-requirements
name: Windows CI Py3.10 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/windows-crypto\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.10
- --platform=windows
- --out-prefix=windows
- --pip-args=--constraint=requirements/static/ci/py{py_version}/windows.txt
- requirements/static/ci/crypto.in
# <---- CI Requirements --------------------------------------------------------------------------------------------
# ----- Cloud CI Requirements ------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-cloud-py3.6-requirements
alias: compile-ci-cloud-3.6-requirements
name: Cloud CI Py3.6 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.6/cloud\.txt)))$
pass_filenames: false
@ -684,7 +668,7 @@ repos:
- requirements/static/ci/cloud.in
- id: pip-tools-compile
alias: compile-ci-cloud-py3.7-requirements
alias: compile-ci-cloud-3.7-requirements
name: Cloud CI Py3.7 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.7/cloud\.txt)))$
pass_filenames: false
@ -700,7 +684,7 @@ repos:
- requirements/static/ci/cloud.in
- id: pip-tools-compile
alias: compile-ci-cloud-py3.8-requirements
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
@ -716,7 +700,7 @@ repos:
- requirements/static/ci/cloud.in
- id: pip-tools-compile
alias: compile-ci-cloud-py3.9-requirements
alias: compile-ci-cloud-3.9-requirements
name: Cloud CI Py3.9 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.9/cloud\.txt)))$
pass_filenames: false
@ -732,7 +716,7 @@ repos:
- requirements/static/ci/cloud.in
- id: pip-tools-compile
alias: compile-ci-cloud-py3.10-requirements
alias: compile-ci-cloud-3.10-requirements
name: Cloud CI Py3.10 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.10/cloud\.txt)))$
pass_filenames: false
@ -838,7 +822,7 @@ repos:
# ----- Lint CI Requirements -------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-lint-py3.6-requirements
alias: compile-ci-lint-3.6-requirements
name: Lint CI Py3.6 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.6/linux\.txt)))$
pass_filenames: false
@ -855,7 +839,7 @@ repos:
- requirements/static/ci/lint.in
- id: pip-tools-compile
alias: compile-ci-lint-py3.7-requirements
alias: compile-ci-lint-3.7-requirements
name: Lint CI Py3.7 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.7/linux\.txt)))$
pass_filenames: false
@ -872,7 +856,7 @@ repos:
- requirements/static/ci/lint.in
- id: pip-tools-compile
alias: compile-ci-lint-py3.8-requirements
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
@ -889,7 +873,7 @@ repos:
- requirements/static/ci/lint.in
- id: pip-tools-compile
alias: compile-ci-lint-py3.9-requirements
alias: compile-ci-lint-3.9-requirements
name: Lint CI Py3.9 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.9/linux\.txt)))$
pass_filenames: false
@ -906,7 +890,7 @@ repos:
- requirements/static/ci/lint.in
- id: pip-tools-compile
alias: compile-ci-lint-py3.10-requirements
alias: compile-ci-lint-3.10-requirements
name: Lint CI Py3.10 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.10/linux\.txt)))$
pass_filenames: false
@ -926,7 +910,7 @@ repos:
# ----- Changelog ------------------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-changelog-py3.6-requirements
alias: compile-ci-changelog-3.6-requirements
name: Changelog CI Py3.6 Requirements
files: ^requirements/static/ci/(changelog\.in|py3\.6/(changelog|linux)\.txt)$
pass_filenames: false
@ -938,7 +922,7 @@ repos:
- requirements/static/ci/changelog.in
- id: pip-tools-compile
alias: compile-ci-changelog-py3.7-requirements
alias: compile-ci-changelog-3.7-requirements
name: Changelog CI Py3.7 Requirements
files: ^requirements/static/ci/(changelog\.in|py3\.7/(changelog|linux)\.txt)$
pass_filenames: false
@ -950,7 +934,7 @@ repos:
- requirements/static/ci/changelog.in
- id: pip-tools-compile
alias: compile-ci-changelog-py3.8-requirements
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
@ -962,7 +946,7 @@ repos:
- requirements/static/ci/changelog.in
- id: pip-tools-compile
alias: compile-ci-changelog-py3.9-requirements
alias: compile-ci-changelog-3.9-requirements
name: Changelog CI Py3.9 Requirements
files: ^requirements/static/ci/(changelog\.in|py3\.9/(changelog|linux)\.txt)$
pass_filenames: false
@ -974,7 +958,7 @@ repos:
- requirements/static/ci/changelog.in
- id: pip-tools-compile
alias: compile-ci-changelog-py3.10-requirements
alias: compile-ci-changelog-3.10-requirements
name: Changelog CI Py3.10 Requirements
files: ^requirements/static/ci/(changelog\.in|py3\.10/(changelog|linux)\.txt)$
pass_filenames: false
@ -988,7 +972,7 @@ repos:
# ----- Invoke ---------------------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-invoke-py3.6-requirements
alias: compile-ci-invoke-3.6-requirements
name: Linux CI Py3.6 Invoke Requirements
files: ^requirements/static/ci/(invoke\.in|py3.6/(invoke|linux)\.txt)$
pass_filenames: false
@ -999,7 +983,7 @@ repos:
- requirements/static/ci/invoke.in
- id: pip-tools-compile
alias: compile-ci-invoke-py3.7-requirements
alias: compile-ci-invoke-3.7-requirements
name: Linux CI Py3.7 Invoke Requirements
files: ^requirements/static/ci/(invoke\.in|py3.7/(invoke|linux)\.txt)$
pass_filenames: false
@ -1010,7 +994,7 @@ repos:
- requirements/static/ci/invoke.in
- id: pip-tools-compile
alias: compile-ci-invoke-py3.8-requirements
alias: compile-ci-invoke-3.8-requirements
name: Linux CI Py3.8 Invoke Requirements
files: ^requirements/static/ci/(invoke\.in|py3.8/(invoke|linux)\.txt)$
pass_filenames: false
@ -1021,7 +1005,7 @@ repos:
- requirements/static/ci/invoke.in
- id: pip-tools-compile
alias: compile-ci-invoke-py3.9-requirements
alias: compile-ci-invoke-3.9-requirements
name: Linux CI Py3.9 Invoke Requirements
files: ^requirements/static/ci/(invoke\.in|py3.9/(invoke|linux)\.txt)$
pass_filenames: false
@ -1032,7 +1016,7 @@ repos:
- requirements/static/ci/invoke.in
- id: pip-tools-compile
alias: compile-ci-invoke-py3.10-requirements
alias: compile-ci-invoke-3.10-requirements
name: Linux CI Py3.10 Invoke Requirements
files: ^requirements/static/ci/(invoke\.in|py3.10/(invoke|linux)\.txt)$
pass_filenames: false

1
changelog/43287.added Normal file
View file

@ -0,0 +1 @@
Added pillar templating to vault policies

1
changelog/45823.fixed Normal file
View file

@ -0,0 +1 @@
Fix fun_args missing from syndic returns

1
changelog/49310.fixed Normal file
View file

@ -0,0 +1 @@
Issue #49310: Allow users to touch a file with Unix date of birth

1
changelog/49430.changed Normal file
View file

@ -0,0 +1 @@
Move deprecation of the neutron module to Argon. Please migrate to the neutronng module instead.

1
changelog/51088.added Normal file
View file

@ -0,0 +1 @@
Add support for NVMeF as a transport protocol for hosts in a Pure Storage FlashArray

1
changelog/53353.fixed Normal file
View file

@ -0,0 +1 @@
Ensure when we're adding chunks to the rules when running aggregation with the iptables state module we use a copy of the chunk otherwise we end up with a recursive mess.

View file

@ -0,0 +1,2 @@
renamed `keep_jobs`, specifying job cache TTL in hours, to `keep_jobs_seconds`, specifying TTL in seconds.
`keep_jobs` will be removed in the Argon release

1
changelog/56093.fixed Normal file
View file

@ -0,0 +1 @@
Fixed pillar.filter_by with salt-ssh

1
changelog/57139.fixed Normal file
View file

@ -0,0 +1 @@
Fix boto_route53 issue with (multiple) VPCs.

1
changelog/57463.fixed Normal file
View file

@ -0,0 +1 @@
Remove log from mine runner which was not used.

1
changelog/58953.fixed Normal file
View file

@ -0,0 +1 @@
Fixed formatting for terse output mode

5
changelog/58986.added Normal file
View file

@ -0,0 +1,5 @@
Added `openvswitch_db` state module and functions `bridge_to_parent`,
`bridge_to_vlan`, `db_get`, and `db_set` to the `openvswitch` execution module.
Also added optional `parent` and `vlan` parameters to the
`openvswitch_bridge.present` state module function and the
`openvswitch.bridge_create` execution module function.

1
changelog/59017.fixed Normal file
View file

@ -0,0 +1 @@
Fixed RecursiveDictDiffer with added nested dicts

1
changelog/59183.fixed Normal file
View file

@ -0,0 +1 @@
Fixed saltnado websockets disconnecting immediately

1
changelog/59766.fixed Normal file
View file

@ -0,0 +1 @@
Fixed influxdb_continuous_query.present state to provide the client args to the underlying module on create.

1
changelog/59917.removed Normal file
View file

@ -0,0 +1 @@
Remove and deprecate the __orchestration__ key from salt.runner and salt.wheel return data. To get it back, set features.enable_deprecated_orchestration_flag master configuration option to True. The flag will be completely removed in Salt 3008 Argon.

1
changelog/60003.fixed Normal file
View file

@ -0,0 +1 @@
Fix salt-ssh when using imports with extra-filerefs.

1
changelog/60249.fixed Normal file
View file

@ -0,0 +1 @@
Adds Parrot to OS_Family_Map in grains.

1
changelog/60365.fixed Normal file
View file

@ -0,0 +1 @@
Fixed stdout and stderr being empty sometimes when use_vt=True for the cmd.run[*] functions

1
changelog/60994.fixed Normal file
View file

@ -0,0 +1 @@
Fixed recognizing installed ARMv7 rpm packages in compatible architectures.

1
changelog/61083.fixed Normal file
View file

@ -0,0 +1 @@
Made salt-ssh respect --wipe again

1
changelog/61122.fixed Normal file
View file

@ -0,0 +1 @@
Fix ipset state when the comment kwarg is set.

1
changelog/61153.added Normal file
View file

@ -0,0 +1 @@
Initial work to allow parallel startup of proxy minions when used as sub proxies with Deltaproxy.

4
changelog/61618.fixed Normal file
View file

@ -0,0 +1,4 @@
Some Linux distributions (like AlmaLinux, Astra Linux, Debian, Mendel, Linux
Mint, Pop!_OS, Rocky Linux) report different `oscodename`, `osfullname`,
`osfinger` grains if lsb-release is installed or not. They have been changed to
only derive these OS grains from `/etc/os-release`.

1
changelog/61805.fixed Normal file
View file

@ -0,0 +1 @@
Need to move the creation of the proxy object for the ProxyMinion further down in the initialization for sub proxies to ensure that all modules, especially any custom proxy modules, are available before attempting to run the init function.

1
changelog/61821.fixed Normal file
View file

@ -0,0 +1 @@
When deleting the vault cache, also delete from the session cache

1
changelog/62019.fixed Normal file
View file

@ -0,0 +1 @@
Make Salt to return an error on "pkg" modules and states when targeting duplicated package names

1
changelog/62022.fixed Normal file
View file

@ -0,0 +1 @@
Fix return of REST-returned permissions when auth_list is set

1
changelog/62131.fixed Normal file
View file

@ -0,0 +1 @@
Ignore some command return codes in openbsdrcctl_service to prevent spurious errors

1
changelog/62139.fixed Normal file
View file

@ -0,0 +1 @@
Fixed extra period in filename output in tls module. Instead of "server.crt." it will now be "server.crt".

1
changelog/62152.fixed Normal file
View file

@ -0,0 +1 @@
Make sure lingering PAexec-*.exe files in the Windows directory are cleaned up

1
changelog/62281.fixed Normal file
View file

@ -0,0 +1 @@
Fix Salt Package Manager (SPM) exception when calling spm create_repo .

1
changelog/62446.added Normal file
View file

@ -0,0 +1 @@
Add ability to provide conditions which convert normal state actions to no-op when true

1
changelog/62480.added Normal file
View file

@ -0,0 +1 @@
Added debug log messages displaying the command being run when installing packages on Windows

1
changelog/62672.fixed Normal file
View file

@ -0,0 +1 @@
Fix depenency on legacy boto module in boto3 modules

1
changelog/62826.fixed Normal file
View file

@ -0,0 +1 @@
Fix presence events on TCP transport by removing a client's presence when minion disconnects from publish channel correctly

1
changelog/62867.added Normal file
View file

@ -0,0 +1 @@
Added onchange configuration for script engine

1
changelog/62934.fixed Normal file
View file

@ -0,0 +1 @@
removed _resolve_deps as it required a library that is not generally avalible. and switched to apt-get for everything as that can auto resolve dependencies.

1
changelog/62968.fixed Normal file
View file

@ -0,0 +1 @@
Issue #62968: Fix issue where cloud deployments were putting the keys in the wrong location on Windows hosts

1
changelog/62978.added Normal file
View file

@ -0,0 +1 @@
Added output and bare functionality to export_key gpg module function

1
changelog/62983.added Normal file
View file

@ -0,0 +1 @@
Add keyvalue serializer for environment files

1
changelog/62988.fixed Normal file
View file

@ -0,0 +1 @@
Fixed bug where module.wait states were detected as running legacy module.run syntax

3
changelog/63013.fixed Normal file
View file

@ -0,0 +1,3 @@
The `__opts__` dunder dictionary is now added to the loader's `pack` if not
already present, which makes it accessible via the
`salt.loader.context.NamedLoaderContext` class.

1
changelog/63024.fixed Normal file
View file

@ -0,0 +1 @@
Issue #63024: Fix issue where grains and config data were being place in the wrong location on Windows hosts

1
changelog/63025.fixed Normal file
View file

@ -0,0 +1 @@
Fix btrfs.subvolume_snapshot command failing

1
changelog/63033.fixed Normal file
View file

@ -0,0 +1 @@
Fix file.retention_schedule always reports changes

1
changelog/63042.added Normal file
View file

@ -0,0 +1 @@
Add ability to ignore symlinks in file.tidied

5
changelog/63050.changed Normal file
View file

@ -0,0 +1,5 @@
netapi_enable_clients option to allow enabling/disabling of clients in salt-api.
By default all clients will now be disabled. Users of salt-api will need
to update their master config to enable the clients that they use. Not adding
the netapi_enable_clients option with required clients to the master config will
disable salt-api.

3
changelog/63058.fixed Normal file
View file

@ -0,0 +1,3 @@
Fix mongo authentication for mongo ext_pillar and mongo returner
This fix also include the ability to use the mongo connection string for mongo ext_pillar

1
changelog/63093.added Normal file
View file

@ -0,0 +1 @@
Add ability for file.symlink to not set ownership on existing links

1
changelog/63095.added Normal file
View file

@ -0,0 +1 @@
Restore the previous slack engine and deprecate it, rename replace the slack engine to slack_bolt until deprecation

View file

@ -0,0 +1 @@
Deprecating the Salt Slack engine in favor of the Salt Slack Bolt Engine.

1
changelog/63098.added Normal file
View file

@ -0,0 +1 @@
Add functions that will return the underlying block device, mount point, and filesystem type for a given path

1
changelog/63120.fixed Normal file
View file

@ -0,0 +1 @@
TCP transport documentation now contains proper master/minion-side filtering information

1
changelog/63128.added Normal file
View file

@ -0,0 +1 @@
Add ethtool execution and state module functions for pause

1
changelog/63131.added Normal file
View file

@ -0,0 +1 @@
Add boardname grain

1
changelog/63231.fixed Normal file
View file

@ -0,0 +1 @@
Fix serious performance issues with the file.tidied module

View file

@ -1,19 +1,16 @@
alma-8-x86_64: ami-0594d7cf435c3d2f7
amazon-2-x86_64: ami-01226819a514516fe
arch-lts-x86_64: ami-018a6b479dcb87969
centos-7-x86_64: ami-05764f27cdf8f99e0
centosstream-8-x86_64: ami-02fc0a57f9b1fa4ed
centosstream-9-x86_64: ami-09c9a8cff0874c232
debian-10-amd64: ami-0eb32b3297dc438d0
debian-11-amd64: ami-08bf6df84b4488e8a
debian-11-arm64: ami-085ff5dc42735c52e
fedora-35-x86_64: ami-05dbe9d0b98ca2f9c
freebsd-131-amd64: ami-0ef1a75f9b997e572
opensuse-15-x86_64: ami-0b57dabce687992c3
photon-3-x86_64: ami-080bc696fab4f5840
ubuntu-1804-amd64: ami-0decb138fa5e24979
ubuntu-2004-amd64: ami-0468248e8ecfacd5c
ubuntu-2004-arm64: ami-07dcde5a6a61ce72a
ubuntu-2204-amd64: ami-0b039e5f5e96232f6
windows-2016-x64: ami-03dce76a35067f8fd
windows-2019-x64: ami-08fe22a79bd743e34
alma-8-x86_64: ami-067a5cdcc1fd2ebcc
amazon-2-x86_64: ami-02ee110baacff4531
arch-lts-x86_64: ami-0f28c74e7182b51a1
centos-7-x86_64: ami-079bc5af02dd43599
centosstream-9-x86_64: ami-080357bb9adf7d469
debian-10-amd64: ami-08896364e62754785
debian-11-amd64: ami-0a663124a1bb84ccf
debian-11-arm64: ami-06eb7aa7371ed9195
opensuse-15-x86_64: ami-07bbdf04f705a9d02
photon-3-x86_64: ami-034745cbe0bb6ecdc
ubuntu-1804-amd64: ami-05dd8fbd1956ebb29
ubuntu-2004-amd64: ami-0f1a51d8243116f07
ubuntu-2004-arm64: ami-0476eecde31af50c8
ubuntu-2204-amd64: ami-0e9d74bf85e872a4a
windows-2016-x64: ami-038b73a0454552d80
windows-2019-x64: ami-077f0e04bbe8d99c4

View file

@ -1,17 +0,0 @@
@Library('salt@master-1.11') _
runTestSuite(
concurrent_builds: 1,
distro_name: 'centos',
distro_version: '7',
distro_arch: 'x86-64',
env: env,
jenkins_slave_label: 'kitchen-slave',
nox_env_name: 'pytest-zeromq-m2crypto',
nox_passthrough_opts: '--ssh-tests',
python_version: 'py3',
testrun_timeout: 8,
use_spot_instances: true,
)
// vim: ft=groovy

View file

@ -1,16 +0,0 @@
@Library('salt@master-1.11') _
runTestSuite(
concurrent_builds: 1,
distro_name: 'centos',
distro_version: '7',
distro_arch: 'x86-64',
env: env,
jenkins_slave_label: 'kitchen-slave',
nox_env_name: 'pytest-zeromq-pycryptodome',
nox_passthrough_opts: '--ssh-tests',
python_version: 'py3',
testrun_timeout: 8,
use_spot_instances: true)
// vim: ft=groovy

View file

@ -1,17 +0,0 @@
@Library('salt@master-1.11') _
runTestSuite(
concurrent_builds: 1,
distro_name: 'centosstream',
distro_version: '8',
distro_arch: 'x86-64',
env: env,
jenkins_slave_label: 'kitchen-slave',
nox_env_name: 'pytest-zeromq',
nox_passthrough_opts: '--ssh-tests',
python_version: 'py3',
testrun_timeout: 6,
use_spot_instances: true,
)
// vim: ft=groovy

View file

@ -1,17 +0,0 @@
@Library('salt@master-1.11') _
runTestSuite(
concurrent_builds: 1,
distro_name: 'fedora',
distro_version: '35',
distro_arch: 'x86-64',
env: env,
jenkins_slave_label: 'kitchen-slave',
nox_env_name: 'pytest-zeromq',
nox_passthrough_opts: '--ssh-tests',
python_version: 'py3',
testrun_timeout: 6,
use_spot_instances: true,
)
// vim: ft=groovy

View file

@ -1,17 +0,0 @@
@Library('salt@master-1.11') _
runTestSuite(
concurrent_builds: 1,
distro_name: 'freebsd',
distro_version: '131',
distro_arch: 'amd64',
env: env,
jenkins_slave_label: 'kitchen-slave',
nox_env_name: 'pytest-zeromq',
nox_passthrough_opts: '--ssh-tests',
python_version: 'py3',
testrun_timeout: 6,
use_spot_instances: true,
)
// vim: ft=groovy

View file

@ -1,17 +0,0 @@
@Library('salt@master-1.11') _
runTestSuite(
concurrent_builds: 1,
distro_name: 'ubuntu',
distro_version: '2004',
distro_arch: 'amd64',
env: env,
jenkins_slave_label: 'kitchen-slave',
nox_env_name: 'pytest-zeromq-m2crypto',
nox_passthrough_opts: '--ssh-tests',
python_version: 'py3',
testrun_timeout: 6,
use_spot_instances: true,
)
// vim: ft=groovy

View file

@ -1,16 +0,0 @@
@Library('salt@master-1.11') _
runTestSuite(
concurrent_builds: 1,
distro_name: 'ubuntu',
distro_version: '2004',
distro_arch: 'amd64',
env: env,
jenkins_slave_label: 'kitchen-slave',
nox_env_name: 'pytest-zeromq-pycryptodome',
nox_passthrough_opts: '--ssh-tests',
python_version: 'py3',
testrun_timeout: 6,
use_spot_instances: true)
// vim: ft=groovy

View file

@ -1,17 +0,0 @@
@Library('salt@master-1.11') _
runTestSuite(
concurrent_builds: 1,
distro_name: 'ubuntu',
distro_version: '2204',
distro_arch: 'amd64',
env: env,
jenkins_slave_label: 'kitchen-slave',
nox_env_name: 'pytest-zeromq-m2crypto',
nox_passthrough_opts: '--ssh-tests',
python_version: 'py3',
testrun_timeout: 6,
use_spot_instances: true,
)
// vim: ft=groovy

View file

@ -1,16 +0,0 @@
@Library('salt@master-1.11') _
runTestSuite(
concurrent_builds: 1,
distro_name: 'ubuntu',
distro_version: '2204',
distro_arch: 'amd64',
env: env,
jenkins_slave_label: 'kitchen-slave',
nox_env_name: 'pytest-zeromq-pycryptodome',
nox_passthrough_opts: '--ssh-tests',
python_version: 'py3',
testrun_timeout: 6,
use_spot_instances: true)
// vim: ft=groovy

View file

@ -74,9 +74,13 @@
# Verify and set permissions on configuration directories at startup:
#verify_env: True
# Set the number of hours to keep old job information in the job cache:
# Set the number of hours to keep old job information in the job cache.
# This option is deprecated by the keep_jobs_seconds option.
#keep_jobs: 24
# Set the number of seconds to keep old job information in the job cache:
#keep_jobs_seconds: 86400
# The number of seconds to wait when the client is requesting information
# about running jobs.
#gather_job_timeout: 10
@ -420,6 +424,11 @@
# Set to True to enable keeping the calculated user's auth list in the token
# file. This is disabled by default and the auth list is calculated or requested
# from the eauth driver each time.
#
# Note: `keep_acl_in_token` will be forced to True when using external authentication
# for REST API (`rest` is present under `external_auth`). This is because the REST API
# does not store the password, and can therefore not retroactively fetch the ACL, so
# the ACL must be stored in the token.
#keep_acl_in_token: False
# Auth subsystem module to use to get authorized access list for a user. By default it's
@ -1340,3 +1349,6 @@
############################################
# Allow the raw_shell parameter to be used when calling Salt SSH client via API
#netapi_allow_raw_shell: True
# Set a list of clients to enable in in the API
#netapi_enable_clients: []

View file

@ -600,6 +600,14 @@
# - require
# - require_in
# If set, this parameter expects a dictionary of state module names as keys
# and list of conditions which must be satisfied in order to run any functions
# in that state module.
#
#global_state_conditions:
# "*": ["G@global_noop:false"]
# service: ["not G@virtual_subtype:chroot"]
##### File Directory Settings #####
##########################################
# The Salt Minion can redirect all file server operations to a local directory,

View file

@ -74,8 +74,12 @@ syndic_user: salt
#verify_env: True
# Set the number of hours to keep old job information in the job cache:
# This option is deprecated by the keep_jobs_seconds option.
#keep_jobs: 24
# Set the number of seconds to keep old job information in the job cache:
#keep_jobs_seconds: 86400
# The number of seconds to wait when the client is requesting information
# about running jobs.
#gather_job_timeout: 10
@ -372,6 +376,11 @@ syndic_user: salt
# Set to True to enable keeping the calculated user's auth list in the token
# file. This is disabled by default and the auth list is calculated or requested
# from the eauth driver each time.
#
# Note: `keep_acl_in_token` will be forced to True when using external authentication
# for REST API (`rest` is present under `external_auth`). This is because the REST API
# does not store the password, and can therefore not retroactively fetch the ACL, so
# the ACL must be stored in the token.
#keep_acl_in_token: False
# Auth subsystem module to use to get authorized access list for a user. By default it's

View file

@ -55,9 +55,13 @@ on_saltstack = "SALT_ON_SALTSTACK" in os.environ
project = "Salt"
# This is the default branch on GitHub for the Salt project
repo_primary_branch = "master"
major_version = str(salt.version.__saltstack_version__.major)
latest_release = major_version
if salt.version.__saltstack_version__.can_have_dot_zero(major_version):
latest_release = ".".join([str(x) for x in salt.version.__saltstack_version__.info])
latest_release = (
# Use next unreleased version if LATEST_RELEASE is undefined env var
os.environ.get("LATEST_RELEASE", str(salt.version.__saltstack_version__.major))
os.environ.get("LATEST_RELEASE", latest_release)
) # latest release (3003)
previous_release = os.environ.get(
"PREVIOUS_RELEASE", "previous_release"

View file

@ -315,10 +315,27 @@ Default: ``24``
Set the number of hours to keep old job information. Note that setting this option
to ``0`` disables the cache cleaner.
.. deprecated:: 3006
Replaced by :conf_master:`keep_jobs_seconds`
.. code-block:: yaml
keep_jobs: 24
.. conf_master:: keep_jobs_seconds
``keep_jobs_seconds``
---------------------
Default: ``86400``
Set the number of seconds to keep old job information. Note that setting this option
to ``0`` disables the cache cleaner.
.. code-block:: yaml
keep_jobs_seconds: 86400
.. conf_master:: gather_job_timeout
``gather_job_timeout``
@ -532,9 +549,9 @@ jobs dir.
directory, which is ``/var/cache/salt/master/jobs/`` by default, will be
smaller, but the JID directories will still be present.
Note that the :conf_master:`keep_jobs` option can be set to a lower value,
such as ``1``, to limit the number of hours jobs are stored in the job
cache. (The default is 24 hours.)
Note that the :conf_master:`keep_jobs_seconds` option can be set to a lower
value, such as ``3600``, to limit the number of seconds jobs are stored in
the job cache. (The default is 86400 seconds.)
Please see the :ref:`Managing the Job Cache <managing_the_job_cache>`
documentation for more information.
@ -1851,6 +1868,11 @@ Set to True to enable keeping the calculated user's auth list in the token
file. This is disabled by default and the auth list is calculated or requested
from the eauth driver each time.
Note: `keep_acl_in_token` will be forced to True when using external authentication
for REST API (`rest` is present under `external_auth`). This is because the REST API
does not store the password, and can therefore not retroactively fetch the ACL, so
the ACL must be stored in the token.
.. code-block:: yaml
keep_acl_in_token: False
@ -5099,6 +5121,41 @@ Used by ``salt-api`` for the master requests timeout.
rest_timeout: 300
.. conf_master:: netapi_disable_clients
``netapi_enable_clients``
--------------------------
.. versionadded:: 3006.0
Default: ``[]``
Used by ``salt-api`` to enable access to the listed clients. Unless a
client is addded to this list, requests will be rejected before
authentication is attempted or processing of the low state occurs.
This can be used to only expose the required functionality via
``salt-api``.
Configuration with all possible clients enabled:
.. code-block:: yaml
netapi_enable_clients:
- local
- local_async
- local_batch
- local_subset
- runner
- runner_async
- ssh
- wheel
- wheel_async
.. note::
Enabling all clients is not recommended - only enable the
clients that provide the functionality required.
.. _syndic-server-settings:

View file

@ -2472,6 +2472,21 @@ default configuration set up at install time.
snapper_states_config: root
``global_state_conditions``
---------------------------
Default: ``None``
If set, this parameter expects a dictionary of state module names as keys and a
list of conditions which must be satisfied in order to run any functions in that
state module.
.. code-block:: yaml
global_state_conditions:
"*": ["G@global_noop:false"]
service: ["not G@virtual_subtype:chroot"]
File Directory Settings
=======================

View file

@ -23,6 +23,7 @@ engine modules
redis_sentinel
script
slack
slack_bolt_engine
sqs_events
stalekey
test

View file

@ -0,0 +1,5 @@
salt.engines.slack_bolt_engine
==============================
.. automodule:: salt.engines.slack_bolt_engine
:members:

View file

@ -12,6 +12,7 @@ serializer modules
configparser
json
keyvalue
msgpack
plist
python

View file

@ -0,0 +1,6 @@
salt.serializers.keyvalue
=========================
.. automodule:: salt.serializers.keyvalue
:members:

View file

@ -229,6 +229,7 @@ state modules
nxos_upgrade
openstack_config
openvswitch_bridge
openvswitch_db
openvswitch_port
opsgenie
pagerduty

View file

@ -0,0 +1,5 @@
salt.states.openvswitch_db module
=================================
.. automodule:: salt.states.openvswitch_db
:members:

View file

@ -155,6 +155,11 @@ The following dunder dictionaries are always defined, but may be empty
__opts__
--------
..versionchanged:: 3006.0
The ``__opts__`` dictionary can now be accessed via
:py:mod:`~salt.loader.context``.
Defined in: All modules
The ``__opts__`` dictionary contains all of the options passed in the

View file

@ -70,8 +70,8 @@ lookup_jid
----------
When jobs are executed the return data is sent back to the master and cached.
By default it is cached for 24 hours, but this can be configured via the
``keep_jobs`` option in the master configuration.
By default it is cached for 86400 seconds, but this can be configured via the
``keep_jobs_seconds`` option in the master configuration.
Using the lookup_jid runner will display the same return data that the initial
job invocation with the salt command would display.

View file

@ -19,15 +19,15 @@ job cache directory (on Linux systems this is typically
deployments as it does not typically require any further configuration or
management.
The default job cache is a temporary cache and jobs will be stored for 24
hours. If the default cache needs to store jobs for a different period the
time can be easily adjusted by changing the ``keep_jobs`` parameter in the
Salt Master configuration file. The value passed in is measured via hours:
The default job cache is a temporary cache and jobs will be stored for 86400
seconds. If the default cache needs to store jobs for a different period the
time can be easily adjusted by changing the ``keep_jobs_seconds`` parameter
in the Salt Master configuration file. The value passed in is measured in seconds:
.. code-block:: yaml
keep_jobs: 24
keep_jobs_seconds: 86400
Reducing the Size of the Default Job Cache
------------------------------------------
@ -48,16 +48,16 @@ The default location for the job cache is in the ``/var/cache/salt/master/jobs/`
directory.
Setting the :conf_master:`job_cache` to ``False`` in addition to setting
the :conf_master:`keep_jobs` option to a smaller value, such as ``1``, in the Salt
Master configuration file will reduce the size of the Default Job Cache, and thus
the burden on the Salt Master.
the :conf_master:`keep_jobs_seconds` option to a smaller value, such as ``3600``,
in the Salt Master configuration file will reduce the size of the Default Job Cache,
and thus the burden on the Salt Master.
.. note::
Changing the ``keep_jobs`` option sets the number of hours to keep old job
information and defaults to ``24`` hours. Do not set this value to ``0`` when
trying to make the cache cleaner run more frequently, as this means the cache
cleaner will never run.
Changing the ``keep_jobs_seconds`` option sets the number of seconds to keep
old job information and defaults to ``86400`` seconds. Do not set this value
to ``0`` when trying to make the cache cleaner run more frequently, as this
means the cache cleaner will never run.
Additional Job Cache Options

View file

@ -37,6 +37,18 @@ values that are mapped to function arguments. This allows calling functions
simply by creating a data structure. (And this is exactly how much of Salt's
own internals work!)
The :conf_master:`netapi_enable_clients` list in the master config sets which
clients are available. It is recommended to only enable the clients required
to complete the tasks needed to reduce the amount of Salt functionality exposed
via the netapi. Enabling the local clients will provide the same functionality as
the :command:`salt` command.
.. admonition:: :conf_master:`netapi_enable_clients`
Prior to Salt's 3006.0 release all clients were enabled and it was not possible
to disable clients individually.
.. autoclass:: salt.netapi.NetapiClient
:members: local, local_async, local_subset, ssh, runner, runner_async,
wheel, wheel_async

View file

@ -1,15 +1,15 @@
.. _release-3006:
.. _release-3006.0:
=========================================
Salt 3006 release notes - Codename Sulfur
=========================================
===========================================
Salt 3006.0 release notes - Codename Sulfur
===========================================
Salt 3006 is currently under development.
Salt 3006.0 is currently under development.
Onedir packaging
----------------
Going forward from the 3006 release, the Salt Project will only provide onedir
Going forward from the 3006.0 release, the Salt Project will only provide onedir
packages to install or upgrade Salt. The classic, non-onedir packages will not
be provided for supported operating systems. See
`Upgrade to onedir <https://docs.saltproject.io/salt/install-guide/en/latest/topics/upgrade-to-onedir.html>`_
@ -28,6 +28,18 @@ supported versions. See
for more information.
All salt-api functionality disabled by default
----------------------------------------------
All netapi clients, which provide the functionality to salt-api, will now
be disabled by default. If you use the salt-api you must add the new
`netapi_enable_clients` option to your salt master config. This is
a breaking change and the salt-api will not function without this
new configuration option.
See `Netapi module <https://docs.saltproject.io/en/latest/topics/netapi/index.html#introduction-to-netapi-modules>`
for more information.
How do I migrate to the onedir packages?
----------------------------------------
The migration path from the classic, non-onedir packages to the onedir packages

View file

@ -44,7 +44,7 @@ Upcoming Release
:maxdepth: 1
:glob:
3006*
3006.0*
.. seealso:: :ref:`Legacy salt-cloud release docs <legacy-salt-cloud-release-notes>`

View file

@ -46,7 +46,7 @@ The TCP transport allows for the master/minion communication to be optionally
wrapped in a TLS connection. Enabling this is simple, the master and minion need
to be using the tcp connection, then the `ssl` option is enabled. The `ssl`
option is passed as a dict and corresponds to the options passed to the
Python `ssl.wrap_socket <https://docs.python.org/3/library/ssl.html#ssl.wrap_socket>`
Python `ssl.wrap_socket <https://docs.python.org/3/library/ssl.html#ssl.wrap_socket>`_
function.
A simple setup looks like this, on the Salt Master add the `ssl` option to the
@ -58,6 +58,7 @@ master configuration file:
keyfile: <path_to_keyfile>
certfile: <path_to_certfile>
ssl_version: PROTOCOL_TLSv1_2
ciphers: ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
The minimal `ssl` option in the minion configuration file looks like this:
@ -75,7 +76,8 @@ Specific options can be sent to the minion also, as defined in the Python
While setting the ssl_version is not required, we recommend it. Some older
versions of python do not support the latest TLS protocol and if this is
the case for your version of python we strongly recommend upgrading your
version of Python.
version of Python. Ciphers specification might be omitted, but strongly
recommended as otherwise all available ciphers will be enabled.
Crypto
@ -90,7 +92,13 @@ the remote end interprets as a one-way send.
.. note::
As of today we send all publishes to all minions and rely on minion-side filtering.
As of Salt `2016.3.0 <https://github.com/saltstack/salt/commit/1a395ed7a3e72eac87e81dfa072be9cf049453d3>`_, publishes using ``list`` targeting are sent only to relevant minions and not broadcasted.
As of Salt `3005 <https://github.com/saltstack/salt/commit/9db1af7147f7e6176e5f226cfedf1654ca038ec1>`_, publishes using ``pcre`` and ``glob`` targeting are also sent only to relevant minions and not broadcasted. Other targeting types are always sent to all minions and rely on minion-side filtering.
.. note::
Salt CLI defaults to ``glob`` targeting type, so in order to target specific minions without broadcast, you need to use `-L` option, such as ``salt -L my.minion test.ping``, for masters before 3005.
Request Server and Client

View file

@ -127,6 +127,23 @@ A restart of the ``salt-master`` daemon and gitfs cache directory clean up may
be required to allow http(s) repositories to continue to be fetched.
Debian Pygit2 Issues
~~~~~~~~~~~~~~~~~~~~
The Debian repos currently have older versions of pygit2 (package
``python3-pygit2``). These older versions may have issues using newer SSH keys
(see [this issue](https://github.com/saltstack/salt/issues/61790)). Instead,
``pygit2`` can be installed from Pypi, but you will need a version that
matches the ``libgit2`` version from Debian. This is version 1.6.1.
.. code-block:: bash
# apt-get install libgit2
# salt-pip install pygit2==1.6.1 --no-deps
Note that the above instructions assume a onedir installation. The need for
`--no-deps` is to prevent the CFFI package from mismatching with Salt.
GitPython
---------

View file

@ -241,7 +241,7 @@ the retention time defined by
.. code-block:: yaml
keep_jobs: 24
keep_jobs_seconds: 86400
.. code-block:: text

View file

@ -38,9 +38,11 @@ COVERAGE_REQUIREMENT = os.environ.get("COVERAGE_REQUIREMENT")
# Global Path Definitions
REPO_ROOT = pathlib.Path(os.path.dirname(__file__)).resolve()
SITECUSTOMIZE_DIR = str(REPO_ROOT / "tests" / "support" / "coverage")
ARTIFACTS_DIR = REPO_ROOT / "artifacts"
COVERAGE_OUTPUT_DIR = ARTIFACTS_DIR / "coverage"
COVERAGE_FILE = os.environ.get("COVERAGE_FILE")
if COVERAGE_FILE is None:
COVERAGE_FILE = str(COVERAGE_OUTPUT_DIR / ".coverage")
IS_DARWIN = sys.platform.lower().startswith("darwin")
IS_WINDOWS = sys.platform.lower().startswith("win")
IS_FREEBSD = sys.platform.lower().startswith("freebsd")
@ -132,11 +134,14 @@ def _get_session_python_version_info(session):
"python",
"-c",
'import sys; sys.stdout.write("{}.{}.{}".format(*sys.version_info))',
stderr=None,
silent=True,
log=False,
)
version_info = tuple(
int(part) for part in session_py_version.split(".") if part.isdigit()
int(part)
for part in session_py_version.strip().split(".")
if part.isdigit()
)
session._runner._real_python_version_info = version_info
return version_info
@ -305,46 +310,69 @@ def _install_requirements(
return True
def _run_with_coverage(session, *test_cmd, env=None):
def _install_coverage_requirement(session):
if SKIP_REQUIREMENTS_INSTALL is False:
coverage_requirement = COVERAGE_REQUIREMENT
if coverage_requirement is None:
version_info = _get_session_python_version_info(session)
if version_info < (3, 7):
coverage_requirement = "coverage==6.2"
else:
coverage_requirement = "coverage==6.5.0"
coverage_requirement = "coverage==5.2"
session.install(
"--progress-bar=off", coverage_requirement, silent=PIP_INSTALL_SILENT
)
session.run("coverage", "erase")
python_path_env_var = os.environ.get("PYTHONPATH") or None
if python_path_env_var is None:
python_path_env_var = SITECUSTOMIZE_DIR
else:
python_path_entries = python_path_env_var.split(os.pathsep)
if SITECUSTOMIZE_DIR in python_path_entries:
python_path_entries.remove(SITECUSTOMIZE_DIR)
python_path_entries.insert(0, SITECUSTOMIZE_DIR)
python_path_env_var = os.pathsep.join(python_path_entries)
coverage_base_env = {
# The full path to the .coverage data file. Makes sure we always write
# them to the same directory
"COVERAGE_FILE": str(COVERAGE_OUTPUT_DIR / ".coverage")
}
def _run_with_coverage(session, *test_cmd, env=None):
_install_coverage_requirement(session)
session.run("coverage", "erase")
if env is None:
env = {}
env.update(
{
# The updated python path so that sitecustomize is importable
"PYTHONPATH": python_path_env_var,
# Instruct sub processes to also run under coverage
"COVERAGE_PROCESS_START": str(REPO_ROOT / ".coveragerc"),
},
**coverage_base_env,
coverage_base_env = {}
sitecustomize_dir = session.run(
"salt-factories", "--coverage", silent=True, log=True, stderr=None
)
if sitecustomize_dir is not None:
sitecustomize_dir = pathlib.Path(sitecustomize_dir.strip()).resolve()
if not sitecustomize_dir.exists():
session.error(
f"The path to 'sitecustomize.py', '{str(sitecustomize_dir)}', does not exist."
)
if sitecustomize_dir:
try:
session.log(
"Discovered salt-factories coverage 'sitecustomize.py' path: "
f"{sitecustomize_dir.relative_to(REPO_ROOT)}"
)
except ValueError:
session.log(
"Discovered salt-factories coverage 'sitecustomize.py' path: "
f"{sitecustomize_dir}"
)
python_path_env_var = os.environ.get("PYTHONPATH") or None
if python_path_env_var is None:
python_path_env_var = str(sitecustomize_dir)
else:
python_path_entries = python_path_env_var.split(os.pathsep)
if str(sitecustomize_dir) in python_path_entries:
python_path_entries.remove(str(sitecustomize_dir))
python_path_entries.insert(0, str(sitecustomize_dir))
python_path_env_var = os.pathsep.join(python_path_entries)
# The full path to the .coverage data file. Makes sure we always write
# them to the same directory
coverage_base_env["COVERAGE_FILE"] = COVERAGE_FILE
env.update(
{
# The updated python path so that sitecustomize is importable
"PYTHONPATH": python_path_env_var,
# Instruct sub processes to also run under coverage
"COVERAGE_PROCESS_START": str(REPO_ROOT / ".coveragerc"),
},
**coverage_base_env,
)
try:
session.run(*test_cmd, env=env)
@ -387,7 +415,7 @@ def _report_coverage(session):
env = {
# The full path to the .coverage data file. Makes sure we always write
# them to the same directory
"COVERAGE_FILE": str(COVERAGE_OUTPUT_DIR / ".coverage"),
"COVERAGE_FILE": COVERAGE_FILE,
}
report_section = None

View file

@ -5,7 +5,7 @@ Salt runs well on the macOS, but does have some limitations.
In this directory you will find scripts and collateral to build a macOS
.pkg-style package that uses a custom-built Python. This process has been
tested on macOS Lion (10.7) and later.
tested on macOS Catalina (10.15) and later.
This approach enables Salt users to potentially add items to their Salt install
via 'pip install' without interfering with the rest of their system's Python
@ -20,7 +20,7 @@ To build a native package you will need the following installed:
- git
The native package will install program files into ``/opt/salt``. Configuration
files will be installed to ``/etc/salt``, but will have '.dist' appended to
files will be installed to ``etc/salt``, but will have '.dist' appended to
them.
Launchd plists will be placed in /Library/LaunchDaemons. By default, salt-minion

View file

@ -7,67 +7,67 @@
#
# Description: This script downloads and installs all dependencies and build
# tools required to create a .pkg file for installation on macOS.
# Salt and all dependencies will be installed to a pyenv
# environment in /opt/salt. A .pkg file will then be created based
# on the contents of /opt/salt. The pkg will be signed and
# Salt and all dependencies will be installed to a Relenv Python
# environment in the ./build directory relevant to this script. A
# .pkg file will then be created. The pkg will be signed and
# notarized
#
# This script must be run with sudo. In order for the environment
# variables to be available in sudo you need to pass the `-E`
# option. For example:
# If this script is run with sudo, you must pass the `-E` option
# in order for the environment variables to be available. For
# example:
#
# sudo -E ./build.sh 3003
#
# Requirements:
# - Xcode
#
# NOTE: Previous versions of this script were able to run with just the
# Xcode command line tools. However, now that we are notarizing these
# packages, we require a full Xcode installation.
#
# Usage:
# This script can be passed 3 positional arguments:
# $1 : <version> : the version of salt to build
# (a git tag, not a branch)
# (defaults to git-repo state)
# $2 : <test mode> : if this script should be run in test mode, this
# disables the longer optimized compile time of python.
# Please DO NOT set to "true" when building a
# release version.
# (defaults to false)
# $3 : <package dir> : the staging area for the package
# defaults to /tmp/salt_pkg
#
# Example:
# The following will build Salt v3001 with an optimized python and
# stage all files in /tmp/custom_pkg:
# # The following will build a Salt 3006.1-1 package:
# ./build.sh 3006.1-1
#
# sudo -E ./build.sh 3001 false /tmp/custom_pkg
# # The following will build whatever version of salt is checked out:
# ./build.sh
#
# # The following will ensure environment variables are passed to the
# # sudo environment:
# sudo -E ./build.sh 3006.1-1
#
# This script calls out to the following scripts:
#
# build_env.sh
# Builds python using pyenv, libsodium, and zeromq. OpenSSL and Readline
# are compiled by pyenv.
# build_python.sh
# Builds python using the relenv project:
# https://github.com/saltstack/relative-environment-for-python
#
# sign_binaries.sh
# Signs all the binaries with the Developer App certificate specified in
# the DEV_APP_CERT environment variable. It signs all binaries in the
# /opt/salt/.pyenv directory. It also signs all .dylib and .so files in
# the /opt/salt/.pyenv directory.
# ./build directory. It also signs all .dylib and .so files.
#
# package.sh
# Builds a package file from the contents of /opt/salt and signs it with
# Builds a package file from the contents of ./build and signs it with
# the Developer Installer certificate specified in the DEV_INSTALL_CERT
# environment variable.
#
# notarize.sh
# Sends the package to be notarized by apple and staples the
# Uploads the package to be notarized by Apple and staples the
# notarization to the installer pkg. It uses the Apple Account name
# specified in the APPLE_ACCT environment variable and the app-specific
# password for that account specified in the APP_SPEC_PWD environment
# variable.
#
# Environment Setup:
# This script requires certificates and environment variables be present on
# the system. They are used by the above scripts. Details can be found in
# the individual scripts that use them.
# These scripts require certificates and environment variables be present on
# the system. Details can be found in the individual scripts that use them.
#
# Import Certificates:
# Import the Salt Developer Application and Installer Signing
@ -85,106 +85,128 @@
# export APPLE_ACCT="username@domain.com"
# export APP_SPEC_PWD="abcd-efgh-ijkl-mnop"
#
# Don't forget to run sudo with the `-E` option so that the environment
# variables are passed to the `package.sh`, `notarize.sh`, and
# `sign_binaries.sh` scripts under the sudo environment.
# Don't forget to pass the `-E` option when running with Sudo so that
# the environment variables are passed to the `package.sh`,
# `notarize.sh`, and `sign_binaries.sh` scripts under the sudo
# environment.
#
################################################################################
echo "#########################################################################"
echo "Salt Package Build Script"
echo "#########################################################################"
################################################################################
# Make sure the script is launched with sudo
################################################################################
if [[ $(id -u) -ne 0 ]]; then
echo ">>>>>> Re-launching as sudo <<<<<<"
exec sudo -E /bin/bash -c "$(printf '%q ' "$BASH_SOURCE" "$@")"
#-------------------------------------------------------------------------------
# Variables
#-------------------------------------------------------------------------------
SRC_DIR=$(git rev-parse --show-toplevel)
SCRIPT_DIR="$SRC_DIR/pkg/osx"
CPU_ARCH=$(uname -m)
#-------------------------------------------------------------------------------
# Functions
#-------------------------------------------------------------------------------
# _usage
#
# Prints out help text
_usage() {
echo ""
echo "Script to build a Salt package for macOS:"
echo ""
echo "usage: ${0}"
echo " [-h|--help] [-v|--version]"
echo ""
echo " -h, --help this message"
echo " -v, --version version of Salt display in the package"
echo ""
echo " Build a Salt package:"
echo " example: $0 3006.1-1"
}
#-------------------------------------------------------------------------------
# Get Parameters
#-------------------------------------------------------------------------------
while true; do
if [[ -z "$1" ]]; then break; fi
case "$1" in
-h | --help )
_usage
exit 0
;;
-v | --version )
shift
VERSION="$*"
shift
;;
-*)
echo "Invalid Option: $1"
echo ""
_usage
exit 1
;;
* )
VERSION="$*"
shift
;;
esac
done
if [ -z "$VERSION" ]; then
VERSION=$(git describe)
fi
VERSION=${VERSION#"v"}
################################################################################
# Check passed parameters, set defaults
################################################################################
echo "**** Setting Variables"
#-------------------------------------------------------------------------------
# Quit on error
#-------------------------------------------------------------------------------
quit_on_error() {
echo "$(basename "$0") caught error on line : $1 command was: $2"
echo -en "\033]0;\a"
exit 1
}
trap 'quit_on_error $LINENO $BASH_COMMAND' ERR
if [ "$1" == "" ]; then
VERSION=`git describe`
else
VERSION=$1
fi
if [ "$2" == "" ]; then
TEST_MODE="false"
else
TEST_MODE=$2
fi
if [ "$3" == "" ]; then
PKGDIR=/tmp/salt_pkg
else
PKGDIR=$3
fi
################################################################################
# Additional Parameters Required for the script to function properly
################################################################################
SRCDIR=`git rev-parse --show-toplevel`
PKGRESOURCES=$SRCDIR/pkg/osx
PYTHON=/opt/salt/bin/python3
CPUARCH=`uname -m`
################################################################################
#-------------------------------------------------------------------------------
# Make sure this is the Salt Repository
################################################################################
if [[ ! -e "$SRCDIR/.git" ]] && [[ ! -e "$SRCDIR/scripts/salt" ]]; then
echo "This directory doesn't appear to be a git repository."
#-------------------------------------------------------------------------------
if [[ ! -e "$SRC_DIR/.git" ]] && [[ ! -e "$SRC_DIR/scripts/salt" ]]; then
echo "This directory doesn't appear to be a Salt git repository."
echo "The macOS build process needs some files from a Git checkout of Salt."
echo "Run this script from the root of the Git checkout."
echo -en "\033]0;\a"
exit 1
fi
################################################################################
# Create the Build Environment
################################################################################
echo "**** Building the environment"
$PKGRESOURCES/build_env.sh $TEST_MODE
if [[ "$?" != "0" ]]; then
echo "Failed to build the environment."
echo -en "\033]0;\a"
exit 1
fi
################################################################################
#-------------------------------------------------------------------------------
# Script Start
#-------------------------------------------------------------------------------
printf "#%.0s" {1..80}; printf "\n"
echo "Build Salt Package for macOS"
printf "v%.0s" {1..80}; printf "\n"
#-------------------------------------------------------------------------------
# Build Python
#-------------------------------------------------------------------------------
"$SCRIPT_DIR/build_python.sh"
#-------------------------------------------------------------------------------
# Install Salt
################################################################################
echo "**** Installing Salt into the environment"
echo -n -e "\033]0;Build: Install Salt\007"
rm -rf $SRCDIR/build
rm -rf $SRCDIR/dist
$PYTHON $SRCDIR/setup.py build -e "$PYTHON -E -s --upgrade"
$PYTHON $SRCDIR/setup.py install
#-------------------------------------------------------------------------------
"$SCRIPT_DIR/install_salt.sh"
################################################################################
#-------------------------------------------------------------------------------
# Sign Binaries built by Salt
################################################################################
echo "**** Signing binaries"
echo -n -e "\033]0;Build: Sign Binaries\007"
$PKGRESOURCES/sign_binaries.sh
#-------------------------------------------------------------------------------
"$SCRIPT_DIR/sign_binaries.sh"
################################################################################
#-------------------------------------------------------------------------------
# Build and Sign Package
################################################################################
echo "**** Building the package"
echo -n -e "\033]0;Build: Package Salt\007"
$PKGRESOURCES/package.sh $VERSION $PKGDIR
#-------------------------------------------------------------------------------
"$SCRIPT_DIR/package.sh" "$VERSION"
################################################################################
#-------------------------------------------------------------------------------
# Notarize Package
################################################################################
echo "**** Notarizing the package"
echo -n -e "\033]0;Build: Notarize Salt\007"
$PKGRESOURCES/notarize.sh salt-$VERSION-py3-$CPUARCH-signed.pkg
echo -en "\033]0;\a"
echo "#########################################################################"
echo "Salt Package Build Script Complete"
echo "#########################################################################"
#-------------------------------------------------------------------------------
"$SCRIPT_DIR/notarize.sh" "salt-$VERSION-py3-$CPU_ARCH-signed.pkg"
#-------------------------------------------------------------------------------
# Script Completed
#-------------------------------------------------------------------------------
printf "^%.0s" {1..80}; printf "\n"
echo "Build Salt Package for macOS Complete"
printf "#%.0s" {1..80}; printf "\n"

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