diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml index a691bec3a2d..7905741b3e4 100644 --- a/.github/workflows/staging.yml +++ b/.github/workflows/staging.yml @@ -14,6 +14,10 @@ on: type: boolean default: false description: Skip running the Salt test suite. + skip-salt-pkg-test-suite: + type: boolean + default: false + description: Skip running the Salt packages test suite. env: COLUMNS: 190 @@ -197,7 +201,7 @@ jobs: - name: Define Jobs id: define-jobs run: | - tools ci define-jobs ${{ inputs.skip-salt-test-suite && '--skip-tests' || '' }} ${{ github.event_name }} changed-files.json + tools ci define-jobs${{ inputs.skip-salt-test-suite && ' --skip-tests' || '' }}${{ inputs.skip-salt-pkg-test-suite && ' --skip-pkg-tests' || '' }} ${{ github.event_name }} changed-files.json - name: Check Defined Jobs run: | diff --git a/.github/workflows/templates/layout.yml.jinja b/.github/workflows/templates/layout.yml.jinja index 4abfa914a15..274860b63e6 100644 --- a/.github/workflows/templates/layout.yml.jinja +++ b/.github/workflows/templates/layout.yml.jinja @@ -1,6 +1,7 @@ # Do not edit these workflows directly as the changes made will be overwritten. # Instead, edit the template '<{ template }>' <%- set prepare_workflow_skip_test_suite = prepare_workflow_skip_test_suite|default("") %> +<%- set prepare_workflow_skip_pkg_test_suite = prepare_workflow_skip_pkg_test_suite|default("") %> <%- set prepare_workflow_salt_version_input = prepare_workflow_salt_version_input|default("") %> <%- set python_version_linux = "3.10.10" %> <%- set python_version_macos = "3.10.10" %> @@ -212,7 +213,7 @@ jobs: - name: Define Jobs id: define-jobs run: | - tools ci define-jobs<{ prepare_workflow_skip_test_suite }> ${{ github.event_name }} changed-files.json + tools ci define-jobs<{ prepare_workflow_skip_test_suite }><{ prepare_workflow_skip_pkg_test_suite }> ${{ github.event_name }} changed-files.json - name: Check Defined Jobs run: | diff --git a/.github/workflows/templates/staging.yml.jinja b/.github/workflows/templates/staging.yml.jinja index 3f9deec9632..c9e39a87a9f 100644 --- a/.github/workflows/templates/staging.yml.jinja +++ b/.github/workflows/templates/staging.yml.jinja @@ -1,5 +1,6 @@ <%- set prepare_workflow_salt_version_input = "${{ inputs.salt-version }}" %> -<%- set prepare_workflow_skip_test_suite = " ${{ inputs.skip-salt-test-suite && '--skip-tests' || '' }}" %> +<%- set prepare_workflow_skip_test_suite = "${{ inputs.skip-salt-test-suite && ' --skip-tests' || '' }}" %> +<%- set prepare_workflow_skip_pkg_test_suite = "${{ inputs.skip-salt-pkg-test-suite && ' --skip-pkg-tests' || '' }}" %> <%- set gh_environment = "staging" %> <%- set prepare_actual_release = True %> <%- extends 'nightly.yml.jinja' %> @@ -17,6 +18,10 @@ on: type: boolean default: false description: Skip running the Salt test suite. + skip-salt-pkg-test-suite: + type: boolean + default: false + description: Skip running the Salt packages test suite. <%- endblock on %> diff --git a/tools/ci.py b/tools/ci.py index 56b7bff2bc9..c656f8cfa0c 100644 --- a/tools/ci.py +++ b/tools/ci.py @@ -223,6 +223,9 @@ def runner_types(ctx: Context, event_name: str): "skip_tests": { "help": "Skip running the Salt tests", }, + "skip_pkg_tests": { + "help": "Skip running the Salt Package tests", + }, "changed_files": { "help": ( "Path to '.json' file containing the payload of changed files " @@ -232,7 +235,11 @@ def runner_types(ctx: Context, event_name: str): }, ) def define_jobs( - ctx: Context, event_name: str, changed_files: pathlib.Path, skip_tests: bool = False + ctx: Context, + event_name: str, + changed_files: pathlib.Path, + skip_tests: bool = False, + skip_pkg_tests: bool = False, ): """ Set GH Actions 'jobs' output to know which jobs should run. @@ -267,6 +274,8 @@ def define_jobs( if skip_tests: jobs["test"] = False + if skip_pkg_tests: + jobs["test-pkg"] = False if event_name != "pull_request": # In this case, all defined jobs should run @@ -327,7 +336,7 @@ def define_jobs( required_pkg_test_changes: set[str] = { changed_files_contents["pkg_tests"], } - if required_pkg_test_changes == {"false"}: + if jobs["test-pkg"] and required_pkg_test_changes == {"false"}: with open(github_step_summary, "a", encoding="utf-8") as wfh: wfh.write("De-selecting the 'test-pkg' job.\n") jobs["test-pkg"] = False