diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f311fa76b62..18ca2dd740a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1619,6 +1619,7 @@ jobs: skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }} skip-junit-reports: ${{ github.event_name == 'pull_request' }} testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-4-arm64-pkg-tests: name: Photon OS 4 Arm64 Package Test @@ -1641,6 +1642,7 @@ jobs: skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }} skip-junit-reports: ${{ github.event_name == 'pull_request' }} testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-5-pkg-tests: name: Photon OS 5 Package Test @@ -1663,9 +1665,10 @@ jobs: skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }} skip-junit-reports: ${{ github.event_name == 'pull_request' }} testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-5-arm64-pkg-tests: - name: Photon OS 4 Arm64 Package Test + 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 @@ -1685,28 +1688,6 @@ jobs: skip-code-coverage: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }} skip-junit-reports: ${{ github.event_name == 'pull_request' }} testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} - - photonos-4-pkg-tests-fips: - name: Photon OS 4 Package Test(FIPS) - if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} - needs: - - prepare-workflow - - build-rpm-pkgs-onedir - - photonos-4-ci-deps - uses: ./.github/workflows/test-packages-action.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: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }} - skip-junit-reports: ${{ github.event_name == 'pull_request' }} - testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} fips: true ubuntu-2004-pkg-tests: @@ -2500,6 +2481,7 @@ jobs: skip-junit-reports: ${{ github.event_name == 'pull_request' }} workflow-slug: ci default-timeout: 180 + fips: true photonos-4-arm64: name: Photon OS 4 Arm64 Test @@ -2522,6 +2504,7 @@ jobs: skip-junit-reports: ${{ github.event_name == 'pull_request' }} workflow-slug: ci default-timeout: 180 + fips: true photonos-5: name: Photon OS 5 Test @@ -2544,6 +2527,7 @@ jobs: skip-junit-reports: ${{ github.event_name == 'pull_request' }} workflow-slug: ci default-timeout: 180 + fips: true photonos-5-arm64: name: Photon OS 5 Arm64 Test @@ -2566,6 +2550,7 @@ jobs: skip-junit-reports: ${{ github.event_name == 'pull_request' }} workflow-slug: ci default-timeout: 180 + fips: true ubuntu-2004: name: Ubuntu 20.04 Test @@ -2655,29 +2640,6 @@ jobs: workflow-slug: ci default-timeout: 180 - photonos-4-fips: - name: Photon OS 4 Test(FIPS) - if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} - needs: - - prepare-workflow - - photonos-4-ci-deps - uses: ./.github/workflows/test-action.yml - with: - distro-slug: photonos-4 - nox-session: ci-test-onedir - platform: linux - arch: x86_64 - nox-version: 2022.8.7 - 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: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }} - skip-junit-reports: ${{ github.event_name == 'pull_request' }} - workflow-slug: ci - default-timeout: 180 - fips: true - combine-all-code-coverage: name: Combine Code Coverage if: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] == false }} @@ -2755,7 +2717,6 @@ jobs: - ubuntu-2004-arm64 - ubuntu-2204 - ubuntu-2204-arm64 - - photonos-4-fips steps: - uses: actions/checkout@v4 @@ -2952,7 +2913,6 @@ jobs: - ubuntu-2004-arm64 - ubuntu-2204 - ubuntu-2204-arm64 - - photonos-4-fips - amazonlinux-2-pkg-tests - amazonlinux-2-arm64-pkg-tests - amazonlinux-2023-pkg-tests @@ -2971,7 +2931,6 @@ jobs: - photonos-4-arm64-pkg-tests - photonos-5-pkg-tests - photonos-5-arm64-pkg-tests - - photonos-4-pkg-tests-fips - ubuntu-2004-pkg-tests - ubuntu-2004-arm64-pkg-tests - ubuntu-2204-pkg-tests diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index cdb0f2ef654..00fec20dc09 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -1680,6 +1680,7 @@ jobs: skip-code-coverage: false skip-junit-reports: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-4-arm64-pkg-tests: name: Photon OS 4 Arm64 Package Test @@ -1702,6 +1703,7 @@ jobs: skip-code-coverage: false skip-junit-reports: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-5-pkg-tests: name: Photon OS 5 Package Test @@ -1724,9 +1726,10 @@ jobs: skip-code-coverage: false skip-junit-reports: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-5-arm64-pkg-tests: - name: Photon OS 4 Arm64 Package Test + 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 @@ -1746,28 +1749,6 @@ jobs: skip-code-coverage: false skip-junit-reports: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} - - photonos-4-pkg-tests-fips: - name: Photon OS 4 Package Test(FIPS) - if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} - needs: - - prepare-workflow - - build-rpm-pkgs-onedir - - photonos-4-ci-deps - uses: ./.github/workflows/test-packages-action.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 - skip-junit-reports: false - testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} fips: true ubuntu-2004-pkg-tests: @@ -2561,6 +2542,7 @@ jobs: skip-junit-reports: false workflow-slug: nightly default-timeout: 360 + fips: true photonos-4-arm64: name: Photon OS 4 Arm64 Test @@ -2583,6 +2565,7 @@ jobs: skip-junit-reports: false workflow-slug: nightly default-timeout: 360 + fips: true photonos-5: name: Photon OS 5 Test @@ -2605,6 +2588,7 @@ jobs: skip-junit-reports: false workflow-slug: nightly default-timeout: 360 + fips: true photonos-5-arm64: name: Photon OS 5 Arm64 Test @@ -2627,6 +2611,7 @@ jobs: skip-junit-reports: false workflow-slug: nightly default-timeout: 360 + fips: true ubuntu-2004: name: Ubuntu 20.04 Test @@ -2716,29 +2701,6 @@ jobs: workflow-slug: nightly default-timeout: 360 - photonos-4-fips: - name: Photon OS 4 Test(FIPS) - if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} - needs: - - prepare-workflow - - photonos-4-ci-deps - uses: ./.github/workflows/test-action.yml - with: - distro-slug: photonos-4 - nox-session: ci-test-onedir - platform: linux - arch: x86_64 - nox-version: 2022.8.7 - 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 - skip-junit-reports: false - workflow-slug: nightly - default-timeout: 360 - fips: true - combine-all-code-coverage: name: Combine Code Coverage if: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] == false }} @@ -2816,7 +2778,6 @@ jobs: - ubuntu-2004-arm64 - ubuntu-2204 - ubuntu-2204-arm64 - - photonos-4-fips steps: - uses: actions/checkout@v4 @@ -3712,7 +3673,6 @@ jobs: - ubuntu-2004-arm64 - ubuntu-2204 - ubuntu-2204-arm64 - - photonos-4-fips steps: - uses: actions/checkout@v4 @@ -3792,7 +3752,6 @@ jobs: - photonos-4-arm64-pkg-tests - photonos-5-pkg-tests - photonos-5-arm64-pkg-tests - - photonos-4-pkg-tests-fips - ubuntu-2004-pkg-tests - ubuntu-2004-arm64-pkg-tests - ubuntu-2204-pkg-tests diff --git a/.github/workflows/scheduled.yml b/.github/workflows/scheduled.yml index af0b7200770..47e76e06312 100644 --- a/.github/workflows/scheduled.yml +++ b/.github/workflows/scheduled.yml @@ -1653,6 +1653,7 @@ jobs: skip-code-coverage: false skip-junit-reports: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-4-arm64-pkg-tests: name: Photon OS 4 Arm64 Package Test @@ -1675,6 +1676,7 @@ jobs: skip-code-coverage: false skip-junit-reports: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-5-pkg-tests: name: Photon OS 5 Package Test @@ -1697,9 +1699,10 @@ jobs: skip-code-coverage: false skip-junit-reports: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-5-arm64-pkg-tests: - name: Photon OS 4 Arm64 Package Test + 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 @@ -1719,28 +1722,6 @@ jobs: skip-code-coverage: false skip-junit-reports: false testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} - - photonos-4-pkg-tests-fips: - name: Photon OS 4 Package Test(FIPS) - if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} - needs: - - prepare-workflow - - build-rpm-pkgs-onedir - - photonos-4-ci-deps - uses: ./.github/workflows/test-packages-action.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 - skip-junit-reports: false - testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} fips: true ubuntu-2004-pkg-tests: @@ -2534,6 +2515,7 @@ jobs: skip-junit-reports: false workflow-slug: scheduled default-timeout: 360 + fips: true photonos-4-arm64: name: Photon OS 4 Arm64 Test @@ -2556,6 +2538,7 @@ jobs: skip-junit-reports: false workflow-slug: scheduled default-timeout: 360 + fips: true photonos-5: name: Photon OS 5 Test @@ -2578,6 +2561,7 @@ jobs: skip-junit-reports: false workflow-slug: scheduled default-timeout: 360 + fips: true photonos-5-arm64: name: Photon OS 5 Arm64 Test @@ -2600,6 +2584,7 @@ jobs: skip-junit-reports: false workflow-slug: scheduled default-timeout: 360 + fips: true ubuntu-2004: name: Ubuntu 20.04 Test @@ -2689,29 +2674,6 @@ jobs: workflow-slug: scheduled default-timeout: 360 - photonos-4-fips: - name: Photon OS 4 Test(FIPS) - if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} - needs: - - prepare-workflow - - photonos-4-ci-deps - uses: ./.github/workflows/test-action.yml - with: - distro-slug: photonos-4 - nox-session: ci-test-onedir - platform: linux - arch: x86_64 - nox-version: 2022.8.7 - 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 - skip-junit-reports: false - workflow-slug: scheduled - default-timeout: 360 - fips: true - combine-all-code-coverage: name: Combine Code Coverage if: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] == false }} @@ -2789,7 +2751,6 @@ jobs: - ubuntu-2004-arm64 - ubuntu-2204 - ubuntu-2204-arm64 - - photonos-4-fips steps: - uses: actions/checkout@v4 @@ -2988,7 +2949,6 @@ jobs: - ubuntu-2004-arm64 - ubuntu-2204 - ubuntu-2204-arm64 - - photonos-4-fips - amazonlinux-2-pkg-tests - amazonlinux-2-arm64-pkg-tests - amazonlinux-2023-pkg-tests @@ -3007,7 +2967,6 @@ jobs: - photonos-4-arm64-pkg-tests - photonos-5-pkg-tests - photonos-5-arm64-pkg-tests - - photonos-4-pkg-tests-fips - ubuntu-2004-pkg-tests - ubuntu-2004-arm64-pkg-tests - ubuntu-2204-pkg-tests diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml index c894a7fdcf4..c2a5ac7469d 100644 --- a/.github/workflows/staging.yml +++ b/.github/workflows/staging.yml @@ -1675,6 +1675,7 @@ jobs: skip-code-coverage: true skip-junit-reports: true testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-4-arm64-pkg-tests: name: Photon OS 4 Arm64 Package Test @@ -1697,6 +1698,7 @@ jobs: skip-code-coverage: true skip-junit-reports: true testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-5-pkg-tests: name: Photon OS 5 Package Test @@ -1719,9 +1721,10 @@ jobs: skip-code-coverage: true skip-junit-reports: true testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} + fips: true photonos-5-arm64-pkg-tests: - name: Photon OS 4 Arm64 Package Test + 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 @@ -1741,28 +1744,6 @@ jobs: skip-code-coverage: true skip-junit-reports: true testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} - - photonos-4-pkg-tests-fips: - name: Photon OS 4 Package Test(FIPS) - if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} - needs: - - prepare-workflow - - build-rpm-pkgs-onedir - - photonos-4-ci-deps - uses: ./.github/workflows/test-packages-action.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: true - skip-junit-reports: true - testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }} fips: true ubuntu-2004-pkg-tests: @@ -2556,6 +2537,7 @@ jobs: skip-junit-reports: true workflow-slug: staging default-timeout: 180 + fips: true photonos-4-arm64: name: Photon OS 4 Arm64 Test @@ -2578,6 +2560,7 @@ jobs: skip-junit-reports: true workflow-slug: staging default-timeout: 180 + fips: true photonos-5: name: Photon OS 5 Test @@ -2600,6 +2583,7 @@ jobs: skip-junit-reports: true workflow-slug: staging default-timeout: 180 + fips: true photonos-5-arm64: name: Photon OS 5 Arm64 Test @@ -2622,6 +2606,7 @@ jobs: skip-junit-reports: true workflow-slug: staging default-timeout: 180 + fips: true ubuntu-2004: name: Ubuntu 20.04 Test @@ -2711,29 +2696,6 @@ jobs: workflow-slug: staging default-timeout: 180 - photonos-4-fips: - name: Photon OS 4 Test(FIPS) - if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} - needs: - - prepare-workflow - - photonos-4-ci-deps - uses: ./.github/workflows/test-action.yml - with: - distro-slug: photonos-4 - nox-session: ci-test-onedir - platform: linux - arch: x86_64 - nox-version: 2022.8.7 - 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: true - skip-junit-reports: true - workflow-slug: staging - default-timeout: 180 - fips: true - build-src-repo: name: Build Repository environment: staging @@ -3690,7 +3652,6 @@ jobs: - ubuntu-2004-arm64 - ubuntu-2204 - ubuntu-2204-arm64 - - photonos-4-fips - amazonlinux-2-pkg-tests - amazonlinux-2-arm64-pkg-tests - amazonlinux-2023-pkg-tests @@ -3709,7 +3670,6 @@ jobs: - photonos-4-arm64-pkg-tests - photonos-5-pkg-tests - photonos-5-arm64-pkg-tests - - photonos-4-pkg-tests-fips - ubuntu-2004-pkg-tests - ubuntu-2004-arm64-pkg-tests - ubuntu-2204-pkg-tests diff --git a/.github/workflows/templates/test-salt-pkg.yml.jinja b/.github/workflows/templates/test-salt-pkg.yml.jinja index 43b736d5414..eb8b43d071f 100644 --- a/.github/workflows/templates/test-salt-pkg.yml.jinja +++ b/.github/workflows/templates/test-salt-pkg.yml.jinja @@ -1,13 +1,9 @@ <%- for slug, display_name, arch, pkg_type, fips in test_salt_pkg_listing["linux"] %> - <%- if fips == "fips" %> - <%- set job_name = "{}-pkg-tests-fips".format(slug.replace(".", "")) %> - <%- else %> - <%- set job_name = "{}-pkg-tests".format(slug.replace(".", "")) %> - <%- endif %> + <%- set job_name = "{}-pkg-tests".format(slug.replace(".", "")) %> <{ job_name }>: <%- do test_salt_pkg_needs.append(job_name) %> - name: <{ display_name }> Package Test<% if fips == "fips" %>(FIPS)<% endif %> + name: <{ display_name }> Package Test if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} needs: - prepare-workflow diff --git a/.github/workflows/templates/test-salt.yml.jinja b/.github/workflows/templates/test-salt.yml.jinja index a84d7e25aad..8e9ec9effde 100644 --- a/.github/workflows/templates/test-salt.yml.jinja +++ b/.github/workflows/templates/test-salt.yml.jinja @@ -59,17 +59,11 @@ <%- endfor %> - <%- for slug, display_name, arch, fips in test_salt_listing["linux"] %> - <%- if fips %> - <%- set job_name = slug + "-fips" %> - <%- else %> - <%- set job_name = slug %> - <%- endif %> - <{ job_name.replace(".", "") }>: - <%- do test_salt_needs.append(job_name.replace(".", "")) %> - name: <{ display_name }> Test<% if fips %>(FIPS)<% endif %> + <{ slug.replace(".", "") }>: + <%- do test_salt_needs.append(slug.replace(".", "")) %> + name: <{ display_name }> Test if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }} needs: - prepare-workflow @@ -89,7 +83,7 @@ skip-junit-reports: <{ skip_junit_reports_check }> workflow-slug: <{ workflow_slug }> default-timeout: <{ timeout_value }> - <%- if fips %> + <%- if fips == "fips" %> fips: true <%- endif %> diff --git a/.github/workflows/test-action.yml b/.github/workflows/test-action.yml index 3db429ae34a..b60a17af0a6 100644 --- a/.github/workflows/test-action.yml +++ b/.github/workflows/test-action.yml @@ -105,7 +105,7 @@ jobs: - name: Generate Test Matrix id: generate-matrix run: | - tools ci matrix --workflow=${{ inputs.workflow-slug }} ${{ fromJSON(inputs.testrun)['type'] == 'full' && '--full ' || '' }}${{ inputs.distro-slug }} + tools ci matrix --workflow=${{ inputs.workflow-slug }} ${{ fromJSON(inputs.testrun)['type'] == 'full' && '--full ' || '' }}${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} test: name: Test @@ -212,7 +212,7 @@ jobs: if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['fast'] == false }} run: | tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \ - --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ + --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ ${{ matrix.tests-chunk }} -- --suppress-no-test-exit-code \ --from-filenames=testrun-changed-files.txt @@ -221,7 +221,7 @@ jobs: if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['slow'] == false }} run: | tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \ - --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ + --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ ${{ matrix.tests-chunk }} -- --no-fast-tests --slow-tests --suppress-no-test-exit-code \ --from-filenames=testrun-changed-files.txt @@ -230,7 +230,7 @@ jobs: if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['core'] == false }} run: | tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \ - --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ + --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ ${{ matrix.tests-chunk }} -- --no-fast-tests --core-tests --suppress-no-test-exit-code \ --from-filenames=testrun-changed-files.txt @@ -240,14 +240,14 @@ jobs: run: | tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \ --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ (inputs.skip-code-coverage && matrix.tests-chunk != 'unit') && '--skip-code-coverage' || '' }} \ - ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} ${{ matrix.tests-chunk }} + ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} ${{ matrix.tests-chunk }} - name: Run Slow Tests id: run-slow-tests if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['slow'] }} run: | tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \ - --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ + --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ ${{ matrix.tests-chunk }} -- --no-fast-tests --slow-tests - name: Run Core Tests @@ -255,7 +255,7 @@ jobs: if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['core'] }} run: | tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \ - --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ + --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ ${{ matrix.tests-chunk }} -- --no-fast-tests --core-tests - name: Run Flaky Tests @@ -263,7 +263,7 @@ jobs: if: ${{ fromJSON(inputs.testrun)['selected_tests']['flaky'] }} run: | tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \ - --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ + --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ ${{ matrix.tests-chunk }} -- --no-fast-tests --flaky-jail - name: Run Full Tests @@ -272,7 +272,7 @@ jobs: run: | tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \ --nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ (inputs.skip-code-coverage && matrix.tests-chunk != 'unit') && '--skip-code-coverage' || '' }} \ - -E TEST_GROUP ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} ${{ matrix.tests-chunk }} -- --slow-tests --core-tests \ + -E TEST_GROUP ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} ${{ matrix.tests-chunk }} -- --slow-tests --core-tests \ --test-group-count=${{ matrix.test-group-count || 1 }} --test-group=${{ matrix.test-group || 1 }} - name: Combine Coverage Reports diff --git a/.github/workflows/test-packages-action-macos.yml b/.github/workflows/test-packages-action-macos.yml index 41048bd4e34..378adf90d1c 100644 --- a/.github/workflows/test-packages-action-macos.yml +++ b/.github/workflows/test-packages-action-macos.yml @@ -172,7 +172,7 @@ jobs: GITHUB_ACTIONS_PIPELINE: "1" SKIP_INITIAL_GH_ACTIONS_FAILURES: "1" run: | - sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.test-chunk }} \ + sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }} \ ${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}} - name: Run Package Tests @@ -186,7 +186,7 @@ jobs: SKIP_INITIAL_GH_ACTIONS_FAILURES: "1" COVERAGE_CONTEXT: ${{ inputs.distro-slug }} run: | - sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.test-chunk }} \ + sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }} \ ${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}} - name: Fix file ownership @@ -206,7 +206,7 @@ jobs: if: always() uses: actions/upload-artifact@v3 with: - name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.test-chunk }} + name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.tests-chunk }} path: | artifacts !artifacts/salt/* @@ -232,7 +232,7 @@ jobs: id: download-test-run-artifacts uses: actions/download-artifact@v3 with: - name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.test-chunk }} + name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.tests-chunk }} path: artifacts - name: Show Test Run Artifacts @@ -254,6 +254,6 @@ jobs: # always run even if the previous steps fails if: always() && inputs.skip-junit-reports == false && steps.download-test-run-artifacts.outcome == 'success' with: - check_name: Overall Test Results(${{ inputs.distro-slug }} ${{ matrix.test-chunk }}) + check_name: Overall Test Results(${{ inputs.distro-slug }} ${{ matrix.tests-chunk }}) report_paths: 'artifacts/xml-unittests-output/*.xml' annotate_only: true diff --git a/.github/workflows/test-packages-action.yml b/.github/workflows/test-packages-action.yml index 9c8a210ce00..0f80439d36d 100644 --- a/.github/workflows/test-packages-action.yml +++ b/.github/workflows/test-packages-action.yml @@ -99,7 +99,8 @@ jobs: - name: Generate Package Test Matrix id: generate-pkg-matrix run: | - tools ci pkg-matrix ${{ inputs.distro-slug }} ${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }} + tools ci pkg-matrix ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \ + ${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }} test: @@ -186,7 +187,7 @@ jobs: tools --timestamps vm decompress-dependencies ${{ inputs.distro-slug }} - name: Downgrade importlib-metadata - if: ${{ contains(fromJSON('["amazonlinux-2", "centos-7", "debian-10"]'), inputs.distro-slug) && contains(fromJSON('["upgrade-classic", "downgrade-classic"]'), matrix.test-chunk) }} + if: ${{ contains(fromJSON('["amazonlinux-2", "centos-7", "debian-10"]'), inputs.distro-slug) && contains(fromJSON('["upgrade-classic", "downgrade-classic"]'), matrix.tests-chunk) }} run: | # This step can go away once we stop testing classic packages upgrade/downgrades to/from 3005.x tools --timestamps vm ssh ${{ inputs.distro-slug }} -- "sudo python3 -m pip install -U 'importlib-metadata<=4.13.0' 'virtualenv<=20.21.1'" @@ -194,12 +195,13 @@ jobs: - name: Show System Info & Test Plan run: | tools --timestamps --timeout-secs=1800 vm testplan --skip-requirements-install \ - --nox-session=${{ inputs.nox-session }}-pkgs ${{ inputs.distro-slug }} -- ${{ matrix.test-chunk }} \ + --nox-session=${{ inputs.nox-session }}-pkgs ${{ inputs.distro-slug }} -- ${{ matrix.tests-chunk }} \ + ${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}} - name: Run Package Tests run: | - tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \ - --nox-session=${{ inputs.nox-session }}-pkgs --rerun-failures ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} -- ${{ matrix.test-chunk }} \ + tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install ${{ matrix.fips && '--fips ' || '' }}\ + --nox-session=${{ inputs.nox-session }}-pkgs --rerun-failures ${{ inputs.distro-slug }} -- ${{ matrix.tests-chunk }} \ ${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}} - name: Download Test Run Artifacts @@ -221,7 +223,7 @@ jobs: if: always() && steps.download-artifacts-from-vm.outcome == 'success' uses: actions/upload-artifact@v3 with: - name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.test-chunk }} + name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.tests-chunk }} path: | artifacts !artifacts/salt/* @@ -250,7 +252,7 @@ jobs: id: download-test-run-artifacts uses: actions/download-artifact@v3 with: - name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.test-chunk }} + name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.tests-chunk }} path: artifacts - name: Show Test Run Artifacts @@ -263,6 +265,6 @@ jobs: # always run even if the previous steps fails if: always() && inputs.skip-junit-reports == false && steps.download-test-run-artifacts.outcome == 'success' with: - check_name: Overall Test Results(${{ inputs.distro-slug }} ${{ matrix.test-chunk }}) + check_name: Overall Test Results(${{ inputs.distro-slug }} ${{ matrix.tests-chunk }}) report_paths: 'artifacts/xml-unittests-output/*.xml' annotate_only: true diff --git a/tools/ci.py b/tools/ci.py index 4e81f3e8411..59ef3e38db9 100644 --- a/tools/ci.py +++ b/tools/ci.py @@ -625,9 +625,18 @@ def define_testrun(ctx: Context, event_name: str, changed_files: pathlib.Path): "workflow": { "help": "Which workflow is running", }, + "fips": { + "help": "Include FIPS entries in the matrix", + }, }, ) -def matrix(ctx: Context, distro_slug: str, full: bool = False, workflow: str = "ci"): +def matrix( + ctx: Context, + distro_slug: str, + full: bool = False, + workflow: str = "ci", + fips: bool = False, +): """ Generate the test matrix. """ @@ -674,8 +683,22 @@ def matrix(ctx: Context, distro_slug: str, full: bool = False, workflow: str = " "test-group-count": splits, } ) + if ( + fips is True + and transport != "tcp" + and distro_slug.startswith(("photonos-4", "photonos-5")) + ): + # Repeat the last one, but with fips + _matrix.append({"fips": "fips", **_matrix[-1]}) else: _matrix.append({"transport": transport, "tests-chunk": chunk}) + if ( + fips is True + and transport != "tcp" + and distro_slug.startswith(("photonos-4", "photonos-5")) + ): + # Repeat the last one, but with fips + _matrix.append({"fips": "fips", **_matrix[-1]}) ctx.info("Generated matrix:") ctx.print(_matrix, soft_wrap=True) @@ -701,6 +724,9 @@ def matrix(ctx: Context, distro_slug: str, full: bool = False, workflow: str = " "nargs": "+", "required": True, }, + "fips": { + "help": "Include FIPS entries in the matrix", + }, }, ) def pkg_matrix( @@ -708,6 +734,7 @@ def pkg_matrix( distro_slug: str, pkg_type: str, testing_releases: list[tools.utils.Version] = None, + fips: bool = False, ): """ Generate the test matrix. @@ -836,10 +863,14 @@ def pkg_matrix( continue _matrix.append( { - "test-chunk": session, + "tests-chunk": session, "version": version, } ) + if fips is True and distro_slug.startswith(("photonos-4", "photonos-5")): + # Repeat the last one, but with fips + _matrix.append({"fips": "fips", **_matrix[-1]}) + ctx.info("Generated matrix:") ctx.print(_matrix, soft_wrap=True) diff --git a/tools/pre_commit.py b/tools/pre_commit.py index fad8ed6d2bc..9819b0717c0 100644 --- a/tools/pre_commit.py +++ b/tools/pre_commit.py @@ -86,34 +86,34 @@ def generate_workflows(ctx: Context): } test_salt_listing = { "linux": [ - ("almalinux-8", "Alma Linux 8", "x86_64"), - ("almalinux-9", "Alma Linux 9", "x86_64"), - ("amazonlinux-2", "Amazon Linux 2", "x86_64"), - ("amazonlinux-2-arm64", "Amazon Linux 2 Arm64", "aarch64"), - ("amazonlinux-2023", "Amazon Linux 2023", "x86_64"), - ("amazonlinux-2023-arm64", "Amazon Linux 2023 Arm64", "aarch64"), - ("archlinux-lts", "Arch Linux LTS", "x86_64"), - ("centos-7", "CentOS 7", "x86_64"), - ("centosstream-8", "CentOS Stream 8", "x86_64"), - ("centosstream-9", "CentOS Stream 9", "x86_64"), - ("debian-10", "Debian 10", "x86_64"), - ("debian-11", "Debian 11", "x86_64"), - ("debian-11-arm64", "Debian 11 Arm64", "aarch64"), - ("debian-12", "Debian 12", "x86_64"), - ("debian-12-arm64", "Debian 12 Arm64", "aarch64"), - ("fedora-37", "Fedora 37", "x86_64"), - ("fedora-38", "Fedora 38", "x86_64"), - ("opensuse-15", "Opensuse 15", "x86_64"), - ("photonos-3", "Photon OS 3", "x86_64"), - ("photonos-3-arm64", "Photon OS 3 Arm64", "aarch64"), - ("photonos-4", "Photon OS 4", "x86_64"), - ("photonos-4-arm64", "Photon OS 4 Arm64", "aarch64"), - ("photonos-5", "Photon OS 5", "x86_64"), - ("photonos-5-arm64", "Photon OS 5 Arm64", "aarch64"), - ("ubuntu-20.04", "Ubuntu 20.04", "x86_64"), - ("ubuntu-20.04-arm64", "Ubuntu 20.04 Arm64", "aarch64"), - ("ubuntu-22.04", "Ubuntu 22.04", "x86_64"), - ("ubuntu-22.04-arm64", "Ubuntu 22.04 Arm64", "aarch64"), + ("almalinux-8", "Alma Linux 8", "x86_64", "no-fips"), + ("almalinux-9", "Alma Linux 9", "x86_64", "no-fips"), + ("amazonlinux-2", "Amazon Linux 2", "x86_64", "no-fips"), + ("amazonlinux-2-arm64", "Amazon Linux 2 Arm64", "aarch64", "no-fips"), + ("amazonlinux-2023", "Amazon Linux 2023", "x86_64", "no-fips"), + ("amazonlinux-2023-arm64", "Amazon Linux 2023 Arm64", "aarch64", "no-fips"), + ("archlinux-lts", "Arch Linux LTS", "x86_64", "no-fips"), + ("centos-7", "CentOS 7", "x86_64", "no-fips"), + ("centosstream-8", "CentOS Stream 8", "x86_64", "no-fips"), + ("centosstream-9", "CentOS Stream 9", "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", "aarch64", "no-fips"), + ("debian-12", "Debian 12", "x86_64", "no-fips"), + ("debian-12-arm64", "Debian 12 Arm64", "aarch64", "no-fips"), + ("fedora-37", "Fedora 37", "x86_64", "no-fips"), + ("fedora-38", "Fedora 38", "x86_64", "no-fips"), + ("opensuse-15", "Opensuse 15", "x86_64", "no-fips"), + ("photonos-3", "Photon OS 3", "x86_64", "no-fips"), + ("photonos-3-arm64", "Photon OS 3 Arm64", "aarch64", "no-fips"), + ("photonos-4", "Photon OS 4", "x86_64", "fips"), + ("photonos-4-arm64", "Photon OS 4 Arm64", "aarch64", "fips"), + ("photonos-5", "Photon OS 5", "x86_64", "fips"), + ("photonos-5-arm64", "Photon OS 5 Arm64", "aarch64", "fips"), + ("ubuntu-20.04", "Ubuntu 20.04", "x86_64", "no-fips"), + ("ubuntu-20.04-arm64", "Ubuntu 20.04 Arm64", "aarch64", "no-fips"), + ("ubuntu-22.04", "Ubuntu 22.04", "x86_64", "no-fips"), + ("ubuntu-22.04-arm64", "Ubuntu 22.04 Arm64", "aarch64", "no-fips"), ], "macos": [ ("macos-12", "macOS 12", "x86_64"), @@ -124,12 +124,6 @@ def generate_workflows(ctx: Context): ("windows-2022", "Windows 2022", "amd64"), ], } - for idx, (slug, display_name, arch) in enumerate(test_salt_listing["linux"][:]): - fips = False - test_salt_listing["linux"][idx] = (slug, display_name, arch, fips) # type: ignore[assignment] - if slug == "photonos-4": - fips = True - test_salt_listing["linux"].append((slug, display_name, arch, fips)) # type: ignore[arg-type] test_salt_pkg_listing = { "linux": ( @@ -159,11 +153,10 @@ def generate_workflows(ctx: Context): ("debian-12-arm64", "Debian 12 Arm64", "aarch64", "deb", "no-fips"), ("photonos-3", "Photon OS 3", "x86_64", "rpm", "no-fips"), ("photonos-3-arm64", "Photon OS 3 Arm64", "aarch64", "rpm", "no-fips"), - ("photonos-4", "Photon OS 4", "x86_64", "rpm", "no-fips"), - ("photonos-4-arm64", "Photon OS 4 Arm64", "aarch64", "rpm", "no-fips"), - ("photonos-5", "Photon OS 5", "x86_64", "rpm", "no-fips"), - ("photonos-5-arm64", "Photon OS 4 Arm64", "aarch64", "rpm", "no-fips"), ("photonos-4", "Photon OS 4", "x86_64", "rpm", "fips"), + ("photonos-4-arm64", "Photon OS 4 Arm64", "aarch64", "rpm", "fips"), + ("photonos-5", "Photon OS 5", "x86_64", "rpm", "fips"), + ("photonos-5-arm64", "Photon OS 5 Arm64", "aarch64", "rpm", "fips"), ("ubuntu-20.04", "Ubuntu 20.04", "x86_64", "deb", "no-fips"), ("ubuntu-20.04-arm64", "Ubuntu 20.04 Arm64", "aarch64", "deb", "no-fips"), ("ubuntu-22.04", "Ubuntu 22.04", "x86_64", "deb", "no-fips"),