Nightly (branch: master) #1915
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Do not edit these workflows directly as the changes made will be overwritten. | |
# Instead, edit the template '.github/workflows/templates/nightly.yml.jinja' | |
--- | |
name: Nightly | |
run-name: "Nightly (branch: ${{ github.ref_name }})" | |
on: | |
workflow_dispatch: | |
inputs: | |
skip-salt-test-suite: | |
type: boolean | |
default: false | |
description: Skip running the Salt test suite. | |
skip-salt-pkg-test-suite: | |
type: boolean | |
default: false | |
description: Skip running the Salt packages test suite. | |
schedule: | |
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onschedule | |
- cron: '0 0 * * *' # Every day at 0AM | |
env: | |
COLUMNS: 190 | |
CACHE_SEED: SEED-2 # Bump the number to invalidate all caches | |
RELENV_DATA: "${{ github.workspace }}/.relenv" | |
PIP_DISABLE_PIP_VERSION_CHECK: "1" | |
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1" | |
permissions: | |
contents: read # for dorny/paths-filter to fetch a list of changed files | |
pull-requests: read # for dorny/paths-filter to read pull requests | |
actions: write # to trigger branch nightly builds | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.repository }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: false | |
jobs: | |
workflow-requirements: | |
name: Check Workflow Requirements | |
runs-on: ubuntu-latest | |
outputs: | |
requirements-met: ${{ steps.check-requirements.outputs.requirements-met }} | |
steps: | |
- name: Check Requirements | |
id: check-requirements | |
run: | | |
if [ "${{ vars.RUN_SCHEDULED_BUILDS }}" = "1" ]; then | |
MSG="Running workflow because RUN_SCHEDULED_BUILDS=1" | |
echo "${MSG}" | |
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}" | |
echo "requirements-met=true" >> "${GITHUB_OUTPUT}" | |
elif [ "${{ github.event.repository.fork }}" = "true" ]; then | |
MSG="Not running workflow because ${{ github.repository }} is a fork" | |
echo "${MSG}" | |
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}" | |
echo "requirements-met=false" >> "${GITHUB_OUTPUT}" | |
elif [ "${{ github.event.repository.private }}" = "true" ]; then | |
MSG="Not running workflow because ${{ github.repository }} is a private repository" | |
echo "${MSG}" | |
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}" | |
echo "requirements-met=false" >> "${GITHUB_OUTPUT}" | |
else | |
MSG="Running workflow because ${{ github.repository }} is not a fork" | |
echo "${MSG}" | |
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}" | |
echo "requirements-met=true" >> "${GITHUB_OUTPUT}" | |
fi | |
trigger-branch-nightly-builds: | |
name: Trigger Branch Workflows | |
if: ${{ github.event_name == 'schedule' && fromJSON(needs.workflow-requirements.outputs.requirements-met) }} | |
runs-on: ubuntu-latest | |
needs: | |
- workflow-requirements | |
steps: | |
- name: Trigger 3006.x branch | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
gh workflow run nightly.yml --repo ${{ github.repository }} --ref 3006.x | |
- name: Trigger 3007.x branch | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
gh workflow run nightly.yml --repo ${{ github.repository }} --ref 3007.x | |
prepare-workflow: | |
name: Prepare Workflow Run | |
runs-on: ubuntu-latest | |
if: ${{ fromJSON(needs.workflow-requirements.outputs.requirements-met) }} | |
needs: | |
- workflow-requirements | |
outputs: | |
jobs: ${{ steps.define-jobs.outputs.jobs }} | |
runners: ${{ steps.runner-types.outputs.runners }} | |
changed-files: ${{ steps.process-changed-files.outputs.changed-files }} | |
os-labels: ${{ steps.get-pull-labels.outputs.os-labels }} | |
pull-labels: ${{ steps.get-pull-labels.outputs.test-labels }} | |
testrun: ${{ steps.define-testrun.outputs.testrun }} | |
salt-version: ${{ steps.setup-salt-version.outputs.salt-version }} | |
cache-seed: ${{ steps.set-cache-seed.outputs.cache-seed }} | |
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }} | |
releases: ${{ steps.get-salt-releases.outputs.releases }} | |
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }} | |
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }} | |
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # Full clone to also get the tags to get the right salt version | |
- name: Get Changed Files | |
if: ${{ github.event_name == 'pull_request'}} | |
id: changed-files | |
uses: dorny/paths-filter@v3 | |
with: | |
token: ${{ github.token }} | |
list-files: json | |
filters: | | |
repo: | |
- added|modified: | |
- '**' | |
doc-requirements: | |
- added|modified: &doc_requirements | |
- requirements/static/ci/py3.*/docs.txt | |
lint-requirements: | |
- added|modified: &lint_requirements | |
- requirements/static/ci/py3.*/lint.txt | |
pkg_requirements: | |
- added|modified: &pkg_requirements | |
- requirements/static/pkg/py3.*/darwin.txt | |
- requirements/static/pkg/py3.*/linux.txt | |
- requirements/static/pkg/py3.*/freebsd.txt | |
- requirements/static/pkg/py3.*/windows.txt | |
test_requirements: | |
- added|modified: &test_requirements | |
- requirements/static/ci/py3.*/darwin.txt | |
- requirements/static/ci/py3.*/linux.txt | |
- requirements/static/ci/py3.*/freebsd.txt | |
- requirements/static/ci/py3.*/windows.txt | |
- requirements/static/ci/py3.*/darwin-crypto.txt | |
- requirements/static/ci/py3.*/linux-crypto.txt | |
- requirements/static/ci/py3.*/freebsd-crypto.txt | |
- requirements/static/ci/py3.*/windows-crypto.txt | |
deleted: | |
- deleted: | |
- '**' | |
docs: | |
- added|modified: | |
- doc/** | |
- .github/workflows/build-docs.yml | |
- *doc_requirements | |
workflows: | |
- added|modified: | |
- cicd/shared-gh-workflows-context.yml | |
- .github/actions/**/action.yml | |
- .github/workflows/*.yml | |
- .github/workflows/templates/*.yml.jinja2 | |
- tools/precommit/workflows.py | |
salt: | |
- added|modified: &salt_added_modified | |
- setup.py | |
- noxfile.py | |
- salt/**/*.py | |
- tasks/**/*.py | |
- tools/**/*.py | |
tests: | |
- added|modified: &tests_added_modified | |
- tests/**/*.py | |
lint: | |
- added|modified: | |
- .pylintrc | |
- *lint_requirements | |
golden_images: | |
- added|modified: | |
- cicd/golden-images.json | |
pkg_tests: | |
- added|modified: &pkg_tests_added_modified | |
- pkg/** | |
- *pkg_requirements | |
- *salt_added_modified | |
testrun: | |
- added|modified: | |
- *pkg_requirements | |
- *test_requirements | |
- *salt_added_modified | |
- *tests_added_modified | |
- *pkg_tests_added_modified | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Setup Python Tools Scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ env.CACHE_SEED }} | |
- name: Pretty Print The GH Actions Event | |
run: | |
tools ci print-gh-event | |
- name: Set Cache Seed Output | |
id: set-cache-seed | |
run: | | |
tools ci define-cache-seed ${{ env.CACHE_SEED }} | |
- name: Setup Salt Version | |
id: setup-salt-version | |
uses: ./.github/actions/setup-salt-version | |
with: | |
salt-version: "" | |
validate-version: true | |
- name: Get Pull Request Test Labels | |
id: get-pull-labels | |
if: ${{ github.event_name == 'pull_request'}} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
tools ci get-pr-test-labels --repository ${{ github.repository }} | |
- name: Get Hash For Nox Tarball Cache | |
id: nox-archive-hash | |
run: | | |
echo "nox-archive-hash=${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py', 'pkg/common/env-cleanup-rules.yml', '.github/workflows/build-deps-ci-action.yml') }}" | tee -a "$GITHUB_OUTPUT" | |
- name: Write Changed Files To A Local File | |
run: | |
echo '${{ toJSON(steps.changed-files.outputs) }}' > changed-files.json | |
- name: Check Local Changed Files Contents | |
if: ${{ github.event_name == 'pull_request' }} | |
run: | |
cat changed-files.json | |
- name: Process Changed Files | |
id: process-changed-files | |
run: | | |
tools ci process-changed-files ${{ github.event_name }} changed-files.json | |
- name: Check Collected Changed Files | |
if: ${{ github.event_name == 'pull_request' }} | |
run: | | |
echo '${{ steps.process-changed-files.outputs.changed-files }}' | jq -C '.' | |
- name: Define Runner Types | |
id: runner-types | |
run: | | |
tools ci runner-types ${{ github.event_name }} | |
- name: Define Jobs To Run | |
id: define-jobs | |
run: | | |
tools ci define-jobs${{ inputs.skip-salt-test-suite && ' --skip-tests' || '' }}${{ inputs.skip-salt-pkg-test-suite && ' --skip-pkg-tests' || '' }} ${{ github.event_name }} changed-files.json | |
- name: Get Salt Releases | |
id: get-salt-releases | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
tools ci get-releases | |
- name: Get Latest Salt Releases for Testing | |
id: get-testing-releases | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }} | |
- name: Define Testrun | |
id: define-testrun | |
run: | | |
tools ci define-testrun ${{ github.event_name }} changed-files.json | |
- name: Check Contents of generated testrun-changed-files.txt | |
if: ${{ fromJSON(steps.define-testrun.outputs.testrun)['type'] != 'full' }} | |
run: | | |
cat testrun-changed-files.txt || true | |
- name: Upload testrun-changed-files.txt | |
if: ${{ fromJSON(steps.define-testrun.outputs.testrun)['type'] != 'full' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: testrun-changed-files.txt | |
path: testrun-changed-files.txt | |
- name: Get Release Changelog Target | |
id: get-release-changelog-target | |
run: | | |
tools ci get-release-changelog-target ${{ github.event_name }} | |
pre-commit: | |
name: Pre-Commit | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
uses: ./.github/workflows/pre-commit-action.yml | |
needs: | |
- prepare-workflow | |
with: | |
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }} | |
pre-commit-version: "3.0.4" | |
lint: | |
name: Lint | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['lint'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
uses: ./.github/workflows/lint-action.yml | |
needs: | |
- prepare-workflow | |
with: | |
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }} | |
prepare-release: | |
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}" | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['prepare-release'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
runs-on: ubuntu-latest | |
needs: | |
- prepare-workflow | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Setup Python Tools Scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}-changelog | |
- name: Setup Salt Version | |
id: setup-salt-version | |
uses: ./.github/actions/setup-salt-version | |
with: | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
- name: Update Debian changelog | |
shell: bash | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
run: | | |
tools changelog update-deb --draft | |
tools changelog update-deb | |
- name: Update RPM changelog | |
shell: bash | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
run: | | |
tools changelog update-rpm --draft | |
tools changelog update-rpm | |
- name: Create Release Notes Template | |
shell: bash | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
run: | | |
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then | |
tools changelog update-release-notes --next-release --template-only | |
else | |
tools changelog update-release-notes --template-only | |
fi | |
- name: Update Release Notes | |
shell: bash | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
run: | | |
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then | |
tools changelog update-release-notes --draft --next-release | |
tools changelog update-release-notes --next-release | |
else | |
tools changelog update-release-notes --draft | |
tools changelog update-release-notes | |
fi | |
- name: Generate MAN Pages | |
shell: bash | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
env: | |
LATEST_RELEASE: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
SALT_ON_SALTSTACK: "1" | |
run: | | |
tools docs man | |
- name: Update Changelog | |
shell: bash | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
run: | | |
tools changelog update-changelog-md --draft | |
tools changelog update-changelog-md | |
- name: Show Changes Diff | |
shell: bash | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
run: | | |
git diff --color | |
- name: Configure Git | |
shell: bash | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
run: | | |
git config --global user.name "Salt Project Packaging" | |
git config --global user.email saltproject-packaging@vmware.com | |
- name: Setup Pre-Commit | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
uses: ./.github/actions/setup-pre-commit | |
with: | |
version: "3.0.4" | |
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
- name: Commit Changes | |
shell: bash | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
env: | |
SKIP: lint-salt,lint-tests | |
PRE_COMMIT_COLOR: always | |
run: | | |
# Run it twice so that pre-commit can fix anything that can be automatically fixed. | |
git commit -am "Release v${{ needs.prepare-workflow.outputs.salt-version }}" || \ | |
git commit -am "Release v${{ needs.prepare-workflow.outputs.salt-version }}" | |
- name: Create release changes patch | |
shell: bash | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
run: | | |
git format-patch --keep-subject --binary --stdout HEAD^ > salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch | |
- name: Upload Changes Diff Artifact | |
uses: actions/upload-artifact@v4 | |
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }} | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch | |
path: salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch | |
retention-days: 7 | |
if-no-files-found: error | |
build-docs: | |
name: Documentation | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-docs'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-source-tarball | |
uses: ./.github/workflows/build-docs.yml | |
with: | |
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
build-source-tarball: | |
name: Build Source Tarball | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-source-tarball'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
needs: | |
- prepare-workflow | |
- prepare-release | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Setup Python Tools Scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}-build | |
- name: Setup Salt Version | |
id: setup-salt-version | |
uses: ./.github/actions/setup-salt-version | |
with: | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
- name: Build Source Tarball | |
uses: ./.github/actions/build-source-tarball | |
with: | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
build-deps-onedir: | |
name: Build Dependencies Onedir | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-deps-onedir'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
uses: ./.github/workflows/build-deps-onedir.yml | |
with: | |
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
relenv-version: "0.17.0" | |
python-version: "3.10.14" | |
build-salt-onedir: | |
name: Build Salt Onedir | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-salt-onedir'] }} | |
needs: | |
- prepare-workflow | |
- build-deps-onedir | |
- build-source-tarball | |
uses: ./.github/workflows/build-salt-onedir.yml | |
with: | |
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
relenv-version: "0.17.0" | |
python-version: "3.10.14" | |
build-pkgs-onedir: | |
name: Build Packages | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-salt-onedir | |
uses: ./.github/workflows/build-packages.yml | |
with: | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
relenv-version: "0.17.0" | |
python-version: "3.10.14" | |
source: "onedir" | |
environment: nightly | |
sign-macos-packages: true | |
sign-windows-packages: false | |
secrets: inherit | |
build-pkgs-src: | |
name: Build Packages | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-salt-onedir | |
uses: ./.github/workflows/build-packages.yml | |
with: | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
relenv-version: "0.17.0" | |
python-version: "3.10.14" | |
source: "src" | |
environment: nightly | |
sign-macos-packages: true | |
sign-windows-packages: false | |
secrets: inherit | |
build-ci-deps: | |
name: CI Deps | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-deps-ci'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-salt-onedir | |
uses: ./.github/workflows/build-deps-ci-action.yml | |
with: | |
nox-session: ci-test-onedir | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}" | |
rockylinux-8-pkg-tests: | |
name: Rocky Linux 8 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: rockylinux-8 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
rockylinux-8-arm64-pkg-tests: | |
name: Rocky Linux 8 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: rockylinux-8-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
rockylinux-9-pkg-tests: | |
name: Rocky Linux 9 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: rockylinux-9 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
rockylinux-9-arm64-pkg-tests: | |
name: Rocky Linux 9 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: rockylinux-9-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
amazonlinux-2-pkg-tests: | |
name: Amazon Linux 2 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: amazonlinux-2 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
amazonlinux-2-arm64-pkg-tests: | |
name: Amazon Linux 2 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: amazonlinux-2-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
amazonlinux-2023-pkg-tests: | |
name: Amazon Linux 2023 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: amazonlinux-2023 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
amazonlinux-2023-arm64-pkg-tests: | |
name: Amazon Linux 2023 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: amazonlinux-2023-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
debian-11-pkg-tests: | |
name: Debian 11 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: debian-11 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: deb | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
debian-11-arm64-pkg-tests: | |
name: Debian 11 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: debian-11-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: deb | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
debian-12-pkg-tests: | |
name: Debian 12 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: debian-12 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: deb | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
debian-12-arm64-pkg-tests: | |
name: Debian 12 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: debian-12-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: deb | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
photonos-4-pkg-tests: | |
name: Photon OS 4 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: photonos-4 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
photonos-4-arm64-pkg-tests: | |
name: Photon OS 4 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: photonos-4-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
photonos-4-pkg-tests-fips: | |
name: Photon OS 4 Package Test (fips) | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: photonos-4 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
fips: true | |
photonos-4-arm64-pkg-tests-fips: | |
name: Photon OS 4 Arm64 Package Test (fips) | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: photonos-4-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
fips: true | |
photonos-5-pkg-tests: | |
name: Photon OS 5 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: photonos-5 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
photonos-5-arm64-pkg-tests: | |
name: Photon OS 5 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: photonos-5-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
photonos-5-pkg-tests-fips: | |
name: Photon OS 5 Package Test (fips) | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: photonos-5 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
fips: true | |
photonos-5-arm64-pkg-tests-fips: | |
name: Photon OS 5 Arm64 Package Test (fips) | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: photonos-5-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: rpm | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
fips: true | |
ubuntu-2004-pkg-tests: | |
name: Ubuntu 20.04 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: ubuntu-20.04 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: deb | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
ubuntu-2004-arm64-pkg-tests: | |
name: Ubuntu 20.04 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: ubuntu-20.04-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: deb | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
ubuntu-2204-pkg-tests: | |
name: Ubuntu 22.04 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: ubuntu-22.04 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: deb | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
ubuntu-2204-arm64-pkg-tests: | |
name: Ubuntu 22.04 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: ubuntu-22.04-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: deb | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
ubuntu-2404-pkg-tests: | |
name: Ubuntu 24.04 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: ubuntu-24.04 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: deb | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
ubuntu-2404-arm64-pkg-tests: | |
name: Ubuntu 24.04 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-linux.yml | |
with: | |
distro-slug: ubuntu-24.04-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: deb | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
macos-12-pkg-tests: | |
name: macOS 12 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-macos.yml | |
with: | |
distro-slug: macos-12 | |
runner: macos-12 | |
nox-session: ci-test-onedir | |
platform: macos | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: macos | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
macos-13-pkg-tests: | |
name: macOS 13 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-macos.yml | |
with: | |
distro-slug: macos-13 | |
runner: macos-13 | |
nox-session: ci-test-onedir | |
platform: macos | |
arch: x86_64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: macos | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
macos-13-arm64-pkg-tests: | |
name: macOS 13 Arm64 Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-macos.yml | |
with: | |
distro-slug: macos-13-arm64 | |
runner: macos-13-xlarge | |
nox-session: ci-test-onedir | |
platform: macos | |
arch: arm64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: macos | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
windows-2016-nsis-pkg-tests: | |
name: Windows 2016 NSIS Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-windows.yml | |
with: | |
distro-slug: windows-2016 | |
nox-session: ci-test-onedir | |
platform: windows | |
arch: amd64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: NSIS | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
windows-2016-msi-pkg-tests: | |
name: Windows 2016 MSI Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-windows.yml | |
with: | |
distro-slug: windows-2016 | |
nox-session: ci-test-onedir | |
platform: windows | |
arch: amd64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: MSI | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
windows-2019-nsis-pkg-tests: | |
name: Windows 2019 NSIS Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-windows.yml | |
with: | |
distro-slug: windows-2019 | |
nox-session: ci-test-onedir | |
platform: windows | |
arch: amd64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: NSIS | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
windows-2019-msi-pkg-tests: | |
name: Windows 2019 MSI Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-windows.yml | |
with: | |
distro-slug: windows-2019 | |
nox-session: ci-test-onedir | |
platform: windows | |
arch: amd64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: MSI | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
windows-2022-nsis-pkg-tests: | |
name: Windows 2022 NSIS Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-windows.yml | |
with: | |
distro-slug: windows-2022 | |
nox-session: ci-test-onedir | |
platform: windows | |
arch: amd64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: NSIS | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
windows-2022-msi-pkg-tests: | |
name: Windows 2022 MSI Package Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
- build-ci-deps | |
uses: ./.github/workflows/test-packages-action-windows.yml | |
with: | |
distro-slug: windows-2022 | |
nox-session: ci-test-onedir | |
platform: windows | |
arch: amd64 | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
pkg-type: MSI | |
nox-version: 2022.8.7 | |
python-version: "3.10" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} | |
windows-2016: | |
name: Windows 2016 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-windows.yml | |
with: | |
distro-slug: windows-2016 | |
nox-session: ci-test-onedir | |
platform: windows | |
arch: amd64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }} | |
windows-2019: | |
name: Windows 2019 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-windows.yml | |
with: | |
distro-slug: windows-2019 | |
nox-session: ci-test-onedir | |
platform: windows | |
arch: amd64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }} | |
windows-2022: | |
name: Windows 2022 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-windows.yml | |
with: | |
distro-slug: windows-2022 | |
nox-session: ci-test-onedir | |
platform: windows | |
arch: amd64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 210 || 360 }} | |
macos-12: | |
name: macOS 12 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-macos.yml | |
with: | |
distro-slug: macos-12 | |
runner: macos-12 | |
nox-session: ci-test-onedir | |
platform: macos | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
macos-13: | |
name: macOS 13 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-macos.yml | |
with: | |
distro-slug: macos-13 | |
runner: macos-13 | |
nox-session: ci-test-onedir | |
platform: macos | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
macos-13-arm64: | |
name: macOS 13 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-macos.yml | |
with: | |
distro-slug: macos-13-arm64 | |
runner: macos-13-xlarge | |
nox-session: ci-test-onedir | |
platform: macos | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
rockylinux-8: | |
name: Rocky Linux 8 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: rockylinux-8 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
rockylinux-8-arm64: | |
name: Rocky Linux 8 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: rockylinux-8-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
rockylinux-9: | |
name: Rocky Linux 9 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: rockylinux-9 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
rockylinux-9-arm64: | |
name: Rocky Linux 9 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: rockylinux-9-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
amazonlinux-2: | |
name: Amazon Linux 2 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: amazonlinux-2 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
amazonlinux-2-arm64: | |
name: Amazon Linux 2 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: amazonlinux-2-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
amazonlinux-2023: | |
name: Amazon Linux 2023 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: amazonlinux-2023 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
amazonlinux-2023-arm64: | |
name: Amazon Linux 2023 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: amazonlinux-2023-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
archlinux-lts: | |
name: Arch Linux LTS Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: archlinux-lts | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
debian-11: | |
name: Debian 11 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: debian-11 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
debian-11-arm64: | |
name: Debian 11 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: debian-11-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
debian-12: | |
name: Debian 12 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: debian-12 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
debian-12-arm64: | |
name: Debian 12 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: debian-12-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
fedora-40: | |
name: Fedora 40 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: fedora-40 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
opensuse-15: | |
name: Opensuse 15 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: opensuse-15 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
photonos-4: | |
name: Photon OS 4 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: photonos-4 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
photonos-4-arm64: | |
name: Photon OS 4 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: photonos-4-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
photonos-4-fips: | |
name: Photon OS 4 Test (fips) | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: photonos-4 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
fips: true | |
photonos-4-arm64-fips: | |
name: Photon OS 4 Arm64 Test (fips) | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: photonos-4-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
fips: true | |
photonos-5: | |
name: Photon OS 5 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: photonos-5 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
photonos-5-arm64: | |
name: Photon OS 5 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: photonos-5-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
photonos-5-fips: | |
name: Photon OS 5 Test (fips) | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: photonos-5 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
fips: true | |
photonos-5-arm64-fips: | |
name: Photon OS 5 Arm64 Test (fips) | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: photonos-5-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
fips: true | |
ubuntu-2004: | |
name: Ubuntu 20.04 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: ubuntu-20.04 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
ubuntu-2004-arm64: | |
name: Ubuntu 20.04 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: ubuntu-20.04-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
ubuntu-2204: | |
name: Ubuntu 22.04 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: ubuntu-22.04 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
ubuntu-2204-arm64: | |
name: Ubuntu 22.04 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: ubuntu-22.04-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
ubuntu-2404: | |
name: Ubuntu 24.04 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: ubuntu-24.04 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: x86_64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
ubuntu-2404-arm64: | |
name: Ubuntu 24.04 Arm64 Test | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
uses: ./.github/workflows/test-action-linux.yml | |
with: | |
distro-slug: ubuntu-24.04-arm64 | |
nox-session: ci-test-onedir | |
platform: linux | |
arch: arm64 | |
nox-version: 2022.8.7 | |
gh-actions-python-version: "3.10" | |
testrun: ${{ needs.prepare-workflow.outputs.testrun }} | |
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}" | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.14 | |
skip-code-coverage: false | |
workflow-slug: nightly | |
timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} | |
combine-all-code-coverage: | |
name: Combine Code Coverage | |
if: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] == false }} | |
runs-on: ubuntu-latest | |
env: | |
PIP_INDEX_URL: https://pypi.org/simple | |
needs: | |
- prepare-workflow | |
- build-ci-deps | |
- windows-2016 | |
- windows-2019 | |
- windows-2022 | |
- macos-12 | |
- macos-13 | |
- macos-13-arm64 | |
- rockylinux-8 | |
- rockylinux-8-arm64 | |
- rockylinux-9 | |
- rockylinux-9-arm64 | |
- amazonlinux-2 | |
- amazonlinux-2-arm64 | |
- amazonlinux-2023 | |
- amazonlinux-2023-arm64 | |
- archlinux-lts | |
- debian-11 | |
- debian-11-arm64 | |
- debian-12 | |
- debian-12-arm64 | |
- fedora-40 | |
- opensuse-15 | |
- photonos-4 | |
- photonos-4-arm64 | |
- photonos-4-fips | |
- photonos-4-arm64-fips | |
- photonos-5 | |
- photonos-5-arm64 | |
- photonos-5-fips | |
- photonos-5-arm64-fips | |
- ubuntu-2004 | |
- ubuntu-2004-arm64 | |
- ubuntu-2204 | |
- ubuntu-2204-arm64 | |
- ubuntu-2404 | |
- ubuntu-2404-arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Setup Python Tools Scripts | |
id: python-tools-scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}-coverage | |
- name: Install Nox | |
run: | | |
python3 -m pip install 'nox==2022.8.7' | |
- name: Merge All Code Coverage Test Run Artifacts | |
continue-on-error: true | |
uses: actions/upload-artifact/merge@v4 | |
with: | |
name: all-testrun-coverage-artifacts | |
pattern: all-testrun-coverage-artifacts-* | |
separate-directories: false | |
delete-merged: true | |
- name: Get coverage reports | |
id: get-coverage-reports | |
uses: actions/download-artifact@v4 | |
with: | |
name: all-testrun-coverage-artifacts | |
path: artifacts/coverage/ | |
- name: Display structure of downloaded files | |
run: tree -a artifacts/ | |
- name: Install Codecov CLI | |
run: | | |
# We can't yet use tokenless uploads with the codecov CLI | |
# python3 -m pip install codecov-cli | |
# | |
curl https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --import | |
curl -Os https://uploader.codecov.io/latest/linux/codecov | |
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM | |
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM.sig | |
gpg --verify codecov.SHA256SUM.sig codecov.SHA256SUM | |
shasum -a 256 -c codecov.SHA256SUM | |
chmod +x codecov | |
mv ./codecov /usr/local/bin/ | |
- name: Create XML Coverage Reports | |
run: | | |
nox --force-color -e create-xml-coverage-reports | |
- name: Upload Code Coverage To Codecov | |
if: ${{ ! github.event.repository.private && ! github.event.repository.fork }} | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
run: | | |
tools ci upload-coverage --commit-sha=${{ github.event.pull_request.head.sha || github.sha }} artifacts/coverage/ | |
- name: Combine Code Coverage | |
run: | | |
nox --force-color -e combine-coverage | |
- name: Report Salt Code Coverage | |
run: | | |
nox --force-color -e coverage-report -- salt | |
- name: Create Salt Code Coverage HTML Report | |
run: | | |
nox --force-color -e create-html-coverage-report -- salt | |
- name: Create Salt Code Coverage HTML Report | |
run: | | |
nox --force-color -e create-html-coverage-report -- salt | |
- name: Upload Salt Code Coverage HTML Report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: code-coverage-salt-html-report | |
path: artifacts/coverage/html/salt | |
retention-days: 7 | |
if-no-files-found: error | |
- name: Report Combined Code Coverage | |
run: | | |
nox --force-color -e coverage-report | |
- name: Create Combined Code Coverage JSON Report | |
run: | | |
nox --force-color -e create-json-coverage-reports | |
- name: Upload Combined Code Coverage JSON Report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: code-coverage-full-json-report | |
path: artifacts/coverage/coverage.json | |
retention-days: 7 | |
if-no-files-found: error | |
- name: Create Combined Code Coverage HTML Report | |
run: | | |
nox --force-color -e create-html-coverage-report | |
- name: Upload Combined Code Coverage HTML Report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: code-coverage-full-html-report | |
path: artifacts/coverage/html/full | |
retention-days: 7 | |
if-no-files-found: error | |
build-src-repo: | |
name: Build Repository | |
environment: nightly | |
runs-on: | |
- self-hosted | |
- linux | |
- repo-nightly | |
env: | |
USE_S3_CACHE: 'true' | |
needs: | |
- prepare-workflow | |
- build-source-tarball | |
- build-pkgs-src | |
strategy: | |
fail-fast: false | |
matrix: | |
pkg-type: | |
- src | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python Tools Scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
- name: Get Salt Project GitHub Actions Bot Environment | |
run: | | |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | |
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | |
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | |
- name: Download Source Tarball | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz | |
path: artifacts/pkgs/incoming | |
- name: Setup GnuPG | |
run: | | |
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | |
GNUPGHOME="$(mktemp -d -p /run/gpg)" | |
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | |
cat <<EOF > "${GNUPGHOME}/gpg.conf" | |
batch | |
no-tty | |
pinentry-mode loopback | |
EOF | |
- name: Get Secrets | |
env: | |
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | |
run: | | |
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | |
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text | jq .default_key -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | |
| gpg --import - | |
sync | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | |
sync | |
rm "$SECRETS_KEY_FILE" | |
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | |
- name: Create Repository Path | |
run: | | |
mkdir -p artifacts/pkgs/repo | |
- name: Create Repository | |
run: | | |
tools pkg repo create src --key-id=64CBBC8173D76B3F --nightly-build-from=${{ github.ref_name }} \ | |
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | |
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | |
- name: Copy Files For Source Only Artifact Uploads | |
run: | | |
mkdir artifacts/src | |
find artifacts/pkgs/repo -type f -print -exec cp {} artifacts/src \; | |
- name: Upload Standalone Repository As An Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-src-repo | |
path: | | |
artifacts/src/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz | |
artifacts/src/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz.* | |
artifacts/src/*-GPG-* | |
retention-days: 7 | |
if-no-files-found: error | |
- name: Upload Repository As An Artifact | |
uses: ./.github/actions/upload-artifact | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-src | |
path: artifacts/pkgs/repo/* | |
retention-days: 7 | |
if-no-files-found: error | |
archive-name: src-repo | |
build-deb-repo: | |
name: Build Repository | |
environment: nightly | |
runs-on: | |
- self-hosted | |
- linux | |
- repo-nightly | |
env: | |
USE_S3_CACHE: 'true' | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- pkg-type: deb | |
distro: debian | |
version: "11" | |
arch: x86_64 | |
- pkg-type: deb | |
distro: debian | |
version: "11" | |
arch: arm64 | |
- pkg-type: deb | |
distro: debian | |
version: "12" | |
arch: x86_64 | |
- pkg-type: deb | |
distro: debian | |
version: "12" | |
arch: arm64 | |
- pkg-type: deb | |
distro: ubuntu | |
version: "20.04" | |
arch: x86_64 | |
- pkg-type: deb | |
distro: ubuntu | |
version: "20.04" | |
arch: arm64 | |
- pkg-type: deb | |
distro: ubuntu | |
version: "22.04" | |
arch: x86_64 | |
- pkg-type: deb | |
distro: ubuntu | |
version: "22.04" | |
arch: arm64 | |
- pkg-type: deb | |
distro: ubuntu | |
version: "24.04" | |
arch: x86_64 | |
- pkg-type: deb | |
distro: ubuntu | |
version: "24.04" | |
arch: arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download System Dependencies | |
run: | | |
sudo apt update | |
sudo apt install -y devscripts apt-utils | |
- name: Setup Python Tools Scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
- name: Get Salt Project GitHub Actions Bot Environment | |
run: | | |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | |
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | |
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | |
- name: Download DEB Packages | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-${{ matrix.arch }}-deb | |
path: artifacts/pkgs/incoming | |
- name: Setup GnuPG | |
run: | | |
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | |
GNUPGHOME="$(mktemp -d -p /run/gpg)" | |
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | |
cat <<EOF > "${GNUPGHOME}/gpg.conf" | |
batch | |
no-tty | |
pinentry-mode loopback | |
EOF | |
- name: Get Secrets | |
env: | |
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | |
run: | | |
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | |
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text | jq .default_key -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | |
| gpg --import - | |
sync | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | |
sync | |
rm "$SECRETS_KEY_FILE" | |
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | |
- name: Create Repository Path | |
run: | | |
mkdir -p artifacts/pkgs/repo | |
- name: Create Repository | |
run: | | |
tools pkg repo create deb --key-id=64CBBC8173D76B3F --distro-arch=${{ matrix.arch }} --nightly-build-from=${{ github.ref_name }} \ | |
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | |
--distro=${{ matrix.distro }} --distro-version=${{ matrix.version }} \ | |
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | |
- name: Upload Repository As An Artifact | |
uses: ./.github/actions/upload-artifact | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-${{ matrix.pkg-type }}-${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }} | |
path: artifacts/pkgs/repo/* | |
retention-days: 7 | |
if-no-files-found: error | |
archive-name: ${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }}-repo | |
build-rpm-repo: | |
name: Build Repository | |
environment: nightly | |
runs-on: | |
- self-hosted | |
- linux | |
- repo-nightly | |
env: | |
USE_S3_CACHE: 'true' | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- pkg-type: rpm | |
distro: amazon | |
version: "2" | |
arch: x86_64 | |
- pkg-type: rpm | |
distro: amazon | |
version: "2" | |
arch: arm64 | |
- pkg-type: rpm | |
distro: amazon | |
version: "2" | |
arch: aarch64 | |
- pkg-type: rpm | |
distro: amazon | |
version: "2023" | |
arch: x86_64 | |
- pkg-type: rpm | |
distro: amazon | |
version: "2023" | |
arch: arm64 | |
- pkg-type: rpm | |
distro: amazon | |
version: "2023" | |
arch: aarch64 | |
- pkg-type: rpm | |
distro: fedora | |
version: "40" | |
arch: x86_64 | |
- pkg-type: rpm | |
distro: fedora | |
version: "40" | |
arch: arm64 | |
- pkg-type: rpm | |
distro: fedora | |
version: "40" | |
arch: aarch64 | |
- pkg-type: rpm | |
distro: photon | |
version: "4" | |
arch: x86_64 | |
- pkg-type: rpm | |
distro: photon | |
version: "4" | |
arch: arm64 | |
- pkg-type: rpm | |
distro: photon | |
version: "4" | |
arch: aarch64 | |
- pkg-type: rpm | |
distro: photon | |
version: "5" | |
arch: x86_64 | |
- pkg-type: rpm | |
distro: photon | |
version: "5" | |
arch: arm64 | |
- pkg-type: rpm | |
distro: photon | |
version: "5" | |
arch: aarch64 | |
- pkg-type: rpm | |
distro: redhat | |
version: "8" | |
arch: x86_64 | |
- pkg-type: rpm | |
distro: redhat | |
version: "8" | |
arch: arm64 | |
- pkg-type: rpm | |
distro: redhat | |
version: "8" | |
arch: aarch64 | |
- pkg-type: rpm | |
distro: redhat | |
version: "9" | |
arch: x86_64 | |
- pkg-type: rpm | |
distro: redhat | |
version: "9" | |
arch: arm64 | |
- pkg-type: rpm | |
distro: redhat | |
version: "9" | |
arch: aarch64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download System Dependencies | |
run: | | |
sudo apt update | |
sudo apt install -y rpm | |
- name: Setup Python Tools Scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
- name: Get Salt Project GitHub Actions Bot Environment | |
run: | | |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | |
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | |
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | |
- name: Download RPM Packages | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}-rpm | |
path: artifacts/pkgs/incoming | |
- name: Setup GnuPG | |
run: | | |
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | |
GNUPGHOME="$(mktemp -d -p /run/gpg)" | |
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | |
cat <<EOF > "${GNUPGHOME}/gpg.conf" | |
batch | |
no-tty | |
pinentry-mode loopback | |
EOF | |
- name: Get Secrets | |
env: | |
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | |
run: | | |
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | |
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text | jq .default_key -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | |
| gpg --import - | |
sync | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | |
sync | |
rm "$SECRETS_KEY_FILE" | |
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | |
- name: Create Repository Path | |
run: | | |
mkdir -p artifacts/pkgs/repo | |
- name: Create Repository | |
env: | |
SALT_REPO_DOMAIN_RELEASE: ${{ vars.SALT_REPO_DOMAIN_RELEASE || 'repo.saltproject.io' }} | |
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }} | |
run: | | |
tools pkg repo create rpm --key-id=64CBBC8173D76B3F --distro-arch=${{ matrix.arch }} --nightly-build-from=${{ github.ref_name }} \ | |
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | |
--distro=${{ matrix.distro }} --distro-version=${{ matrix.version }} \ | |
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | |
- name: Upload Repository As An Artifact | |
uses: ./.github/actions/upload-artifact | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-${{ matrix.pkg-type }}-${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }} | |
path: artifacts/pkgs/repo/* | |
retention-days: 7 | |
if-no-files-found: error | |
archive-name: ${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }}-repo | |
build-windows-repo: | |
name: Build Repository | |
environment: nightly | |
runs-on: | |
- self-hosted | |
- linux | |
- repo-nightly | |
env: | |
USE_S3_CACHE: 'true' | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
strategy: | |
fail-fast: false | |
matrix: | |
pkg-type: | |
- windows | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python Tools Scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
- name: Get Salt Project GitHub Actions Bot Environment | |
run: | | |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | |
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | |
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | |
- name: Download Windows NSIS x86 Packages | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-x86-NSIS | |
path: artifacts/pkgs/incoming | |
- name: Download Windows MSI x86 Packages | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-x86-MSI | |
path: artifacts/pkgs/incoming | |
- name: Download Windows NSIS amd64 Packages | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-amd64-NSIS | |
path: artifacts/pkgs/incoming | |
- name: Download Windows MSI amd64 Packages | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-amd64-MSI | |
path: artifacts/pkgs/incoming | |
- name: Setup GnuPG | |
run: | | |
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | |
GNUPGHOME="$(mktemp -d -p /run/gpg)" | |
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | |
cat <<EOF > "${GNUPGHOME}/gpg.conf" | |
batch | |
no-tty | |
pinentry-mode loopback | |
EOF | |
- name: Get Secrets | |
env: | |
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | |
run: | | |
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | |
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text | jq .default_key -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | |
| gpg --import - | |
sync | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | |
sync | |
rm "$SECRETS_KEY_FILE" | |
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | |
- name: Create Repository Path | |
run: | | |
mkdir -p artifacts/pkgs/repo | |
- name: Create Repository | |
run: | | |
tools pkg repo create windows --key-id=64CBBC8173D76B3F --nightly-build-from=${{ github.ref_name }} \ | |
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | |
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | |
- name: Upload Repository As An Artifact | |
uses: ./.github/actions/upload-artifact | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-windows | |
path: artifacts/pkgs/repo/* | |
retention-days: 7 | |
if-no-files-found: error | |
archive-name: windows-repo | |
build-macos-repo: | |
name: Build Repository | |
environment: nightly | |
runs-on: | |
- self-hosted | |
- linux | |
- repo-nightly | |
env: | |
USE_S3_CACHE: 'true' | |
needs: | |
- prepare-workflow | |
- build-pkgs-onedir | |
strategy: | |
fail-fast: false | |
matrix: | |
pkg-type: | |
- macos | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python Tools Scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
- name: Get Salt Project GitHub Actions Bot Environment | |
run: | | |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | |
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | |
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | |
- name: Download macOS x86_64 Packages | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-x86_64-macos | |
path: artifacts/pkgs/incoming | |
- name: Download macOS Arch64 Packages | |
if: ${{ ! github.event.repository.fork }} | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-arm64-macos | |
path: artifacts/pkgs/incoming | |
- name: Setup GnuPG | |
run: | | |
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | |
GNUPGHOME="$(mktemp -d -p /run/gpg)" | |
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | |
cat <<EOF > "${GNUPGHOME}/gpg.conf" | |
batch | |
no-tty | |
pinentry-mode loopback | |
EOF | |
- name: Get Secrets | |
env: | |
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | |
run: | | |
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | |
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text | jq .default_key -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | |
| gpg --import - | |
sync | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | |
sync | |
rm "$SECRETS_KEY_FILE" | |
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | |
- name: Create Repository Path | |
run: | | |
mkdir -p artifacts/pkgs/repo | |
- name: Create Repository | |
run: | | |
tools pkg repo create macos --key-id=64CBBC8173D76B3F --nightly-build-from=${{ github.ref_name }} \ | |
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | |
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | |
- name: Upload Repository As An Artifact | |
uses: ./.github/actions/upload-artifact | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-macos | |
path: artifacts/pkgs/repo/* | |
retention-days: 7 | |
if-no-files-found: error | |
archive-name: macos-repo | |
build-onedir-repo: | |
name: Build Repository | |
environment: nightly | |
runs-on: | |
- self-hosted | |
- linux | |
- repo-nightly | |
env: | |
USE_S3_CACHE: 'true' | |
needs: | |
- prepare-workflow | |
- build-salt-onedir | |
strategy: | |
fail-fast: false | |
matrix: | |
pkg-type: | |
- onedir | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python Tools Scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
- name: Get Salt Project GitHub Actions Bot Environment | |
run: | | |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | |
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | |
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | |
- name: Download Linux x86_64 Onedir Archive | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-linux-x86_64.tar.xz | |
path: artifacts/pkgs/incoming | |
- name: Download Linux arm64 Onedir Archive | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-linux-arm64.tar.xz | |
path: artifacts/pkgs/incoming | |
- name: Download macOS x86_64 Onedir Archive | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-macos-x86_64.tar.xz | |
path: artifacts/pkgs/incoming | |
- name: Download macOS arm64 Onedir Archive | |
if: ${{ ! github.event.repository.fork }} | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-macos-arm64.tar.xz | |
path: artifacts/pkgs/incoming | |
- name: Download Windows amd64 Onedir Archive | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-windows-amd64.tar.xz | |
path: artifacts/pkgs/incoming | |
- name: Download Windows amd64 Onedir Archive(zip) | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-windows-amd64.zip | |
path: artifacts/pkgs/incoming | |
- name: Download Windows x86 Onedir Archive | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-windows-x86.tar.xz | |
path: artifacts/pkgs/incoming | |
- name: Download Windows amd64 Onedir Archive(zip) | |
uses: actions/download-artifact@v4 | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-windows-x86.zip | |
path: artifacts/pkgs/incoming | |
- name: Setup GnuPG | |
run: | | |
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg | |
GNUPGHOME="$(mktemp -d -p /run/gpg)" | |
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV" | |
cat <<EOF > "${GNUPGHOME}/gpg.conf" | |
batch | |
no-tty | |
pinentry-mode loopback | |
EOF | |
- name: Get Secrets | |
env: | |
SECRETS_KEY: ${{ secrets.SECRETS_KEY }} | |
run: | | |
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX) | |
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE" | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text | jq .default_key -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \ | |
| gpg --import - | |
sync | |
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \ | |
--query SecretString --output text| jq .default_passphrase -r | base64 -d \ | |
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d - | |
sync | |
rm "$SECRETS_KEY_FILE" | |
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf" | |
- name: Create Repository Path | |
run: | | |
mkdir -p artifacts/pkgs/repo | |
- name: Create Repository | |
run: | | |
tools pkg repo create onedir --key-id=64CBBC8173D76B3F --nightly-build-from=${{ github.ref_name }} \ | |
--salt-version=${{ needs.prepare-workflow.outputs.salt-version }} \ | |
--incoming=artifacts/pkgs/incoming --repo-path=artifacts/pkgs/repo | |
- name: Upload Repository As An Artifact | |
uses: ./.github/actions/upload-artifact | |
with: | |
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-onedir | |
path: artifacts/pkgs/repo/* | |
retention-days: 7 | |
if-no-files-found: error | |
archive-name: onedir-repo | |
publish-repositories: | |
name: Publish Repositories | |
if: ${{ always() && ! failure() && ! cancelled() }} | |
runs-on: | |
- self-hosted | |
- linux | |
- repo-nightly | |
environment: nightly | |
needs: | |
- prepare-workflow | |
- build-docs | |
- build-src-repo | |
- build-deb-repo | |
- build-rpm-repo | |
- build-windows-repo | |
- build-macos-repo | |
- build-onedir-repo | |
- build-ci-deps | |
- windows-2016 | |
- windows-2019 | |
- windows-2022 | |
- macos-12 | |
- macos-13 | |
- macos-13-arm64 | |
- rockylinux-8 | |
- rockylinux-8-arm64 | |
- rockylinux-9 | |
- rockylinux-9-arm64 | |
- amazonlinux-2 | |
- amazonlinux-2-arm64 | |
- amazonlinux-2023 | |
- amazonlinux-2023-arm64 | |
- archlinux-lts | |
- debian-11 | |
- debian-11-arm64 | |
- debian-12 | |
- debian-12-arm64 | |
- fedora-40 | |
- opensuse-15 | |
- photonos-4 | |
- photonos-4-arm64 | |
- photonos-4-fips | |
- photonos-4-arm64-fips | |
- photonos-5 | |
- photonos-5-arm64 | |
- photonos-5-fips | |
- photonos-5-arm64-fips | |
- ubuntu-2004 | |
- ubuntu-2004-arm64 | |
- ubuntu-2204 | |
- ubuntu-2204-arm64 | |
- ubuntu-2404 | |
- ubuntu-2404-arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get Salt Project GitHub Actions Bot Environment | |
run: | | |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") | |
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment) | |
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV" | |
- name: Setup Python Tools Scripts | |
uses: ./.github/actions/setup-python-tools-scripts | |
with: | |
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }} | |
- name: Download Repository Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: salt-${{ needs.prepare-workflow.outputs.salt-version }}-nightly-repo-* | |
merge-multiple: true | |
path: repo/ | |
- name: Decompress Repository Artifacts | |
run: | | |
find repo/ -type f -name '*.tar.gz' -print -exec tar xvf {} \; | |
find repo/ -type f -name '*.tar.gz' -print -exec rm -f {} \; | |
- name: Show Repository | |
run: | | |
tree -a artifacts/pkgs/repo/ | |
- name: Upload Repository Contents (nightly) | |
env: | |
SALT_REPO_DOMAIN_RELEASE: ${{ vars.SALT_REPO_DOMAIN_RELEASE || 'repo.saltproject.io' }} | |
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }} | |
run: | | |
tools pkg repo publish nightly --salt-version=${{ needs.prepare-workflow.outputs.salt-version }} artifacts/pkgs/repo/ | |
set-pipeline-exit-status: | |
# This step is just so we can make github require this step, to pass checks | |
# on a pull request instead of requiring all | |
name: Set the ${{ github.workflow }} Pipeline Exit Status | |
if: always() | |
runs-on: ubuntu-latest | |
environment: nightly | |
needs: | |
- workflow-requirements | |
- trigger-branch-nightly-builds | |
- prepare-workflow | |
- pre-commit | |
- lint | |
- build-docs | |
- build-deps-onedir | |
- build-salt-onedir | |
- build-pkgs-src | |
- combine-all-code-coverage | |
- publish-repositories | |
- rockylinux-8-pkg-tests | |
- rockylinux-8-arm64-pkg-tests | |
- rockylinux-9-pkg-tests | |
- rockylinux-9-arm64-pkg-tests | |
- amazonlinux-2-pkg-tests | |
- amazonlinux-2-arm64-pkg-tests | |
- amazonlinux-2023-pkg-tests | |
- amazonlinux-2023-arm64-pkg-tests | |
- debian-11-pkg-tests | |
- debian-11-arm64-pkg-tests | |
- debian-12-pkg-tests | |
- debian-12-arm64-pkg-tests | |
- photonos-4-pkg-tests | |
- photonos-4-arm64-pkg-tests | |
- photonos-4-pkg-tests-fips | |
- photonos-4-arm64-pkg-tests-fips | |
- photonos-5-pkg-tests | |
- photonos-5-arm64-pkg-tests | |
- photonos-5-pkg-tests-fips | |
- photonos-5-arm64-pkg-tests-fips | |
- ubuntu-2004-pkg-tests | |
- ubuntu-2004-arm64-pkg-tests | |
- ubuntu-2204-pkg-tests | |
- ubuntu-2204-arm64-pkg-tests | |
- ubuntu-2404-pkg-tests | |
- ubuntu-2404-arm64-pkg-tests | |
- macos-12-pkg-tests | |
- macos-13-pkg-tests | |
- macos-13-arm64-pkg-tests | |
- windows-2016-nsis-pkg-tests | |
- windows-2016-msi-pkg-tests | |
- windows-2019-nsis-pkg-tests | |
- windows-2019-msi-pkg-tests | |
- windows-2022-nsis-pkg-tests | |
- windows-2022-msi-pkg-tests | |
steps: | |
- name: Get workflow information | |
id: get-workflow-info | |
uses: im-open/workflow-conclusion@v2 | |
- name: Notify Slack | |
id: slack | |
if: always() | |
uses: slackapi/slack-github-action@v1.24.0 | |
with: | |
payload: | | |
{ | |
"attachments": [ | |
{ | |
"fallback": "${{ github.workflow }} Workflow build result for the `${{ github.ref_name }}` branch(attempt: ${{ github.run_attempt }}): `${{ steps.get-workflow-info.outputs.conclusion }}`\n${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", | |
"color": "${{ steps.get-workflow-info.outputs.conclusion != 'success' && 'ff3d00' || '00e676' }}", | |
"fields": [ | |
{ | |
"title": "Workflow", | |
"short": true, | |
"value": "${{ github.workflow }}", | |
"type": "mrkdwn" | |
}, | |
{ | |
"title": "Workflow Run", | |
"short": true, | |
"value": "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|${{ github.run_id }}>", | |
"type": "mrkdwn" | |
}, | |
{ | |
"title": "Branch", | |
"short": true, | |
"value": "${{ github.ref_name }}", | |
"type": "mrkdwn" | |
}, | |
{ | |
"title": "Commit", | |
"short": true, | |
"value": "<${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>", | |
"type": "mrkdwn" | |
}, | |
{ | |
"title": "Attempt", | |
"short": true, | |
"value": "${{ github.run_attempt }}", | |
"type": "mrkdwn" | |
}, | |
{ | |
"title": "Status", | |
"short": true, | |
"value": "${{ steps.get-workflow-info.outputs.conclusion }}", | |
"type": "mrkdwn" | |
} | |
], | |
"author_name": "${{ github.event.sender.login }}", | |
"author_link": "${{ github.event.sender.html_url }}", | |
"author_icon": "${{ github.event.sender.avatar_url }}" | |
} | |
] | |
} | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK | |
- name: Set Pipeline Exit Status | |
shell: bash | |
run: | | |
if [ "${{ steps.get-workflow-info.outputs.workflow_conclusion }}" != "success" ]; then | |
exit 1 | |
else | |
exit 0 | |
fi | |
- name: Done | |
if: always() | |
run: | |
echo "All worflows finished" |