mirror of
https://github.com/saltstack/salt.git
synced 2025-04-15 17:20:19 +00:00
Use `attrs
` to simplify OS definitions
This commit is contained in:
parent
8d51ca91f2
commit
d6ff5005da
17 changed files with 597 additions and 269 deletions
4
.github/workflows/build-deps-ci-action.yml
vendored
4
.github/workflows/build-deps-ci-action.yml
vendored
|
@ -163,7 +163,7 @@ jobs:
|
|||
|
||||
macos-dependencies:
|
||||
name: MacOS
|
||||
runs-on: ${{ matrix.distro-slug }}
|
||||
runs-on: ${{ matrix.distro-slug == 'macos-13-arm64' && 'macos-13-xlarge' || matrix.distro-slug }}
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
@ -171,7 +171,7 @@ jobs:
|
|||
include:
|
||||
- distro-slug: macos-12
|
||||
arch: x86_64
|
||||
- distro-slug: macos-13-xlarge
|
||||
- distro-slug: macos-13-arm64
|
||||
arch: arm64
|
||||
steps:
|
||||
|
||||
|
|
144
.github/workflows/ci.yml
vendored
144
.github/workflows/ci.yml
vendored
|
@ -491,7 +491,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["almalinux-8", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "almalinux-8"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -512,7 +512,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["almalinux-8-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "almalinux-8-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -533,7 +533,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["almalinux-9", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -554,7 +554,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["almalinux-9-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "almalinux-9-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -575,7 +575,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["amazonlinux-2", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "amazonlinux-2"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -596,7 +596,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["amazonlinux-2-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "amazonlinux-2-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -617,7 +617,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["amazonlinux-2023", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "amazonlinux-2023"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -638,7 +638,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["amazonlinux-2023-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -659,7 +659,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["centos-7", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "centos-7"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -680,7 +680,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["debian-10", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "debian-10"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -701,7 +701,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["debian-11", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "debian-11"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -722,7 +722,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["debian-11-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "debian-11-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -743,7 +743,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["debian-12", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "debian-12"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -764,7 +764,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["debian-12-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "debian-12-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -785,7 +785,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["photonos-4", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "photonos-4"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -807,7 +807,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["photonos-4-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "photonos-4-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -829,7 +829,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["photonos-5", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "photonos-5"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -851,7 +851,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["photonos-5-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "photonos-5-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -873,7 +873,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["ubuntu-20.04", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "ubuntu-20.04"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -894,7 +894,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["ubuntu-20.04-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "ubuntu-20.04-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -915,7 +915,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["ubuntu-22.04", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "ubuntu-22.04"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -936,7 +936,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["ubuntu-22.04-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -957,7 +957,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["macos-12", "macos-12", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('["all", "macos-12"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -965,6 +965,7 @@ jobs:
|
|||
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
|
||||
|
@ -978,7 +979,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["macos-13", "macos-13", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('["all", "macos-13"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -986,6 +987,7 @@ jobs:
|
|||
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
|
||||
|
@ -997,16 +999,17 @@ jobs:
|
|||
skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}
|
||||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
|
||||
|
||||
macos-13-xlarge-pkg-tests:
|
||||
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'] && contains(fromJSON('["macos-13-xlarge", "macos-13-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
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
|
||||
distro-slug: macos-13-arm64
|
||||
runner: macos-13-xlarge
|
||||
nox-session: ci-test-onedir
|
||||
platform: macos
|
||||
arch: arm64
|
||||
|
@ -1020,7 +1023,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["windows-2016", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "windows-2016"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -1041,7 +1044,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["windows-2016", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "windows-2016"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -1062,7 +1065,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["windows-2019", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "windows-2019"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -1083,7 +1086,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["windows-2019", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "windows-2019"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -1104,7 +1107,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["windows-2022", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -1125,7 +1128,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["windows-2022", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-pkgs-onedir
|
||||
|
@ -1146,7 +1149,7 @@ jobs:
|
|||
|
||||
windows-2016:
|
||||
name: Windows 2016 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["windows-2016", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "windows-2016"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1167,7 +1170,7 @@ jobs:
|
|||
|
||||
windows-2019:
|
||||
name: Windows 2019 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["windows-2019", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "windows-2019"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1188,7 +1191,7 @@ jobs:
|
|||
|
||||
windows-2022:
|
||||
name: Windows 2022 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["windows-2022", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1209,13 +1212,14 @@ jobs:
|
|||
|
||||
macos-12:
|
||||
name: macOS 12 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('["macos-12", "macos-12", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('["all", "macos-12"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
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
|
||||
|
@ -1230,13 +1234,14 @@ jobs:
|
|||
|
||||
macos-13:
|
||||
name: macOS 13 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('["macos-13", "macos-13", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('["all", "macos-13"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
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
|
||||
|
@ -1249,15 +1254,16 @@ jobs:
|
|||
workflow-slug: ci
|
||||
default-timeout: 180
|
||||
|
||||
macos-13-xlarge:
|
||||
macos-13-arm64:
|
||||
name: macOS 13 Arm64 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('["macos-13-xlarge", "macos-13-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
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
|
||||
distro-slug: macos-13-arm64
|
||||
runner: macos-13-xlarge
|
||||
nox-session: ci-test-onedir
|
||||
platform: macos
|
||||
arch: arm64
|
||||
|
@ -1272,7 +1278,7 @@ jobs:
|
|||
|
||||
almalinux-8:
|
||||
name: Alma Linux 8 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["almalinux-8", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "almalinux-8"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1293,7 +1299,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["almalinux-8-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "almalinux-8-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1314,7 +1320,7 @@ jobs:
|
|||
|
||||
almalinux-9:
|
||||
name: Alma Linux 9 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["almalinux-9", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1335,7 +1341,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["almalinux-9-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "almalinux-9-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1356,7 +1362,7 @@ jobs:
|
|||
|
||||
amazonlinux-2:
|
||||
name: Amazon Linux 2 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["amazonlinux-2", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "amazonlinux-2"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1377,7 +1383,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["amazonlinux-2-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "amazonlinux-2-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1398,7 +1404,7 @@ jobs:
|
|||
|
||||
amazonlinux-2023:
|
||||
name: Amazon Linux 2023 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["amazonlinux-2023", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "amazonlinux-2023"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1419,7 +1425,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["amazonlinux-2023-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1440,7 +1446,7 @@ jobs:
|
|||
|
||||
archlinux-lts:
|
||||
name: Arch Linux LTS Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["archlinux-lts", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1461,7 +1467,7 @@ jobs:
|
|||
|
||||
centos-7:
|
||||
name: CentOS 7 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["centos-7", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "centos-7"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1482,7 +1488,7 @@ jobs:
|
|||
|
||||
debian-10:
|
||||
name: Debian 10 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["debian-10", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "debian-10"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1503,7 +1509,7 @@ jobs:
|
|||
|
||||
debian-11:
|
||||
name: Debian 11 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["debian-11", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "debian-11"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1524,7 +1530,7 @@ jobs:
|
|||
|
||||
debian-11-arm64:
|
||||
name: Debian 11 Arm64 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["debian-11-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "debian-11-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1545,7 +1551,7 @@ jobs:
|
|||
|
||||
debian-12:
|
||||
name: Debian 12 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["debian-12", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "debian-12"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1566,7 +1572,7 @@ jobs:
|
|||
|
||||
debian-12-arm64:
|
||||
name: Debian 12 Arm64 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["debian-12-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "debian-12-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1587,7 +1593,7 @@ jobs:
|
|||
|
||||
fedora-39:
|
||||
name: Fedora 39 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["fedora-39", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "fedora-39"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1608,7 +1614,7 @@ jobs:
|
|||
|
||||
opensuse-15:
|
||||
name: Opensuse 15 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["opensuse-15", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "opensuse-15"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1629,7 +1635,7 @@ jobs:
|
|||
|
||||
photonos-4:
|
||||
name: Photon OS 4 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["photonos-4", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "photonos-4"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1651,7 +1657,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["photonos-4-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "photonos-4-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1673,7 +1679,7 @@ jobs:
|
|||
|
||||
photonos-5:
|
||||
name: Photon OS 5 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["photonos-5", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "photonos-5"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1695,7 +1701,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["photonos-5-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "photonos-5-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1717,7 +1723,7 @@ jobs:
|
|||
|
||||
ubuntu-2004:
|
||||
name: Ubuntu 20.04 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["ubuntu-20.04", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "ubuntu-20.04"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1738,7 +1744,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["ubuntu-20.04-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "ubuntu-20.04-arm64"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1759,7 +1765,7 @@ jobs:
|
|||
|
||||
ubuntu-2204:
|
||||
name: Ubuntu 22.04 Test
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["ubuntu-22.04", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["all", "ubuntu-22.04"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1780,7 +1786,7 @@ jobs:
|
|||
|
||||
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'] && contains(fromJSON('["ubuntu-22.04-arm64", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
|
@ -1811,7 +1817,7 @@ jobs:
|
|||
- windows-2022
|
||||
- macos-12
|
||||
- macos-13
|
||||
- macos-13-xlarge
|
||||
- macos-13-arm64
|
||||
- almalinux-8
|
||||
- almalinux-8-arm64
|
||||
- almalinux-9
|
||||
|
@ -1965,7 +1971,7 @@ jobs:
|
|||
- windows-2022
|
||||
- macos-12
|
||||
- macos-13
|
||||
- macos-13-xlarge
|
||||
- macos-13-arm64
|
||||
- almalinux-8
|
||||
- almalinux-8-arm64
|
||||
- almalinux-9
|
||||
|
@ -2015,7 +2021,7 @@ jobs:
|
|||
- ubuntu-2204-arm64-pkg-tests
|
||||
- macos-12-pkg-tests
|
||||
- macos-13-pkg-tests
|
||||
- macos-13-xlarge-pkg-tests
|
||||
- macos-13-arm64-pkg-tests
|
||||
- windows-2016-nsis-pkg-tests
|
||||
- windows-2016-msi-pkg-tests
|
||||
- windows-2019-nsis-pkg-tests
|
||||
|
|
20
.github/workflows/nightly.yml
vendored
20
.github/workflows/nightly.yml
vendored
|
@ -1022,6 +1022,7 @@ jobs:
|
|||
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
|
||||
|
@ -1043,6 +1044,7 @@ jobs:
|
|||
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
|
||||
|
@ -1054,7 +1056,7 @@ jobs:
|
|||
skip-code-coverage: false
|
||||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
|
||||
|
||||
macos-13-xlarge-pkg-tests:
|
||||
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:
|
||||
|
@ -1063,7 +1065,8 @@ jobs:
|
|||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-packages-action-macos.yml
|
||||
with:
|
||||
distro-slug: macos-13-xlarge
|
||||
distro-slug: macos-13-arm64
|
||||
runner: macos-13-xlarge
|
||||
nox-session: ci-test-onedir
|
||||
platform: macos
|
||||
arch: arm64
|
||||
|
@ -1273,6 +1276,7 @@ jobs:
|
|||
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
|
||||
|
@ -1294,6 +1298,7 @@ jobs:
|
|||
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
|
||||
|
@ -1306,7 +1311,7 @@ jobs:
|
|||
workflow-slug: nightly
|
||||
default-timeout: 360
|
||||
|
||||
macos-13-xlarge:
|
||||
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:
|
||||
|
@ -1314,7 +1319,8 @@ jobs:
|
|||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-action-macos.yml
|
||||
with:
|
||||
distro-slug: macos-13-xlarge
|
||||
distro-slug: macos-13-arm64
|
||||
runner: macos-13-xlarge
|
||||
nox-session: ci-test-onedir
|
||||
platform: macos
|
||||
arch: arm64
|
||||
|
@ -1868,7 +1874,7 @@ jobs:
|
|||
- windows-2022
|
||||
- macos-12
|
||||
- macos-13
|
||||
- macos-13-xlarge
|
||||
- macos-13-arm64
|
||||
- almalinux-8
|
||||
- almalinux-8-arm64
|
||||
- almalinux-9
|
||||
|
@ -2778,7 +2784,7 @@ jobs:
|
|||
- windows-2022
|
||||
- macos-12
|
||||
- macos-13
|
||||
- macos-13-xlarge
|
||||
- macos-13-arm64
|
||||
- almalinux-8
|
||||
- almalinux-8-arm64
|
||||
- almalinux-9
|
||||
|
@ -2886,7 +2892,7 @@ jobs:
|
|||
- ubuntu-2204-arm64-pkg-tests
|
||||
- macos-12-pkg-tests
|
||||
- macos-13-pkg-tests
|
||||
- macos-13-xlarge-pkg-tests
|
||||
- macos-13-arm64-pkg-tests
|
||||
- windows-2016-nsis-pkg-tests
|
||||
- windows-2016-msi-pkg-tests
|
||||
- windows-2019-nsis-pkg-tests
|
||||
|
|
20
.github/workflows/scheduled.yml
vendored
20
.github/workflows/scheduled.yml
vendored
|
@ -999,6 +999,7 @@ jobs:
|
|||
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
|
||||
|
@ -1020,6 +1021,7 @@ jobs:
|
|||
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
|
||||
|
@ -1031,7 +1033,7 @@ jobs:
|
|||
skip-code-coverage: false
|
||||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
|
||||
|
||||
macos-13-xlarge-pkg-tests:
|
||||
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:
|
||||
|
@ -1040,7 +1042,8 @@ jobs:
|
|||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-packages-action-macos.yml
|
||||
with:
|
||||
distro-slug: macos-13-xlarge
|
||||
distro-slug: macos-13-arm64
|
||||
runner: macos-13-xlarge
|
||||
nox-session: ci-test-onedir
|
||||
platform: macos
|
||||
arch: arm64
|
||||
|
@ -1250,6 +1253,7 @@ jobs:
|
|||
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
|
||||
|
@ -1271,6 +1275,7 @@ jobs:
|
|||
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
|
||||
|
@ -1283,7 +1288,7 @@ jobs:
|
|||
workflow-slug: scheduled
|
||||
default-timeout: 360
|
||||
|
||||
macos-13-xlarge:
|
||||
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:
|
||||
|
@ -1291,7 +1296,8 @@ jobs:
|
|||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-action-macos.yml
|
||||
with:
|
||||
distro-slug: macos-13-xlarge
|
||||
distro-slug: macos-13-arm64
|
||||
runner: macos-13-xlarge
|
||||
nox-session: ci-test-onedir
|
||||
platform: macos
|
||||
arch: arm64
|
||||
|
@ -1845,7 +1851,7 @@ jobs:
|
|||
- windows-2022
|
||||
- macos-12
|
||||
- macos-13
|
||||
- macos-13-xlarge
|
||||
- macos-13-arm64
|
||||
- almalinux-8
|
||||
- almalinux-8-arm64
|
||||
- almalinux-9
|
||||
|
@ -2001,7 +2007,7 @@ jobs:
|
|||
- windows-2022
|
||||
- macos-12
|
||||
- macos-13
|
||||
- macos-13-xlarge
|
||||
- macos-13-arm64
|
||||
- almalinux-8
|
||||
- almalinux-8-arm64
|
||||
- almalinux-9
|
||||
|
@ -2051,7 +2057,7 @@ jobs:
|
|||
- ubuntu-2204-arm64-pkg-tests
|
||||
- macos-12-pkg-tests
|
||||
- macos-13-pkg-tests
|
||||
- macos-13-xlarge-pkg-tests
|
||||
- macos-13-arm64-pkg-tests
|
||||
- windows-2016-nsis-pkg-tests
|
||||
- windows-2016-msi-pkg-tests
|
||||
- windows-2019-nsis-pkg-tests
|
||||
|
|
18
.github/workflows/staging.yml
vendored
18
.github/workflows/staging.yml
vendored
|
@ -1012,6 +1012,7 @@ jobs:
|
|||
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
|
||||
|
@ -1033,6 +1034,7 @@ jobs:
|
|||
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
|
||||
|
@ -1044,7 +1046,7 @@ jobs:
|
|||
skip-code-coverage: true
|
||||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
|
||||
|
||||
macos-13-xlarge-pkg-tests:
|
||||
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:
|
||||
|
@ -1053,7 +1055,8 @@ jobs:
|
|||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-packages-action-macos.yml
|
||||
with:
|
||||
distro-slug: macos-13-xlarge
|
||||
distro-slug: macos-13-arm64
|
||||
runner: macos-13-xlarge
|
||||
nox-session: ci-test-onedir
|
||||
platform: macos
|
||||
arch: arm64
|
||||
|
@ -1263,6 +1266,7 @@ jobs:
|
|||
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
|
||||
|
@ -1284,6 +1288,7 @@ jobs:
|
|||
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
|
||||
|
@ -1296,7 +1301,7 @@ jobs:
|
|||
workflow-slug: staging
|
||||
default-timeout: 180
|
||||
|
||||
macos-13-xlarge:
|
||||
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:
|
||||
|
@ -1304,7 +1309,8 @@ jobs:
|
|||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-action-macos.yml
|
||||
with:
|
||||
distro-slug: macos-13-xlarge
|
||||
distro-slug: macos-13-arm64
|
||||
runner: macos-13-xlarge
|
||||
nox-session: ci-test-onedir
|
||||
platform: macos
|
||||
arch: arm64
|
||||
|
@ -2757,7 +2763,7 @@ jobs:
|
|||
- windows-2022
|
||||
- macos-12
|
||||
- macos-13
|
||||
- macos-13-xlarge
|
||||
- macos-13-arm64
|
||||
- almalinux-8
|
||||
- almalinux-8-arm64
|
||||
- almalinux-9
|
||||
|
@ -2807,7 +2813,7 @@ jobs:
|
|||
- ubuntu-2204-arm64-pkg-tests
|
||||
- macos-12-pkg-tests
|
||||
- macos-13-pkg-tests
|
||||
- macos-13-xlarge-pkg-tests
|
||||
- macos-13-arm64-pkg-tests
|
||||
- windows-2016-nsis-pkg-tests
|
||||
- windows-2016-msi-pkg-tests
|
||||
- windows-2019-nsis-pkg-tests
|
||||
|
|
|
@ -163,7 +163,7 @@ jobs:
|
|||
|
||||
macos-dependencies:
|
||||
name: MacOS
|
||||
runs-on: ${{ matrix.distro-slug }}
|
||||
runs-on: ${{ matrix.distro-slug == 'macos-13-arm64' && 'macos-13-xlarge' || matrix.distro-slug }}
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
|
|
@ -69,10 +69,10 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
<%- for slug, arch, pkg_type in test_salt_pkg_downloads_listing["linux"] %>
|
||||
- distro-slug: <{ slug }>
|
||||
arch: <{ arch }>
|
||||
pkg-type: <{ pkg_type }>
|
||||
<%- for os in test_salt_pkg_downloads_listing["linux"] %>
|
||||
- distro-slug: <{ os.slug }>
|
||||
arch: <{ os.arch }>
|
||||
pkg-type: <{ os.pkg_type }>
|
||||
<%- endfor %>
|
||||
|
||||
steps:
|
||||
|
@ -271,7 +271,7 @@ jobs:
|
|||
|
||||
macos:
|
||||
name: MacOS
|
||||
runs-on: ${{ matrix.distro-slug }}
|
||||
runs-on: ${{ matrix.distro-slug == 'macos-13-arm64' && 'macos-13-xlarge' || matrix.distro-slug }}
|
||||
env:
|
||||
USE_S3_CACHE: 'false'
|
||||
environment: ${{ inputs.environment }}
|
||||
|
@ -280,10 +280,10 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
<%- for slug, arch, pkg_type in test_salt_pkg_downloads_listing["macos"] %>
|
||||
- distro-slug: <{ slug }>
|
||||
arch: <{ arch }>
|
||||
pkg-type: <{ pkg_type }>
|
||||
<%- for os in test_salt_pkg_downloads_listing["macos"] %>
|
||||
- distro-slug: <{ os.slug }>
|
||||
arch: <{ os.arch }>
|
||||
pkg-type: <{ os.pkg_type }>
|
||||
<%- endfor %>
|
||||
|
||||
steps:
|
||||
|
@ -485,10 +485,10 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
<%- for slug, arch, pkg_type in test_salt_pkg_downloads_listing["windows"] %>
|
||||
- distro-slug: <{ slug }>
|
||||
arch: <{ arch }>
|
||||
pkg-type: <{ pkg_type }>
|
||||
<%- for os in test_salt_pkg_downloads_listing["windows"] %>
|
||||
- distro-slug: <{ os.slug }>
|
||||
arch: <{ os.arch }>
|
||||
pkg-type: <{ os.pkg_type }>
|
||||
<%- endfor %>
|
||||
|
||||
steps:
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<%- for slug, display_name, arch, pkg_type, fips in test_salt_pkg_listing["linux"] %>
|
||||
<%- set job_name = "{}-pkg-tests".format(slug.replace(".", "")) %>
|
||||
<%- for os in test_salt_pkg_listing["linux"] %>
|
||||
<%- set job_name = "{}-pkg-tests".format(os.slug.replace(".", "")) %>
|
||||
|
||||
<{ job_name }>:
|
||||
<%- do test_salt_pkg_needs.append(job_name) %>
|
||||
name: <{ display_name }> Package Test
|
||||
<%- if workflow_slug != "ci" or slug in mandatory_os %>
|
||||
name: <{ os.display_name }> Package Test
|
||||
<%- if workflow_slug != "ci" or os.slug in mandatory_os_slugs %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
<%- else %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["<{ slug }>", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('<{ os.os_labels_json() }>'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
<%- endif %>
|
||||
needs:
|
||||
- prepare-workflow
|
||||
|
@ -15,18 +15,18 @@
|
|||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-packages-action-linux.yml
|
||||
with:
|
||||
distro-slug: <{ slug }>
|
||||
distro-slug: <{ os.slug }>
|
||||
nox-session: ci-test-onedir
|
||||
platform: linux
|
||||
arch: <{ arch }>
|
||||
arch: <{ os.arch }>
|
||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
pkg-type: <{ pkg_type }>
|
||||
pkg-type: <{ os.pkg_type }>
|
||||
nox-version: <{ nox_version }>
|
||||
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||
skip-code-coverage: <{ skip_test_coverage_check }>
|
||||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
|
||||
<%- if fips == "fips" %>
|
||||
<%- if os.fips %>
|
||||
fips: true
|
||||
<%- endif %>
|
||||
|
||||
|
@ -34,16 +34,16 @@
|
|||
|
||||
|
||||
|
||||
<%- for slug, display_name, arch in test_salt_pkg_listing["macos"] %>
|
||||
<%- set job_name = "{}-pkg-tests".format(slug.replace(".", "")) %>
|
||||
<%- for os in test_salt_pkg_listing["macos"] %>
|
||||
<%- set job_name = "{}-pkg-tests".format(os.slug.replace(".", "")) %>
|
||||
|
||||
<{ job_name }>:
|
||||
<%- do test_salt_pkg_needs.append(job_name) %>
|
||||
name: <{ display_name }> Package Test
|
||||
<%- if workflow_slug != "ci" or slug in mandatory_os %>
|
||||
name: <{ os.display_name }> Package Test
|
||||
<%- if workflow_slug != "ci" or os.slug in mandatory_os_slugs %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
|
||||
<%- else %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('["<{ slug }>", "<{ slug.replace('xlarge', 'arm64') }>", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('<{ os.os_labels_json() }>'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
<%- endif %>
|
||||
needs:
|
||||
- prepare-workflow
|
||||
|
@ -51,10 +51,11 @@
|
|||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-packages-action-macos.yml
|
||||
with:
|
||||
distro-slug: <{ slug }>
|
||||
distro-slug: <{ os.slug }>
|
||||
runner: <{ os.runner }>
|
||||
nox-session: ci-test-onedir
|
||||
platform: macos
|
||||
arch: <{ arch }>
|
||||
arch: <{ os.arch }>
|
||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
pkg-type: macos
|
||||
nox-version: <{ nox_version }>
|
||||
|
@ -66,17 +67,16 @@
|
|||
<%- endfor %>
|
||||
|
||||
|
||||
<%- for slug, display_name, arch in test_salt_pkg_listing["windows"] %>
|
||||
<%- for pkg_type in ("NSIS", "MSI") %>
|
||||
<%- set job_name = "{}-{}-pkg-tests".format(slug.replace(".", ""), pkg_type.lower()) %>
|
||||
<%- for os in test_salt_pkg_listing["windows"] %>
|
||||
<%- set job_name = "{}-{}-pkg-tests".format(os.slug.replace(".", ""), os.pkg_type.lower()) %>
|
||||
|
||||
<{ job_name }>:
|
||||
<%- do test_salt_pkg_needs.append(job_name) %>
|
||||
name: <{ display_name }> <{ pkg_type }> Package Test
|
||||
<%- if workflow_slug != "ci" or slug in mandatory_os %>
|
||||
name: <{ os.display_name }> <{ os.pkg_type }> Package Test
|
||||
<%- if workflow_slug != "ci" or os.slug in mandatory_os_slugs %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
<%- else %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["<{ slug }>", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('<{ os.os_labels_json() }>'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
<%- endif %>
|
||||
needs:
|
||||
- prepare-workflow
|
||||
|
@ -84,17 +84,16 @@
|
|||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-packages-action-windows.yml
|
||||
with:
|
||||
distro-slug: <{ slug }>
|
||||
distro-slug: <{ os.slug }>
|
||||
nox-session: ci-test-onedir
|
||||
platform: windows
|
||||
arch: <{ arch }>
|
||||
arch: <{ os.arch }>
|
||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
pkg-type: <{ pkg_type }>
|
||||
pkg-type: <{ os.pkg_type }>
|
||||
nox-version: <{ nox_version }>
|
||||
python-version: "<{ gh_actions_workflows_python_version }>"
|
||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
|
||||
skip-code-coverage: <{ skip_test_coverage_check }>
|
||||
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
|
||||
|
||||
<%- endfor %>
|
||||
<%- endfor %>
|
||||
|
|
49
.github/workflows/templates/test-salt.yml.jinja
vendored
49
.github/workflows/templates/test-salt.yml.jinja
vendored
|
@ -4,22 +4,22 @@
|
|||
<%- set timeout_value = 180 %>
|
||||
<%- endif %>
|
||||
|
||||
<%- for slug, display_name, arch in test_salt_listing["windows"] %>
|
||||
<%- for os in test_salt_listing["windows"] %>
|
||||
|
||||
<{ slug.replace(".", "") }>:
|
||||
<%- do test_salt_needs.append(slug.replace(".", "")) %>
|
||||
name: <{ display_name }> Test
|
||||
<%- if workflow_slug != "ci" or slug in mandatory_os %>
|
||||
<{ os.slug.replace(".", "") }>:
|
||||
<%- do test_salt_needs.append(os.slug.replace(".", "")) %>
|
||||
name: <{ os.display_name }> Test
|
||||
<%- if workflow_slug != "ci" or os.slug in mandatory_os_slugs %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
<%- else %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["<{ slug }>", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('<{ os.os_labels_json() }>'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
<%- endif %>
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-action-windows.yml
|
||||
with:
|
||||
distro-slug: <{ slug }>
|
||||
distro-slug: <{ os.slug }>
|
||||
nox-session: ci-test-onedir
|
||||
platform: windows
|
||||
arch: amd64
|
||||
|
@ -35,25 +35,26 @@
|
|||
<%- endfor %>
|
||||
|
||||
|
||||
<%- for slug, display_name, arch in test_salt_listing["macos"] %>
|
||||
<%- for os in test_salt_listing["macos"] %>
|
||||
|
||||
<{ slug.replace(".", "") }>:
|
||||
<%- do test_salt_needs.append(slug.replace(".", "")) %>
|
||||
name: <{ display_name }> Test
|
||||
<%- if workflow_slug != "ci" or slug in mandatory_os %>
|
||||
<{ os.slug.replace(".", "") }>:
|
||||
<%- do test_salt_needs.append(os.slug.replace(".", "")) %>
|
||||
name: <{ os.display_name }> Test
|
||||
<%- if workflow_slug != "ci" or os.slug in mandatory_os_slugs %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
|
||||
<%- else %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('["<{ slug }>", "<{ slug.replace('xlarge', 'arm64') }>", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] && contains(fromJSON('<{ os.os_labels_json() }>'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
<%- endif %>
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-action-macos.yml
|
||||
with:
|
||||
distro-slug: <{ slug }>
|
||||
distro-slug: <{ os.slug }>
|
||||
runner: <{ os.runner }>
|
||||
nox-session: ci-test-onedir
|
||||
platform: macos
|
||||
arch: <{ arch }>
|
||||
arch: <{ os.arch }>
|
||||
nox-version: <{ nox_version }>
|
||||
gh-actions-python-version: "<{ gh_actions_workflows_python_version }>"
|
||||
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
|
||||
|
@ -65,25 +66,25 @@
|
|||
|
||||
<%- endfor %>
|
||||
|
||||
<%- for slug, display_name, arch, fips in test_salt_listing["linux"] %>
|
||||
<%- for os in test_salt_listing["linux"] %>
|
||||
|
||||
<{ slug.replace(".", "") }>:
|
||||
<%- do test_salt_needs.append(slug.replace(".", "")) %>
|
||||
name: <{ display_name }> Test
|
||||
<%- if workflow_slug != "ci" or slug in mandatory_os %>
|
||||
<{ os.slug.replace(".", "") }>:
|
||||
<%- do test_salt_needs.append(os.slug.replace(".", "")) %>
|
||||
name: <{ os.display_name }> Test
|
||||
<%- if workflow_slug != "ci" or os.slug in mandatory_os_slugs %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
|
||||
<%- else %>
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('["<{ slug }>", "all"]'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] && contains(fromJSON('<{ os.os_labels_json() }>'), needs.prepare-workflow.outputs.os-labels) }}
|
||||
<%- endif %>
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- build-ci-deps
|
||||
uses: ./.github/workflows/test-action-linux.yml
|
||||
with:
|
||||
distro-slug: <{ slug }>
|
||||
distro-slug: <{ os.slug }>
|
||||
nox-session: ci-test-onedir
|
||||
platform: linux
|
||||
arch: <{ arch }>
|
||||
arch: <{ os.arch }>
|
||||
nox-version: <{ nox_version }>
|
||||
gh-actions-python-version: "<{ gh_actions_workflows_python_version }>"
|
||||
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
|
||||
|
@ -92,7 +93,7 @@
|
|||
skip-code-coverage: <{ skip_test_coverage_check }>
|
||||
workflow-slug: <{ workflow_slug }>
|
||||
default-timeout: <{ timeout_value }>
|
||||
<%- if fips == "fips" %>
|
||||
<%- if os.fips %>
|
||||
fips: true
|
||||
<%- endif %>
|
||||
|
||||
|
|
6
.github/workflows/test-action-macos.yml
vendored
6
.github/workflows/test-action-macos.yml
vendored
|
@ -8,6 +8,10 @@ on:
|
|||
required: true
|
||||
type: string
|
||||
description: The OS slug to run tests against
|
||||
runner:
|
||||
required: true
|
||||
type: string
|
||||
description: The GitHub runner name
|
||||
nox-session:
|
||||
required: true
|
||||
type: string
|
||||
|
@ -98,7 +102,7 @@ jobs:
|
|||
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ${{ inputs.distro-slug }}
|
||||
runs-on: ${{ inputs.runner }}
|
||||
# Full test runs. Each chunk should never take more than 2 hours.
|
||||
# Partial test runs(no chunk parallelization), 6 Hours
|
||||
timeout-minutes: ${{ fromJSON(inputs.testrun)['type'] == 'full' && inputs.default-timeout || 360 }}
|
||||
|
|
|
@ -380,7 +380,7 @@ jobs:
|
|||
|
||||
macos:
|
||||
name: MacOS
|
||||
runs-on: ${{ matrix.distro-slug }}
|
||||
runs-on: ${{ matrix.distro-slug == 'macos-13-arm64' && 'macos-13-xlarge' || matrix.distro-slug }}
|
||||
env:
|
||||
USE_S3_CACHE: 'false'
|
||||
environment: ${{ inputs.environment }}
|
||||
|
@ -395,10 +395,10 @@ jobs:
|
|||
- distro-slug: macos-13
|
||||
arch: x86_64
|
||||
pkg-type: package
|
||||
- distro-slug: macos-13-xlarge
|
||||
- distro-slug: macos-13-arm64
|
||||
arch: arm64
|
||||
pkg-type: package
|
||||
- distro-slug: macos-13-xlarge
|
||||
- distro-slug: macos-13-arm64
|
||||
arch: arm64
|
||||
pkg-type: onedir
|
||||
|
||||
|
|
|
@ -7,6 +7,10 @@ on:
|
|||
required: true
|
||||
type: string
|
||||
description: The OS slug to run tests against
|
||||
runner:
|
||||
required: true
|
||||
type: string
|
||||
description: The GitHub runner name
|
||||
platform:
|
||||
required: true
|
||||
type: string
|
||||
|
@ -98,7 +102,7 @@ jobs:
|
|||
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ${{ inputs.distro-slug }}
|
||||
runs-on: ${{ inputs.runner }}
|
||||
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
|
||||
needs:
|
||||
- generate-matrix
|
||||
|
|
|
@ -59,7 +59,7 @@ repos:
|
|||
- id: tools
|
||||
alias: generate-workflows
|
||||
name: Generate GitHub Workflow Templates
|
||||
files: ^(cicd/shared-gh-workflows-context\.yml|tools/precommit/workflows\.py|.github/workflows/templates/.*)$
|
||||
files: ^(cicd/shared-gh-workflows-context\.yml|tools/precommit/workflows\.py|.github/workflows/.*)$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- pre-commit
|
||||
|
|
|
@ -5,6 +5,6 @@ mandatory_os_slugs:
|
|||
- almalinux-9
|
||||
- amazonlinux-2023-arm64
|
||||
- archlinux-lts
|
||||
- macos-13
|
||||
- macos-13-arm64
|
||||
- ubuntu-22.04-arm64
|
||||
- windows-2022
|
||||
|
|
|
@ -968,7 +968,13 @@ def get_pr_test_labels(
|
|||
if TYPE_CHECKING:
|
||||
assert github_output is not None
|
||||
|
||||
ctx.info("Writing 'labels' to the github outputs file")
|
||||
ctx.info("Writing 'labels' to the github outputs file...")
|
||||
ctx.info("Test Labels:")
|
||||
for label in sorted(test_labels):
|
||||
ctx.info(f" * [yellow]{label}[/yellow]")
|
||||
ctx.info("* OS Labels:")
|
||||
for slug in sorted(selected):
|
||||
ctx.info(f" * [yellow]{slug}[/yellow]")
|
||||
with open(github_output, "a", encoding="utf-8") as wfh:
|
||||
wfh.write(f"os-labels={json.dumps([label for label in os_labels])}\n")
|
||||
wfh.write(f"test-labels={json.dumps([label for label in test_labels])}\n")
|
||||
|
|
|
@ -7,12 +7,19 @@ from __future__ import annotations
|
|||
|
||||
import logging
|
||||
import shutil
|
||||
import sys
|
||||
from typing import TYPE_CHECKING, cast
|
||||
|
||||
from jinja2 import Environment, FileSystemLoader, StrictUndefined
|
||||
from ptscripts import Context, command_group
|
||||
|
||||
import tools.utils
|
||||
from tools.utils import Linux, MacOS, Windows
|
||||
|
||||
if sys.version_info < (3, 11):
|
||||
from typing_extensions import TypedDict
|
||||
else:
|
||||
from typing import TypedDict # pylint: disable=no-name-in-module
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@ -20,6 +27,12 @@ WORKFLOWS = tools.utils.REPO_ROOT / ".github" / "workflows"
|
|||
TEMPLATES = WORKFLOWS / "templates"
|
||||
|
||||
|
||||
class PlatformDefinitions(TypedDict):
|
||||
linux: list[Linux]
|
||||
macos: list[MacOS]
|
||||
windows: list[Windows]
|
||||
|
||||
|
||||
# Define the command group
|
||||
cgroup = command_group(
|
||||
name="workflows",
|
||||
|
@ -91,94 +104,299 @@ def generate_workflows(ctx: Context):
|
|||
"template": "build-deps-ci-action.yml",
|
||||
},
|
||||
}
|
||||
test_salt_listing: dict[str, list[tuple[str, ...]]] = {
|
||||
"linux": [
|
||||
("almalinux-8", "Alma Linux 8", "x86_64", "no-fips"),
|
||||
("almalinux-8-arm64", "Alma Linux 8 Arm64", "arm64", "no-fips"),
|
||||
("almalinux-9", "Alma Linux 9", "x86_64", "no-fips"),
|
||||
("almalinux-9-arm64", "Alma Linux 9 Arm64", "arm64", "no-fips"),
|
||||
("amazonlinux-2", "Amazon Linux 2", "x86_64", "no-fips"),
|
||||
("amazonlinux-2-arm64", "Amazon Linux 2 Arm64", "arm64", "no-fips"),
|
||||
("amazonlinux-2023", "Amazon Linux 2023", "x86_64", "no-fips"),
|
||||
("amazonlinux-2023-arm64", "Amazon Linux 2023 Arm64", "arm64", "no-fips"),
|
||||
("archlinux-lts", "Arch Linux LTS", "x86_64", "no-fips"),
|
||||
("centos-7", "CentOS 7", "x86_64", "no-fips"),
|
||||
("debian-10", "Debian 10", "x86_64", "no-fips"),
|
||||
("debian-11", "Debian 11", "x86_64", "no-fips"),
|
||||
("debian-11-arm64", "Debian 11 Arm64", "arm64", "no-fips"),
|
||||
("debian-12", "Debian 12", "x86_64", "no-fips"),
|
||||
("debian-12-arm64", "Debian 12 Arm64", "arm64", "no-fips"),
|
||||
("fedora-39", "Fedora 39", "x86_64", "no-fips"),
|
||||
("opensuse-15", "Opensuse 15", "x86_64", "no-fips"),
|
||||
("photonos-4", "Photon OS 4", "x86_64", "fips"),
|
||||
("photonos-4-arm64", "Photon OS 4 Arm64", "arm64", "fips"),
|
||||
("photonos-5", "Photon OS 5", "x86_64", "fips"),
|
||||
("photonos-5-arm64", "Photon OS 5 Arm64", "arm64", "fips"),
|
||||
("ubuntu-20.04", "Ubuntu 20.04", "x86_64", "no-fips"),
|
||||
("ubuntu-20.04-arm64", "Ubuntu 20.04 Arm64", "arm64", "no-fips"),
|
||||
("ubuntu-22.04", "Ubuntu 22.04", "x86_64", "no-fips"),
|
||||
("ubuntu-22.04-arm64", "Ubuntu 22.04 Arm64", "arm64", "no-fips"),
|
||||
],
|
||||
"macos": [
|
||||
("macos-12", "macOS 12", "x86_64"),
|
||||
("macos-13", "macOS 13", "x86_64"),
|
||||
("macos-13-xlarge", "macOS 13 Arm64", "arm64"),
|
||||
],
|
||||
"windows": [
|
||||
("windows-2016", "Windows 2016", "amd64"),
|
||||
("windows-2019", "Windows 2019", "amd64"),
|
||||
("windows-2022", "Windows 2022", "amd64"),
|
||||
],
|
||||
}
|
||||
test_salt_listing = PlatformDefinitions(
|
||||
{
|
||||
"linux": [
|
||||
Linux(slug="almalinux-8", display_name="Alma Linux 8", arch="x86_64"),
|
||||
Linux(
|
||||
slug="almalinux-8-arm64",
|
||||
display_name="Alma Linux 8 Arm64",
|
||||
arch="arm64",
|
||||
),
|
||||
Linux(slug="almalinux-9", display_name="Alma Linux 9", arch="x86_64"),
|
||||
Linux(
|
||||
slug="almalinux-9-arm64",
|
||||
display_name="Alma Linux 9 Arm64",
|
||||
arch="arm64",
|
||||
),
|
||||
Linux(
|
||||
slug="amazonlinux-2", display_name="Amazon Linux 2", arch="x86_64"
|
||||
),
|
||||
Linux(
|
||||
slug="amazonlinux-2-arm64",
|
||||
display_name="Amazon Linux 2 Arm64",
|
||||
arch="arm64",
|
||||
),
|
||||
Linux(
|
||||
slug="amazonlinux-2023",
|
||||
display_name="Amazon Linux 2023",
|
||||
arch="x86_64",
|
||||
),
|
||||
Linux(
|
||||
slug="amazonlinux-2023-arm64",
|
||||
display_name="Amazon Linux 2023 Arm64",
|
||||
arch="arm64",
|
||||
),
|
||||
Linux(
|
||||
slug="archlinux-lts", display_name="Arch Linux LTS", arch="x86_64"
|
||||
),
|
||||
Linux(slug="centos-7", display_name="CentOS 7", arch="x86_64"),
|
||||
Linux(slug="debian-10", display_name="Debian 10", arch="x86_64"),
|
||||
Linux(slug="debian-11", display_name="Debian 11", arch="x86_64"),
|
||||
Linux(
|
||||
slug="debian-11-arm64", display_name="Debian 11 Arm64", arch="arm64"
|
||||
),
|
||||
Linux(slug="debian-12", display_name="Debian 12", arch="x86_64"),
|
||||
Linux(
|
||||
slug="debian-12-arm64", display_name="Debian 12 Arm64", arch="arm64"
|
||||
),
|
||||
Linux(slug="fedora-39", display_name="Fedora 39", arch="x86_64"),
|
||||
Linux(slug="opensuse-15", display_name="Opensuse 15", arch="x86_64"),
|
||||
Linux(
|
||||
slug="photonos-4",
|
||||
display_name="Photon OS 4",
|
||||
arch="x86_64",
|
||||
fips=True,
|
||||
),
|
||||
Linux(
|
||||
slug="photonos-4-arm64",
|
||||
display_name="Photon OS 4 Arm64",
|
||||
arch="arm64",
|
||||
fips=True,
|
||||
),
|
||||
Linux(
|
||||
slug="photonos-5",
|
||||
display_name="Photon OS 5",
|
||||
arch="x86_64",
|
||||
fips=True,
|
||||
),
|
||||
Linux(
|
||||
slug="photonos-5-arm64",
|
||||
display_name="Photon OS 5 Arm64",
|
||||
arch="arm64",
|
||||
fips=True,
|
||||
),
|
||||
Linux(slug="ubuntu-20.04", display_name="Ubuntu 20.04", arch="x86_64"),
|
||||
Linux(
|
||||
slug="ubuntu-20.04-arm64",
|
||||
display_name="Ubuntu 20.04 Arm64",
|
||||
arch="arm64",
|
||||
),
|
||||
Linux(slug="ubuntu-22.04", display_name="Ubuntu 22.04", arch="x86_64"),
|
||||
Linux(
|
||||
slug="ubuntu-22.04-arm64",
|
||||
display_name="Ubuntu 22.04 Arm64",
|
||||
arch="arm64",
|
||||
),
|
||||
],
|
||||
"macos": [
|
||||
MacOS(slug="macos-12", display_name="macOS 12", arch="x86_64"),
|
||||
MacOS(slug="macos-13", display_name="macOS 13", arch="x86_64"),
|
||||
MacOS(
|
||||
slug="macos-13-arm64",
|
||||
display_name="macOS 13 Arm64",
|
||||
arch="arm64",
|
||||
runner="macos-13-xlarge",
|
||||
),
|
||||
],
|
||||
"windows": [
|
||||
Windows(slug="windows-2016", display_name="Windows 2016", arch="amd64"),
|
||||
Windows(slug="windows-2019", display_name="Windows 2019", arch="amd64"),
|
||||
Windows(slug="windows-2022", display_name="Windows 2022", arch="amd64"),
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
test_salt_pkg_listing = {
|
||||
"linux": [
|
||||
("almalinux-8", "Alma Linux 8", "x86_64", "rpm", "no-fips"),
|
||||
("almalinux-8-arm64", "Alma Linux 8 Arm64", "arm64", "rpm", "no-fips"),
|
||||
("almalinux-9", "Alma Linux 9", "x86_64", "rpm", "no-fips"),
|
||||
("almalinux-9-arm64", "Alma Linux 9 Arm64", "arm64", "rpm", "no-fips"),
|
||||
("amazonlinux-2", "Amazon Linux 2", "x86_64", "rpm", "no-fips"),
|
||||
(
|
||||
"amazonlinux-2-arm64",
|
||||
"Amazon Linux 2 Arm64",
|
||||
"arm64",
|
||||
"rpm",
|
||||
"no-fips",
|
||||
),
|
||||
("amazonlinux-2023", "Amazon Linux 2023", "x86_64", "rpm", "no-fips"),
|
||||
(
|
||||
"amazonlinux-2023-arm64",
|
||||
"Amazon Linux 2023 Arm64",
|
||||
"arm64",
|
||||
"rpm",
|
||||
"no-fips",
|
||||
),
|
||||
("centos-7", "CentOS 7", "x86_64", "rpm", "no-fips"),
|
||||
("debian-10", "Debian 10", "x86_64", "deb", "no-fips"),
|
||||
("debian-11", "Debian 11", "x86_64", "deb", "no-fips"),
|
||||
("debian-11-arm64", "Debian 11 Arm64", "arm64", "deb", "no-fips"),
|
||||
("debian-12", "Debian 12", "x86_64", "deb", "no-fips"),
|
||||
("debian-12-arm64", "Debian 12 Arm64", "arm64", "deb", "no-fips"),
|
||||
("photonos-4", "Photon OS 4", "x86_64", "rpm", "fips"),
|
||||
("photonos-4-arm64", "Photon OS 4 Arm64", "arm64", "rpm", "fips"),
|
||||
("photonos-5", "Photon OS 5", "x86_64", "rpm", "fips"),
|
||||
("photonos-5-arm64", "Photon OS 5 Arm64", "arm64", "rpm", "fips"),
|
||||
("ubuntu-20.04", "Ubuntu 20.04", "x86_64", "deb", "no-fips"),
|
||||
("ubuntu-20.04-arm64", "Ubuntu 20.04 Arm64", "arm64", "deb", "no-fips"),
|
||||
("ubuntu-22.04", "Ubuntu 22.04", "x86_64", "deb", "no-fips"),
|
||||
("ubuntu-22.04-arm64", "Ubuntu 22.04 Arm64", "arm64", "deb", "no-fips"),
|
||||
],
|
||||
"macos": [
|
||||
("macos-12", "macOS 12", "x86_64"),
|
||||
("macos-13", "macOS 13", "x86_64"),
|
||||
("macos-13-xlarge", "macOS 13 Arm64", "arm64"),
|
||||
],
|
||||
"windows": [
|
||||
("windows-2016", "Windows 2016", "amd64"),
|
||||
("windows-2019", "Windows 2019", "amd64"),
|
||||
("windows-2022", "Windows 2022", "amd64"),
|
||||
],
|
||||
}
|
||||
test_salt_pkg_listing = PlatformDefinitions(
|
||||
{
|
||||
"linux": [
|
||||
Linux(
|
||||
slug="almalinux-8",
|
||||
display_name="Alma Linux 8",
|
||||
arch="x86_64",
|
||||
pkg_type="rpm",
|
||||
),
|
||||
Linux(
|
||||
slug="almalinux-8-arm64",
|
||||
display_name="Alma Linux 8 Arm64",
|
||||
arch="arm64",
|
||||
pkg_type="rpm",
|
||||
),
|
||||
Linux(
|
||||
slug="almalinux-9",
|
||||
display_name="Alma Linux 9",
|
||||
arch="x86_64",
|
||||
pkg_type="rpm",
|
||||
),
|
||||
Linux(
|
||||
slug="almalinux-9-arm64",
|
||||
display_name="Alma Linux 9 Arm64",
|
||||
arch="arm64",
|
||||
pkg_type="rpm",
|
||||
),
|
||||
Linux(
|
||||
slug="amazonlinux-2",
|
||||
display_name="Amazon Linux 2",
|
||||
arch="x86_64",
|
||||
pkg_type="rpm",
|
||||
),
|
||||
Linux(
|
||||
slug="amazonlinux-2-arm64",
|
||||
display_name="Amazon Linux 2 Arm64",
|
||||
arch="arm64",
|
||||
pkg_type="rpm",
|
||||
),
|
||||
Linux(
|
||||
slug="amazonlinux-2023",
|
||||
display_name="Amazon Linux 2023",
|
||||
arch="x86_64",
|
||||
pkg_type="rpm",
|
||||
),
|
||||
Linux(
|
||||
slug="amazonlinux-2023-arm64",
|
||||
display_name="Amazon Linux 2023 Arm64",
|
||||
arch="arm64",
|
||||
pkg_type="rpm",
|
||||
),
|
||||
Linux(
|
||||
slug="centos-7",
|
||||
display_name="CentOS 7",
|
||||
arch="x86_64",
|
||||
pkg_type="rpm",
|
||||
),
|
||||
Linux(
|
||||
slug="debian-10",
|
||||
display_name="Debian 10",
|
||||
arch="x86_64",
|
||||
pkg_type="deb",
|
||||
),
|
||||
Linux(
|
||||
slug="debian-11",
|
||||
display_name="Debian 11",
|
||||
arch="x86_64",
|
||||
pkg_type="deb",
|
||||
),
|
||||
Linux(
|
||||
slug="debian-11-arm64",
|
||||
display_name="Debian 11 Arm64",
|
||||
arch="arm64",
|
||||
pkg_type="deb",
|
||||
),
|
||||
Linux(
|
||||
slug="debian-12",
|
||||
display_name="Debian 12",
|
||||
arch="x86_64",
|
||||
pkg_type="deb",
|
||||
),
|
||||
Linux(
|
||||
slug="debian-12-arm64",
|
||||
display_name="Debian 12 Arm64",
|
||||
arch="arm64",
|
||||
pkg_type="deb",
|
||||
),
|
||||
Linux(
|
||||
slug="photonos-4",
|
||||
display_name="Photon OS 4",
|
||||
arch="x86_64",
|
||||
pkg_type="rpm",
|
||||
fips=True,
|
||||
),
|
||||
Linux(
|
||||
slug="photonos-4-arm64",
|
||||
display_name="Photon OS 4 Arm64",
|
||||
arch="arm64",
|
||||
pkg_type="rpm",
|
||||
fips=True,
|
||||
),
|
||||
Linux(
|
||||
slug="photonos-5",
|
||||
display_name="Photon OS 5",
|
||||
arch="x86_64",
|
||||
pkg_type="rpm",
|
||||
fips=True,
|
||||
),
|
||||
Linux(
|
||||
slug="photonos-5-arm64",
|
||||
display_name="Photon OS 5 Arm64",
|
||||
arch="arm64",
|
||||
pkg_type="rpm",
|
||||
fips=True,
|
||||
),
|
||||
Linux(
|
||||
slug="ubuntu-20.04",
|
||||
display_name="Ubuntu 20.04",
|
||||
arch="x86_64",
|
||||
pkg_type="deb",
|
||||
),
|
||||
Linux(
|
||||
slug="ubuntu-20.04-arm64",
|
||||
display_name="Ubuntu 20.04 Arm64",
|
||||
arch="arm64",
|
||||
pkg_type="deb",
|
||||
),
|
||||
Linux(
|
||||
slug="ubuntu-22.04",
|
||||
display_name="Ubuntu 22.04",
|
||||
arch="x86_64",
|
||||
pkg_type="deb",
|
||||
),
|
||||
Linux(
|
||||
slug="ubuntu-22.04-arm64",
|
||||
display_name="Ubuntu 22.04 Arm64",
|
||||
arch="arm64",
|
||||
pkg_type="deb",
|
||||
),
|
||||
],
|
||||
"macos": [
|
||||
MacOS(slug="macos-12", display_name="macOS 12", arch="x86_64"),
|
||||
MacOS(slug="macos-13", display_name="macOS 13", arch="x86_64"),
|
||||
MacOS(
|
||||
slug="macos-13-arm64",
|
||||
display_name="macOS 13 Arm64",
|
||||
arch="arm64",
|
||||
runner="macos-13-xlarge",
|
||||
),
|
||||
],
|
||||
"windows": [
|
||||
Windows(
|
||||
slug="windows-2016",
|
||||
display_name="Windows 2016",
|
||||
arch="amd64",
|
||||
pkg_type="NSIS",
|
||||
),
|
||||
Windows(
|
||||
slug="windows-2016",
|
||||
display_name="Windows 2016",
|
||||
arch="amd64",
|
||||
pkg_type="MSI",
|
||||
),
|
||||
Windows(
|
||||
slug="windows-2019",
|
||||
display_name="Windows 2019",
|
||||
arch="amd64",
|
||||
pkg_type="NSIS",
|
||||
),
|
||||
Windows(
|
||||
slug="windows-2019",
|
||||
display_name="Windows 2019",
|
||||
arch="amd64",
|
||||
pkg_type="MSI",
|
||||
),
|
||||
Windows(
|
||||
slug="windows-2022",
|
||||
display_name="Windows 2022",
|
||||
arch="amd64",
|
||||
pkg_type="NSIS",
|
||||
),
|
||||
Windows(
|
||||
slug="windows-2022",
|
||||
display_name="Windows 2022",
|
||||
arch="amd64",
|
||||
pkg_type="MSI",
|
||||
),
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
build_ci_deps_listing = {
|
||||
"linux": [
|
||||
|
@ -187,17 +405,19 @@ def generate_workflows(ctx: Context):
|
|||
],
|
||||
"macos": [
|
||||
("x86_64", "macos-12"),
|
||||
("arm64", "macos-13-xlarge"),
|
||||
("arm64", "macos-13-arm64"),
|
||||
],
|
||||
"windows": [
|
||||
("amd64", "windows-2022"),
|
||||
],
|
||||
}
|
||||
test_salt_pkg_downloads_listing: dict[str, list[tuple[str, str, str]]] = {
|
||||
"linux": [],
|
||||
"macos": [],
|
||||
"windows": [],
|
||||
}
|
||||
test_salt_pkg_downloads_listing = PlatformDefinitions(
|
||||
{
|
||||
"linux": [],
|
||||
"macos": [],
|
||||
"windows": [],
|
||||
}
|
||||
)
|
||||
rpm_slugs = (
|
||||
"almalinux",
|
||||
"amazonlinux",
|
||||
|
@ -220,23 +440,62 @@ def generate_workflows(ctx: Context):
|
|||
if slug.startswith(rpm_slugs) and arch == "arm64":
|
||||
# While we maintain backwards compatible urls
|
||||
test_salt_pkg_downloads_listing["linux"].append(
|
||||
(slug, "aarch64", "package")
|
||||
Linux(
|
||||
slug=slug,
|
||||
arch="aarch64",
|
||||
pkg_type="package",
|
||||
)
|
||||
)
|
||||
test_salt_pkg_downloads_listing["linux"].append((slug, arch, "package"))
|
||||
test_salt_pkg_downloads_listing["linux"].append(
|
||||
Linux(
|
||||
slug=slug,
|
||||
arch=arch,
|
||||
pkg_type="package",
|
||||
)
|
||||
)
|
||||
if slug.startswith("ubuntu-22"):
|
||||
test_salt_pkg_downloads_listing["linux"].append((slug, arch, "onedir"))
|
||||
for slug, display_name, arch in test_salt_listing["macos"]:
|
||||
test_salt_pkg_downloads_listing["macos"].append((slug, arch, "package"))
|
||||
for slug, display_name, arch in test_salt_listing["macos"][-1:]:
|
||||
test_salt_pkg_downloads_listing["macos"].append((slug, arch, "onedir"))
|
||||
for slug, display_name, arch in test_salt_listing["windows"][-1:]:
|
||||
test_salt_pkg_downloads_listing["linux"].append(
|
||||
Linux(
|
||||
slug=slug,
|
||||
arch=arch,
|
||||
pkg_type="onedir",
|
||||
)
|
||||
)
|
||||
for mac in test_salt_listing["macos"]:
|
||||
test_salt_pkg_downloads_listing["macos"].append(
|
||||
MacOS(
|
||||
slug=mac.slug,
|
||||
arch=mac.arch,
|
||||
display_name=mac.display_name,
|
||||
pkg_type="package",
|
||||
runner=mac.runner,
|
||||
)
|
||||
)
|
||||
for mac in test_salt_listing["macos"][-1:]:
|
||||
test_salt_pkg_downloads_listing["macos"].append(
|
||||
MacOS(
|
||||
slug=mac.slug,
|
||||
arch=mac.arch,
|
||||
display_name=mac.display_name,
|
||||
pkg_type="onedir",
|
||||
runner=mac.runner,
|
||||
)
|
||||
)
|
||||
for win in test_salt_listing["windows"][-1:]:
|
||||
for pkg_type in ("nsis", "msi", "onedir"):
|
||||
test_salt_pkg_downloads_listing["windows"].append((slug, arch, pkg_type))
|
||||
test_salt_pkg_downloads_listing["windows"].append(
|
||||
Windows(
|
||||
slug=win.slug,
|
||||
arch=win.arch,
|
||||
display_name=win.display_name,
|
||||
pkg_type=pkg_type,
|
||||
)
|
||||
)
|
||||
|
||||
test_salt_pkg_downloads_needs_slugs = set()
|
||||
for platform in test_salt_pkg_downloads_listing:
|
||||
for _, arch, _ in test_salt_pkg_downloads_listing[platform]:
|
||||
test_salt_pkg_downloads_needs_slugs.add("build-ci-deps")
|
||||
test_salt_pkg_downloads_needs_slugs = {"build-ci-deps"}
|
||||
# for platform in test_salt_pkg_downloads_listing:
|
||||
# for _, arch, _ in test_salt_pkg_downloads_listing[platform]:
|
||||
# test_salt_pkg_downloads_needs_slugs.add("build-ci-deps")
|
||||
|
||||
build_rpms_listing = []
|
||||
rpm_os_versions: dict[str, list[str]] = {
|
||||
|
|
|
@ -10,6 +10,7 @@ import sys
|
|||
from enum import IntEnum
|
||||
from functools import cache
|
||||
|
||||
import attr
|
||||
import packaging.version
|
||||
import yaml
|
||||
from ptscripts import Context
|
||||
|
@ -37,6 +38,36 @@ class ExitCode(IntEnum):
|
|||
SOFT_FAIL = 2
|
||||
|
||||
|
||||
@attr.s(frozen=True, slots=True)
|
||||
class OS:
|
||||
platform: str = attr.ib()
|
||||
slug: str = attr.ib()
|
||||
display_name: str = attr.ib(default=None)
|
||||
arch: str = attr.ib(default=None)
|
||||
pkg_type: str = attr.ib(default=None)
|
||||
|
||||
|
||||
@attr.s(frozen=True, slots=True)
|
||||
class Linux(OS):
|
||||
platform: str = attr.ib(default="linux")
|
||||
fips: bool = attr.ib(default=False)
|
||||
|
||||
|
||||
@attr.s(frozen=True, slots=True)
|
||||
class MacOS(OS):
|
||||
runner: str = attr.ib()
|
||||
platform: str = attr.ib(default="macos")
|
||||
|
||||
@runner.default
|
||||
def _default_runner(self):
|
||||
return self.slug
|
||||
|
||||
|
||||
@attr.s(frozen=True, slots=True)
|
||||
class Windows(OS):
|
||||
platform: str = attr.ib(default="windows")
|
||||
|
||||
|
||||
def create_progress_bar(file_progress: bool = False, **kwargs):
|
||||
if file_progress:
|
||||
return Progress(
|
||||
|
|
Loading…
Add table
Reference in a new issue