Update the tools requirements

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
This commit is contained in:
Pedro Algarvio 2023-11-15 12:19:08 +00:00 committed by Pedro Algarvio
parent 74aced4867
commit 185a352d00
22 changed files with 403 additions and 244 deletions

View file

@ -134,6 +134,18 @@ jobs:
with: with:
python-version: "3.10" python-version: "3.10"
- name: Get Python Version
id: get-python-version
uses: ./.github/actions/get-python-version
with:
python-binary: python3
- name: Restore Cached Python Tools Virtualenvs
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ env.CACHE_SEED }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
@ -269,29 +281,29 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Get Python Version - name: Get Python Version
id: get-python-version id: get-python-version
uses: ./.github/actions/get-python-version uses: ./.github/actions/get-python-version
with: with:
python-binary: python3 python-binary: python3
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|changelog
restore-keys: |
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|changelog
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
id: python-tools-scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
- name: Cache Python Tools Docs Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/docs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|docs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/docs.txt') }}
- name: Cache Python Tools Changelog Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/changelog
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|changelog|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/changelog.txt') }}
- name: Setup Salt Version - name: Setup Salt Version
id: setup-salt-version id: setup-salt-version
uses: ./.github/actions/setup-salt-version uses: ./.github/actions/setup-salt-version
@ -412,8 +424,16 @@ jobs:
with: with:
python-binary: python3 python-binary: python3
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|build
restore-keys: |
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|build
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
id: python-tools-scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
- name: Setup Salt Version - name: Setup Salt Version
@ -422,12 +442,6 @@ jobs:
with: with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
- name: Cache Python Tools Build Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/build
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|build|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/build.txt') }}
- name: Build Source Tarball - name: Build Source Tarball
uses: ./.github/actions/build-source-tarball uses: ./.github/actions/build-source-tarball
with: with:

View file

@ -178,6 +178,18 @@ jobs:
with: with:
python-version: "3.10" python-version: "3.10"
- name: Get Python Version
id: get-python-version
uses: ./.github/actions/get-python-version
with:
python-binary: python3
- name: Restore Cached Python Tools Virtualenvs
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ env.CACHE_SEED }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
@ -313,29 +325,29 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Get Python Version - name: Get Python Version
id: get-python-version id: get-python-version
uses: ./.github/actions/get-python-version uses: ./.github/actions/get-python-version
with: with:
python-binary: python3 python-binary: python3
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|changelog
restore-keys: |
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|changelog
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
id: python-tools-scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
- name: Cache Python Tools Docs Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/docs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|docs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/docs.txt') }}
- name: Cache Python Tools Changelog Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/changelog
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|changelog|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/changelog.txt') }}
- name: Setup Salt Version - name: Setup Salt Version
id: setup-salt-version id: setup-salt-version
uses: ./.github/actions/setup-salt-version uses: ./.github/actions/setup-salt-version
@ -461,8 +473,16 @@ jobs:
with: with:
python-binary: python3 python-binary: python3
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|build
restore-keys: |
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|build
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
id: python-tools-scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
- name: Setup Salt Version - name: Setup Salt Version
@ -471,12 +491,6 @@ jobs:
with: with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
- name: Cache Python Tools Build Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/build
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|build|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/build.txt') }}
- name: Build Source Tarball - name: Build Source Tarball
uses: ./.github/actions/build-source-tarball uses: ./.github/actions/build-source-tarball
with: with:

View file

@ -168,6 +168,18 @@ jobs:
with: with:
python-version: "3.10" python-version: "3.10"
- name: Get Python Version
id: get-python-version
uses: ./.github/actions/get-python-version
with:
python-binary: python3
- name: Restore Cached Python Tools Virtualenvs
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ env.CACHE_SEED }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
@ -303,29 +315,29 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Get Python Version - name: Get Python Version
id: get-python-version id: get-python-version
uses: ./.github/actions/get-python-version uses: ./.github/actions/get-python-version
with: with:
python-binary: python3 python-binary: python3
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|changelog
restore-keys: |
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|changelog
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
id: python-tools-scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
- name: Cache Python Tools Docs Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/docs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|docs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/docs.txt') }}
- name: Cache Python Tools Changelog Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/changelog
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|changelog|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/changelog.txt') }}
- name: Setup Salt Version - name: Setup Salt Version
id: setup-salt-version id: setup-salt-version
uses: ./.github/actions/setup-salt-version uses: ./.github/actions/setup-salt-version
@ -446,8 +458,16 @@ jobs:
with: with:
python-binary: python3 python-binary: python3
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|build
restore-keys: |
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|build
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
id: python-tools-scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
- name: Setup Salt Version - name: Setup Salt Version
@ -456,12 +476,6 @@ jobs:
with: with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
- name: Cache Python Tools Build Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/build
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|build|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/build.txt') }}
- name: Build Source Tarball - name: Build Source Tarball
uses: ./.github/actions/build-source-tarball uses: ./.github/actions/build-source-tarball
with: with:

View file

@ -164,6 +164,18 @@ jobs:
with: with:
python-version: "3.10" python-version: "3.10"
- name: Get Python Version
id: get-python-version
uses: ./.github/actions/get-python-version
with:
python-binary: python3
- name: Restore Cached Python Tools Virtualenvs
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ env.CACHE_SEED }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
@ -318,23 +330,18 @@ jobs:
with: with:
python-binary: python3 python-binary: python3
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|changelog
restore-keys: |
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|changelog
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
id: python-tools-scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
- name: Cache Python Tools Docs Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/docs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|docs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/docs.txt') }}
- name: Cache Python Tools Changelog Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/changelog
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|changelog|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/changelog.txt') }}
- name: Setup Salt Version - name: Setup Salt Version
id: setup-salt-version id: setup-salt-version
uses: ./.github/actions/setup-salt-version uses: ./.github/actions/setup-salt-version
@ -456,8 +463,16 @@ jobs:
with: with:
python-binary: python3 python-binary: python3
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|build
restore-keys: |
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|build
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
id: python-tools-scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
- name: Setup Salt Version - name: Setup Salt Version
@ -466,12 +481,6 @@ jobs:
with: with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
- name: Cache Python Tools Build Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/build
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|build|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/build.txt') }}
- name: Build Source Tarball - name: Build Source Tarball
uses: ./.github/actions/build-source-tarball uses: ./.github/actions/build-source-tarball
with: with:

View file

@ -59,29 +59,33 @@
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
<%- if not prepare_actual_release %>
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
<%- endif %>
- name: Get Python Version - name: Get Python Version
id: get-python-version id: get-python-version
uses: ./.github/actions/get-python-version uses: ./.github/actions/get-python-version
with: with:
python-binary: python3 python-binary: python3
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|changelog
restore-keys: |
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|changelog
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
id: python-tools-scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
- name: Cache Python Tools Docs Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/docs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|docs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/docs.txt') }}
- name: Cache Python Tools Changelog Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/changelog
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|changelog|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/changelog.txt') }}
- name: Setup Salt Version - name: Setup Salt Version
id: setup-salt-version id: setup-salt-version
uses: ./.github/actions/setup-salt-version uses: ./.github/actions/setup-salt-version
@ -228,8 +232,16 @@
with: with:
python-binary: python3 python-binary: python3
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|build
restore-keys: |
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}|build
${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
id: python-tools-scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts
- name: Setup Salt Version - name: Setup Salt Version
@ -238,12 +250,6 @@
with: with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
- name: Cache Python Tools Build Virtualenv
uses: actions/cache@v3
with:
path: .tools-venvs/build
key: ${{ needs.prepare-workflow.outputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|build|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/build.txt') }}
- name: Build Source Tarball - name: Build Source Tarball
uses: ./.github/actions/build-source-tarball uses: ./.github/actions/build-source-tarball
with: with:

View file

@ -182,6 +182,18 @@ jobs:
with: with:
python-version: "3.10" python-version: "3.10"
- name: Get Python Version
id: get-python-version
uses: ./.github/actions/get-python-version
with:
python-binary: python3
- name: Restore Cached Python Tools Virtualenvs
uses: actions/cache@v3
with:
path: .tools-venvs
key: ${{ env.CACHE_SEED }}|${{ github.workflow }}|tools-venvs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/*.txt', 'tools/**/*.py') }}
- name: Setup Python Tools Scripts - name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts uses: ./.github/actions/setup-python-tools-scripts

2
.gitignore vendored
View file

@ -145,3 +145,5 @@ nox.*.tar.xz
/pkg/debian/salt-ssh /pkg/debian/salt-ssh
/pkg/debian/salt-syndic /pkg/debian/salt-syndic
/pkg/debian/debhelper-build-stamp /pkg/debian/debhelper-build-stamp
.tools-venvs

View file

@ -46,7 +46,7 @@ repos:
)$ )$
- repo: https://github.com/s0undt3ch/python-tools-scripts - repo: https://github.com/s0undt3ch/python-tools-scripts
rev: "0.15.0" rev: "0.18.3"
hooks: hooks:
- id: tools - id: tools
alias: check-changelog-entries alias: check-changelog-entries
@ -1078,16 +1078,24 @@ repos:
- requirements/static/ci/tools.in - requirements/static/ci/tools.in
- id: pip-tools-compile - id: pip-tools-compile
alias: compile-ci-tools-3.11-requirements alias: compile-ci-tools-virustotal-3.9-requirements
name: Linux CI Py3.11 Tools Requirements name: Linux CI Py3.9 Tools virustotal Requirements
files: ^requirements/static/ci/(tools\.in|py3.11/(tools|linux)\.txt)$ files: ^requirements/static/ci/(tools(-virustotal)?\.in|py3.9/(tools(-virustotal)?|linux)\.txt)$
pass_filenames: false pass_filenames: false
args: args:
- -v - -v
- --build-isolation - --py-version=3.9
- --py-version=3.11 - requirements/static/ci/tools-virustotal.in
- --no-emit-index-url
- requirements/static/ci/tools.in - id: pip-tools-compile
alias: compile-ci-tools-virustotal-3.10-requirements
name: Linux CI Py3.10 Tools virustotal Requirements
files: ^requirements/static/ci/(tools(-virustotal)?\.in|py3.10/(tools(-virustotal)?|linux)\.txt)$
pass_filenames: false
args:
- -v
- --py-version=3.10
- requirements/static/ci/tools-virustotal.in
# <---- Tools ----------------------------------------------------------------------------------------------------- # <---- Tools -----------------------------------------------------------------------------------------------------
# ----- Code Formatting -------------------------------------------------------------------------------------------> # ----- Code Formatting ------------------------------------------------------------------------------------------->
@ -1319,6 +1327,7 @@ repos:
- types-attrs - types-attrs
- types-pyyaml - types-pyyaml
- types-requests - types-requests
- python-tools-scripts>=0.18.3
- repo: https://github.com/saltstack/mirrors-nox - repo: https://github.com/saltstack/mirrors-nox
rev: v2021.6.12 rev: v2021.6.12

View file

@ -0,0 +1,28 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.10/tools-virustotal.txt requirements/static/ci/tools-virustotal.in
#
certifi==2023.7.22
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# requests
charset-normalizer==3.2.0
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# requests
idna==3.2
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# requests
requests==2.31.0
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# virustotal3
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# requests
virustotal3==1.0.8
# via -r requirements/static/ci/tools-virustotal.in

View file

@ -4,57 +4,77 @@
# #
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.10/tools.txt requirements/static/ci/tools.in # pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.10/tools.txt requirements/static/ci/tools.in
# #
attrs==22.1.0 attrs==20.3.0
# via # via
# -r requirements/static/ci/tools.in # -r requirements/static/ci/tools.in
# python-tools-scripts # python-tools-scripts
boto3==1.21.46 boto3==1.26.147
# via -r requirements/static/ci/tools.in # via -r requirements/static/ci/tools.in
botocore==1.24.46 botocore==1.29.147
# via # via
# boto3 # boto3
# s3transfer # s3transfer
certifi==2023.07.22 certifi==2023.7.22
# via requests # via
charset-normalizer==3.0.1 # -c requirements/static/ci/../pkg/py3.10/linux.txt
# via requests # requests
commonmark==0.9.1 charset-normalizer==3.2.0
# via rich # via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# requests
idna==3.2 idna==3.2
# via requests # via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# requests
jinja2==3.1.2 jinja2==3.1.2
# via -r requirements/static/ci/tools.in # via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# -r requirements/static/ci/tools.in
jmespath==1.0.1 jmespath==1.0.1
# via # via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# boto3 # boto3
# botocore # botocore
markdown-it-py==2.2.0
# via rich
markupsafe==2.1.2 markupsafe==2.1.2
# via jinja2 # via
packaging==23.0 # -c requirements/static/ci/../pkg/py3.10/linux.txt
# via -r requirements/static/ci/tools.in # jinja2
mdurl==0.1.2
# via markdown-it-py
packaging==22.0
# via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# -r requirements/static/ci/tools.in
pygments==2.13.0 pygments==2.13.0
# via rich # via rich
python-dateutil==2.8.2 python-dateutil==2.8.1
# via botocore # via
python-tools-scripts==0.18.1 # -c requirements/static/ci/../pkg/py3.10/linux.txt
# botocore
python-tools-scripts==0.18.3
# via -r requirements/static/ci/tools.in # via -r requirements/static/ci/tools.in
pyyaml==6.0.1 pyyaml==6.0.1
# via -r requirements/static/ci/tools.in # via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# -r requirements/static/ci/tools.in
requests==2.31.0 requests==2.31.0
# via # via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# python-tools-scripts # python-tools-scripts
# virustotal3 rich==13.3.5
rich==12.5.1
# via python-tools-scripts # via python-tools-scripts
s3transfer==0.5.2 s3transfer==0.6.1
# via boto3 # via boto3
six==1.16.0 six==1.16.0
# via python-dateutil # via
typing-extensions==4.4.0 # -c requirements/static/ci/../pkg/py3.10/linux.txt
# python-dateutil
typing-extensions==4.2.0
# via python-tools-scripts # via python-tools-scripts
urllib3==1.26.18 urllib3==1.26.18
# via # via
# -c requirements/static/ci/../pkg/py3.10/linux.txt
# botocore # botocore
# requests # requests
virustotal3==1.0.8
# via -r requirements/static/ci/tools.in

View file

@ -0,0 +1,28 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.9/tools-virustotal.txt requirements/static/ci/tools-virustotal.in
#
certifi==2023.7.22
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# requests
charset-normalizer==3.2.0
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# requests
idna==3.2
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# requests
requests==2.31.0
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# virustotal3
urllib3==1.26.18
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# requests
virustotal3==1.0.8
# via -r requirements/static/ci/tools-virustotal.in

View file

@ -4,57 +4,77 @@
# #
# pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.9/tools.txt requirements/static/ci/tools.in # pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.9/tools.txt requirements/static/ci/tools.in
# #
attrs==22.1.0 attrs==20.3.0
# via # via
# -r requirements/static/ci/tools.in # -r requirements/static/ci/tools.in
# python-tools-scripts # python-tools-scripts
boto3==1.21.46 boto3==1.26.147
# via -r requirements/static/ci/tools.in # via -r requirements/static/ci/tools.in
botocore==1.24.46 botocore==1.29.147
# via # via
# boto3 # boto3
# s3transfer # s3transfer
certifi==2023.07.22 certifi==2023.7.22
# via requests # via
charset-normalizer==3.0.1 # -c requirements/static/ci/../pkg/py3.9/linux.txt
# via requests # requests
commonmark==0.9.1 charset-normalizer==3.2.0
# via rich # via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# requests
idna==3.2 idna==3.2
# via requests # via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# requests
jinja2==3.1.2 jinja2==3.1.2
# via -r requirements/static/ci/tools.in # via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# -r requirements/static/ci/tools.in
jmespath==1.0.1 jmespath==1.0.1
# via # via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# boto3 # boto3
# botocore # botocore
markdown-it-py==2.2.0
# via rich
markupsafe==2.1.2 markupsafe==2.1.2
# via jinja2 # via
packaging==23.0 # -c requirements/static/ci/../pkg/py3.9/linux.txt
# via -r requirements/static/ci/tools.in # jinja2
mdurl==0.1.2
# via markdown-it-py
packaging==22.0
# via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# -r requirements/static/ci/tools.in
pygments==2.13.0 pygments==2.13.0
# via rich # via rich
python-dateutil==2.8.2 python-dateutil==2.8.1
# via botocore # via
python-tools-scripts==0.18.1 # -c requirements/static/ci/../pkg/py3.9/linux.txt
# botocore
python-tools-scripts==0.18.3
# via -r requirements/static/ci/tools.in # via -r requirements/static/ci/tools.in
pyyaml==6.0.1 pyyaml==6.0.1
# via -r requirements/static/ci/tools.in # via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# -r requirements/static/ci/tools.in
requests==2.31.0 requests==2.31.0
# via # via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# python-tools-scripts # python-tools-scripts
# virustotal3 rich==13.3.5
rich==12.5.1
# via python-tools-scripts # via python-tools-scripts
s3transfer==0.5.2 s3transfer==0.6.1
# via boto3 # via boto3
six==1.16.0 six==1.16.0
# via python-dateutil # via
typing-extensions==4.4.0 # -c requirements/static/ci/../pkg/py3.9/linux.txt
# python-dateutil
typing-extensions==4.2.0
# via python-tools-scripts # via python-tools-scripts
urllib3==1.26.18 urllib3==1.26.18
# via # via
# -c requirements/static/ci/../pkg/py3.9/linux.txt
# botocore # botocore
# requests # requests
virustotal3==1.0.8
# via -r requirements/static/ci/tools.in

View file

@ -0,0 +1,3 @@
--constraint=../pkg/py{py_version}/{platform}.txt
virustotal3

View file

@ -1,7 +1,8 @@
python-tools-scripts >= 0.18.1 --constraint=../pkg/py{py_version}/{platform}.txt
attrs attrs
python-tools-scripts >= 0.18.3
boto3 boto3
pyyaml pyyaml
jinja2 jinja2
packaging packaging
virustotal3

View file

@ -1,7 +1,36 @@
import logging import logging
import pathlib
import sys
import ptscripts import ptscripts
from ptscripts.parser import DefaultRequirementsConfig
from ptscripts.virtualenv import VirtualEnvConfig
REPO_ROOT = pathlib.Path(__file__).resolve().parent.parent
REQUIREMENTS_FILES_PATH = REPO_ROOT / "requirements"
STATIC_REQUIREMENTS_PATH = REQUIREMENTS_FILES_PATH / "static"
CI_REQUIREMENTS_FILES_PATH = (
STATIC_REQUIREMENTS_PATH / "ci" / "py{}.{}".format(*sys.version_info)
)
PKG_REQUIREMENTS_FILES_PATH = (
STATIC_REQUIREMENTS_PATH / "pkg" / "py{}.{}".format(*sys.version_info)
)
DEFAULT_REQS_CONFIG = DefaultRequirementsConfig(
pip_args=[
f"--constraint={PKG_REQUIREMENTS_FILES_PATH / 'linux.txt'}",
],
requirements_files=[
REQUIREMENTS_FILES_PATH / "base.txt",
CI_REQUIREMENTS_FILES_PATH / "tools.txt",
],
)
RELEASE_VENV_CONFIG = VirtualEnvConfig(
requirements_files=[
CI_REQUIREMENTS_FILES_PATH / "tools-virustotal.txt",
],
add_as_extra_site_packages=True,
)
ptscripts.set_default_requirements_config(DEFAULT_REQS_CONFIG)
ptscripts.register_tools_module("tools.changelog") ptscripts.register_tools_module("tools.changelog")
ptscripts.register_tools_module("tools.ci") ptscripts.register_tools_module("tools.ci")
ptscripts.register_tools_module("tools.docs") ptscripts.register_tools_module("tools.docs")
@ -13,9 +42,9 @@ ptscripts.register_tools_module("tools.pkg.repo.publish")
ptscripts.register_tools_module("tools.precommit") ptscripts.register_tools_module("tools.precommit")
ptscripts.register_tools_module("tools.precommit.changelog") ptscripts.register_tools_module("tools.precommit.changelog")
ptscripts.register_tools_module("tools.precommit.workflows") ptscripts.register_tools_module("tools.precommit.workflows")
ptscripts.register_tools_module("tools.release")
ptscripts.register_tools_module("tools.testsuite") ptscripts.register_tools_module("tools.testsuite")
ptscripts.register_tools_module("tools.testsuite.download") ptscripts.register_tools_module("tools.testsuite.download")
ptscripts.register_tools_module("tools.release", venv_config=RELEASE_VENV_CONFIG)
ptscripts.register_tools_module("tools.vm") ptscripts.register_tools_module("tools.vm")
for name in ("boto3", "botocore", "urllib3"): for name in ("boto3", "botocore", "urllib3"):

View file

@ -154,7 +154,7 @@ def set_salt_version(
ret = venv.run_code(code, capture=True, check=False) ret = venv.run_code(code, capture=True, check=False)
if ret.returncode: if ret.returncode:
ctx.error(ret.stderr.decode()) ctx.error(ret.stderr.decode())
ctx.exit(ctx.returncode) ctx.exit(ret.returncode)
salt_version = ret.stdout.strip().decode() salt_version = ret.stdout.strip().decode()
if not tools.utils.REPO_ROOT.joinpath("salt").is_dir(): if not tools.utils.REPO_ROOT.joinpath("salt").is_dir():

View file

@ -8,27 +8,16 @@ import logging
import os import os
import pathlib import pathlib
import shutil import shutil
import sys
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
import boto3
from botocore.exceptions import ClientError
from ptscripts import Context, command_group from ptscripts import Context, command_group
import tools.pkg import tools.pkg
import tools.utils import tools.utils
from tools.utils import Version, get_salt_releases from tools.utils import Version, get_salt_releases
try:
import boto3
from botocore.exceptions import ClientError
except ImportError:
print(
"\nPlease run 'python -m pip install -r "
"requirements/static/ci/py{}.{}/tools.txt'\n".format(*sys.version_info),
file=sys.stderr,
flush=True,
)
raise
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
# Define the command group # Define the command group

View file

@ -10,11 +10,11 @@ import logging
import os import os
import pathlib import pathlib
import shutil import shutil
import sys
import textwrap import textwrap
from datetime import datetime from datetime import datetime
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
import boto3
from ptscripts import Context, command_group from ptscripts import Context, command_group
import tools.pkg import tools.pkg
@ -26,17 +26,6 @@ from tools.utils.repo import (
get_repo_json_file_contents, get_repo_json_file_contents,
) )
try:
import boto3
except ImportError:
print(
"\nPlease run 'python -m pip install -r "
"requirements/static/ci/py{}.{}/tools.txt'\n".format(*sys.version_info),
file=sys.stderr,
flush=True,
)
raise
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
create = command_group( create = command_group(
@ -157,7 +146,7 @@ def debian(
distro_details = _deb_distro_info[distro][distro_version] distro_details = _deb_distro_info[distro][distro_version]
ctx.info("Distribution Details:") ctx.info("Distribution Details:")
ctx.info(distro_details) ctx.print(distro_details, soft_wrap=True)
if TYPE_CHECKING: if TYPE_CHECKING:
assert isinstance(distro_details["label"], str) assert isinstance(distro_details["label"], str)
assert isinstance(distro_details["codename"], str) assert isinstance(distro_details["codename"], str)

View file

@ -10,12 +10,13 @@ import logging
import os import os
import pathlib import pathlib
import re import re
import sys
import tempfile import tempfile
import textwrap import textwrap
from typing import TYPE_CHECKING, Any from typing import TYPE_CHECKING, Any
import boto3
import packaging.version import packaging.version
from botocore.exceptions import ClientError
from ptscripts import Context, command_group from ptscripts import Context, command_group
import tools.pkg import tools.pkg
@ -24,18 +25,6 @@ import tools.utils.repo
from tools.utils import Version, get_salt_releases, parse_versions from tools.utils import Version, get_salt_releases, parse_versions
from tools.utils.repo import create_full_repo_path, get_repo_json_file_contents from tools.utils.repo import create_full_repo_path, get_repo_json_file_contents
try:
import boto3
from botocore.exceptions import ClientError
except ImportError:
print(
"\nPlease run 'python -m pip install -r "
"requirements/static/ci/py{}.{}/tools.txt'\n".format(*sys.version_info),
file=sys.stderr,
flush=True,
)
raise
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
publish = command_group( publish = command_group(

View file

@ -8,28 +8,17 @@ import json
import logging import logging
import os import os
import pathlib import pathlib
import sys
import tempfile import tempfile
import time import time
import boto3
import virustotal3.core import virustotal3.core
from botocore.exceptions import ClientError
from ptscripts import Context, command_group from ptscripts import Context, command_group
import tools.utils import tools.utils
import tools.utils.repo import tools.utils.repo
try:
import boto3
from botocore.exceptions import ClientError
except ImportError:
print(
"\nPlease run 'python -m pip install -r "
"requirements/static/ci/py{}.{}/tools.txt'\n".format(*sys.version_info),
file=sys.stderr,
flush=True,
)
raise
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
# Define the command group # Define the command group

View file

@ -14,7 +14,9 @@ from datetime import datetime
from enum import IntEnum from enum import IntEnum
from typing import Any from typing import Any
import boto3
import packaging.version import packaging.version
from botocore.exceptions import ClientError
from ptscripts import Context from ptscripts import Context
from rich.progress import ( from rich.progress import (
BarColumn, BarColumn,
@ -217,7 +219,7 @@ def download_file(
ctx: Context, ctx: Context,
url: str, url: str,
dest: pathlib.Path, dest: pathlib.Path,
auth: str | None = None, auth: tuple[str, str] | None = None,
headers: dict[str, str] | None = None, headers: dict[str, str] | None = None,
) -> pathlib.Path: ) -> pathlib.Path:
ctx.info(f"Downloading {dest.name!r} @ {url} ...") ctx.info(f"Downloading {dest.name!r} @ {url} ...")
@ -235,7 +237,7 @@ def download_file(
return dest return dest
wget = shutil.which("wget") wget = shutil.which("wget")
if wget is not None: if wget is not None:
with ctx.cwd(dest.parent): with ctx.chdir(dest.parent):
command = [wget, "--no-verbose"] command = [wget, "--no-verbose"]
if headers: if headers:
for key, value in headers.items(): for key, value in headers.items():
@ -248,6 +250,7 @@ def download_file(
return dest return dest
# NOTE the stream=True parameter below # NOTE the stream=True parameter below
with ctx.web as web: with ctx.web as web:
if headers:
web.headers.update(headers) web.headers.update(headers)
with web.get(url, stream=True, auth=auth) as r: with web.get(url, stream=True, auth=auth) as r:
r.raise_for_status() r.raise_for_status()

View file

@ -21,15 +21,11 @@ from datetime import datetime
from functools import lru_cache from functools import lru_cache
from typing import TYPE_CHECKING, cast from typing import TYPE_CHECKING, cast
from ptscripts import Context, command_group
from requests.exceptions import ConnectTimeout
import tools.utils
try:
import attr import attr
import boto3 import boto3
from botocore.exceptions import ClientError from botocore.exceptions import ClientError
from ptscripts import Context, command_group
from requests.exceptions import ConnectTimeout
from rich.progress import ( from rich.progress import (
BarColumn, BarColumn,
Column, Column,
@ -38,15 +34,8 @@ try:
TextColumn, TextColumn,
TimeRemainingColumn, TimeRemainingColumn,
) )
except ImportError:
print(
"\nPlease run 'python -m pip install -r "
"requirements/static/ci/py{}.{}/tools.txt'\n".format(*sys.version_info),
file=sys.stderr,
flush=True,
)
raise
import tools.utils
if TYPE_CHECKING: if TYPE_CHECKING:
# pylint: disable=no-name-in-module # pylint: disable=no-name-in-module
@ -1313,6 +1302,8 @@ class VM:
"--exclude", "--exclude",
".nox/", ".nox/",
"--exclude", "--exclude",
".tools-venvs/",
"--exclude",
".pytest_cache/", ".pytest_cache/",
"--exclude", "--exclude",
f"{STATE_DIR.relative_to(tools.utils.REPO_ROOT)}{os.path.sep}", f"{STATE_DIR.relative_to(tools.utils.REPO_ROOT)}{os.path.sep}",