# Do not edit these workflows directly as the changes made will be overwritten. # Instead, edit the template '.github/workflows/templates/scheduled.yml.jinja' --- name: Scheduled run-name: "Scheduled (branch: ${{ github.ref_name }})" on: schedule: # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onschedule - cron: '0 */8 * * *' # Run every 8 hours env: COLUMNS: 190 CACHE_SEED: SEED-4 # 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 scheduled builds concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ 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}" 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-scheduled-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 scheduled.yml --repo ${{ github.repository }} --ref 3006.x - name: Trigger 3007.x branch env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh workflow run scheduled.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 }} pull-labels: ${{ steps.get-pull-labels.outputs.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@v2 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: Check Defined Runners run: | echo '${{ steps.runner-types.outputs.runners }}' | jq -C '.' - name: Define Jobs id: define-jobs run: | tools ci define-jobs ${{ github.event_name }} changed-files.json - name: Check Defined Jobs run: | echo '${{ steps.define-jobs.outputs.jobs }}' | jq -C '.' - 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 Defined Test Run run: | echo '${{ steps.define-testrun.outputs.testrun }}' | jq -C '.' - 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.15.1" python-version: "3.10.13" 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.15.1" python-version: "3.10.13" 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.15.1" python-version: "3.10.13" source: "onedir" 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.15.1" python-version: "3.10.13" source: "src" 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.13 nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}" almalinux-8-pkg-tests: name: Alma 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: almalinux-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.13 skip-code-coverage: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} almalinux-8-arm64-pkg-tests: name: Alma 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: almalinux-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.13 skip-code-coverage: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} almalinux-9-pkg-tests: name: Alma 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: almalinux-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.13 skip-code-coverage: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} almalinux-9-arm64-pkg-tests: name: Alma 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: almalinux-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.13 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.13 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.13 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.13 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.13 skip-code-coverage: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} centos-7-pkg-tests: name: CentOS 7 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: centos-7 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.13 skip-code-coverage: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} debian-10-pkg-tests: name: Debian 10 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-10 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.13 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.13 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.13 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.13 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.13 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.13 skip-code-coverage: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} fips: true 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.13 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.13 skip-code-coverage: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} fips: true 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.13 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.13 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.13 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.13 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.13 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 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.13 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 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.13 skip-code-coverage: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} macos-13-xlarge-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-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.13 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.13 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.13 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.13 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.13 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.13 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.13 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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 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.13 skip-code-coverage: false workflow-slug: scheduled 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 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.13 skip-code-coverage: false workflow-slug: scheduled timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} macos-13-xlarge: 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-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.13 skip-code-coverage: false workflow-slug: scheduled timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} almalinux-8: name: Alma 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: almalinux-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.13 skip-code-coverage: false workflow-slug: scheduled timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} almalinux-8-arm64: name: Alma 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: almalinux-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.13 skip-code-coverage: false workflow-slug: scheduled timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} almalinux-9: name: Alma 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: almalinux-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.13 skip-code-coverage: false workflow-slug: scheduled timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} almalinux-9-arm64: name: Alma 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: almalinux-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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} centos-7: name: CentOS 7 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: centos-7 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.13 skip-code-coverage: false workflow-slug: scheduled timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} debian-10: name: Debian 10 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-10 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} fedora-39: name: Fedora 39 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-39 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} fips: true 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled timeout-minutes: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['type'] == 'full' && 180 || 360 }} fips: true 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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.13 skip-code-coverage: false workflow-slug: scheduled 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 needs: - prepare-workflow - build-ci-deps - windows-2016 - windows-2019 - windows-2022 - macos-12 - macos-13 - macos-13-xlarge - almalinux-8 - almalinux-8-arm64 - almalinux-9 - almalinux-9-arm64 - amazonlinux-2 - amazonlinux-2-arm64 - amazonlinux-2023 - amazonlinux-2023-arm64 - archlinux-lts - centos-7 - debian-10 - debian-11 - debian-11-arm64 - debian-12 - debian-12-arm64 - fedora-39 - opensuse-15 - photonos-4 - photonos-4-arm64 - photonos-5 - photonos-5-arm64 - ubuntu-2004 - ubuntu-2004-arm64 - ubuntu-2204 - ubuntu-2204-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: Get coverage reports id: get-coverage-reports uses: actions/download-artifact@v3 # This needs to be actions/download-artifact@v3 because we upload multiple artifacts # under the same name something that actions/upload-artifact@v4 does not do. 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 }} 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 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 needs: - workflow-requirements - trigger-branch-scheduled-builds - prepare-workflow - pre-commit - lint - build-docs - build-deps-onedir - build-salt-onedir - build-pkgs-src - combine-all-code-coverage - build-ci-deps - windows-2016 - windows-2019 - windows-2022 - macos-12 - macos-13 - macos-13-xlarge - almalinux-8 - almalinux-8-arm64 - almalinux-9 - almalinux-9-arm64 - amazonlinux-2 - amazonlinux-2-arm64 - amazonlinux-2023 - amazonlinux-2023-arm64 - archlinux-lts - centos-7 - debian-10 - debian-11 - debian-11-arm64 - debian-12 - debian-12-arm64 - fedora-39 - opensuse-15 - photonos-4 - photonos-4-arm64 - photonos-5 - photonos-5-arm64 - ubuntu-2004 - ubuntu-2004-arm64 - ubuntu-2204 - ubuntu-2204-arm64 - almalinux-8-pkg-tests - almalinux-8-arm64-pkg-tests - almalinux-9-pkg-tests - almalinux-9-arm64-pkg-tests - amazonlinux-2-pkg-tests - amazonlinux-2-arm64-pkg-tests - amazonlinux-2023-pkg-tests - amazonlinux-2023-arm64-pkg-tests - centos-7-pkg-tests - debian-10-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-5-pkg-tests - photonos-5-arm64-pkg-tests - ubuntu-2004-pkg-tests - ubuntu-2004-arm64-pkg-tests - ubuntu-2204-pkg-tests - ubuntu-2204-arm64-pkg-tests - macos-12-pkg-tests - macos-13-pkg-tests - macos-13-xlarge-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: technote-space/workflow-conclusion-action@v3 - name: Set Pipeline Exit Status shell: bash run: | if [ "${{ steps.get-workflow-info.outputs.conclusion }}" != "success" ]; then exit 1 else exit 0 fi - name: Done if: always() run: echo "All worflows finished"