Allow skipping the package tests when staging a release

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
This commit is contained in:
Pedro Algarvio 2023-02-28 07:26:47 +00:00 committed by Pedro Algarvio
parent 5fb3323e84
commit 72939b2b39
4 changed files with 24 additions and 5 deletions

View file

@ -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: |

View file

@ -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: |

View file

@ -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 %>

View file

@ -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