mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Default to not running scheduled builds on forks.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
This commit is contained in:
parent
18f431ed0d
commit
5a0a0c919a
6 changed files with 116 additions and 2 deletions
29
.github/workflows/nightly.yml
vendored
29
.github/workflows/nightly.yml
vendored
|
@ -25,10 +25,33 @@ concurrency:
|
|||
|
||||
jobs:
|
||||
|
||||
workflow-requirements:
|
||||
name: Check Workflow Requirements
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
requirements-met: ${{ fromJSON(steps.check-requirements.outputs.requirements-met) }}
|
||||
steps:
|
||||
- name: Check Requirements
|
||||
id: check-requirements
|
||||
run: |
|
||||
if [ "${RUN_SCHEDULED_BUILDS}" -eq 1 ]; then
|
||||
echo "Running workflow because RUN_SCHEDULED_BUILDS=1"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
elif [ "${{ github.event.repository.fork }}" = "true" ]; then
|
||||
echo "Not running workflow because ${{ github.repository }} is a fork"
|
||||
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
|
||||
else
|
||||
echo "Running workflow because ${{ github.repository }} is not a fork"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
fi
|
||||
|
||||
trigger-branch-nightly-builds:
|
||||
name: Trigger Branch Schedule Workflows
|
||||
if: ${{ github.event_name == 'schedule' }}
|
||||
runs-on: ubuntu-latest
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
needs:
|
||||
- workflow-requirements
|
||||
steps:
|
||||
- name: Trigger 3006.x branch
|
||||
env:
|
||||
|
@ -39,6 +62,9 @@ jobs:
|
|||
prepare-workflow:
|
||||
name: Prepare Workflow Run
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ needs.workflow-requirements.outputs.requirements-met }}
|
||||
needs:
|
||||
- workflow-requirements
|
||||
outputs:
|
||||
jobs: ${{ steps.define-jobs.outputs.jobs }}
|
||||
runners: ${{ steps.runner-types.outputs.runners }}
|
||||
|
@ -1745,6 +1771,7 @@ jobs:
|
|||
if: always()
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- workflow-requirements
|
||||
- trigger-branch-nightly-builds
|
||||
- prepare-workflow
|
||||
- pre-commit
|
||||
|
|
24
.github/workflows/scheduled.yml
vendored
24
.github/workflows/scheduled.yml
vendored
|
@ -23,9 +23,32 @@ concurrency:
|
|||
|
||||
jobs:
|
||||
|
||||
workflow-requirements:
|
||||
name: Check Workflow Requirements
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
requirements-met: ${{ fromJSON(steps.check-requirements.outputs.requirements-met) }}
|
||||
steps:
|
||||
- name: Check Requirements
|
||||
id: check-requirements
|
||||
run: |
|
||||
if [ "${RUN_SCHEDULED_BUILDS}" -eq 1 ]; then
|
||||
echo "Running workflow because RUN_SCHEDULED_BUILDS=1"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
elif [ "${{ github.event.repository.fork }}" = "true" ]; then
|
||||
echo "Not running workflow because ${{ github.repository }} is a fork"
|
||||
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
|
||||
else
|
||||
echo "Running workflow because ${{ github.repository }} is not a fork"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
fi
|
||||
|
||||
prepare-workflow:
|
||||
name: Prepare Workflow Run
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ needs.workflow-requirements.outputs.requirements-met }}
|
||||
needs:
|
||||
- workflow-requirements
|
||||
outputs:
|
||||
jobs: ${{ steps.define-jobs.outputs.jobs }}
|
||||
runners: ${{ steps.runner-types.outputs.runners }}
|
||||
|
@ -1114,6 +1137,7 @@ jobs:
|
|||
if: always()
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- workflow-requirements
|
||||
- prepare-workflow
|
||||
- pre-commit
|
||||
- lint
|
||||
|
|
4
.github/workflows/templates/layout.yml.jinja
vendored
4
.github/workflows/templates/layout.yml.jinja
vendored
|
@ -1,5 +1,6 @@
|
|||
# Do not edit these workflows directly as the changes made will be overwritten.
|
||||
# Instead, edit the template '<{ template }>'
|
||||
<%- set prepare_workflow_if_check = prepare_workflow_if_check|default(False) %>
|
||||
<%- 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("") %>
|
||||
|
@ -63,6 +64,9 @@ jobs:
|
|||
prepare-workflow:
|
||||
name: Prepare Workflow Run
|
||||
runs-on: ubuntu-latest
|
||||
<%- if prepare_workflow_if_check %>
|
||||
if: <{ prepare_workflow_if_check }>
|
||||
<%- endif %>
|
||||
<%- if prepare_workflow_needs %>
|
||||
needs:
|
||||
<%- for need in prepare_workflow_needs.iter(consume=False) %>
|
||||
|
|
29
.github/workflows/templates/nightly.yml.jinja
vendored
29
.github/workflows/templates/nightly.yml.jinja
vendored
|
@ -1,4 +1,5 @@
|
|||
<%- set gh_environment = gh_environment|default("nightly") %>
|
||||
<%- set prepare_workflow_if_check = prepare_workflow_if_check|default("${{ needs.workflow-requirements.outputs.requirements-met }}") %>
|
||||
<%- extends 'ci.yml.jinja' %>
|
||||
|
||||
<%- block on %>
|
||||
|
@ -28,6 +29,29 @@ concurrency:
|
|||
|
||||
<%- block pre_jobs %>
|
||||
|
||||
<%- set job_name = "workflow-requirements" %>
|
||||
|
||||
<{ job_name }>:
|
||||
<%- do prepare_workflow_needs.append(job_name) %>
|
||||
name: Check Workflow Requirements
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
requirements-met: ${{ fromJSON(steps.check-requirements.outputs.requirements-met) }}
|
||||
steps:
|
||||
- name: Check Requirements
|
||||
id: check-requirements
|
||||
run: |
|
||||
if [ "${RUN_SCHEDULED_BUILDS}" -eq 1 ]; then
|
||||
echo "Running workflow because RUN_SCHEDULED_BUILDS=1"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
elif [ "${{ github.event.repository.fork }}" = "true" ]; then
|
||||
echo "Not running workflow because ${{ github.repository }} is a fork"
|
||||
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
|
||||
else
|
||||
echo "Running workflow because ${{ github.repository }} is not a fork"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
fi
|
||||
|
||||
<%- set job_name = "trigger-branch-nightly-builds" %>
|
||||
<%- set branches = ["3006.x"] %>
|
||||
|
||||
|
@ -35,7 +59,10 @@ concurrency:
|
|||
<%- do conclusion_needs.append(job_name) %>
|
||||
name: Trigger Branch Schedule Workflows
|
||||
if: ${{ github.event_name == 'schedule' }}
|
||||
runs-on: ubuntu-latest
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
needs:
|
||||
- workflow-requirements
|
||||
steps:
|
||||
<%- for branch in branches %>
|
||||
- name: Trigger <{ branch }> branch
|
||||
|
|
31
.github/workflows/templates/scheduled.yml.jinja
vendored
31
.github/workflows/templates/scheduled.yml.jinja
vendored
|
@ -1,3 +1,4 @@
|
|||
<%- set prepare_workflow_if_check = "${{ needs.workflow-requirements.outputs.requirements-met }}" %>
|
||||
<%- extends 'ci.yml.jinja' %>
|
||||
|
||||
<%- block on %>
|
||||
|
@ -6,6 +7,7 @@ on:
|
|||
schedule:
|
||||
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onschedule
|
||||
- cron: '0 */8 * * *' # Run every 8 hours
|
||||
|
||||
<%- endblock %>
|
||||
|
||||
<%- block concurrency %>
|
||||
|
@ -13,4 +15,33 @@ on:
|
|||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: false
|
||||
|
||||
<%- endblock %>
|
||||
|
||||
|
||||
<%- block pre_jobs %>
|
||||
|
||||
<%- set job_name = "workflow-requirements" %>
|
||||
|
||||
<{ job_name }>:
|
||||
<%- do prepare_workflow_needs.append(job_name) %>
|
||||
name: Check Workflow Requirements
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
requirements-met: ${{ fromJSON(steps.check-requirements.outputs.requirements-met) }}
|
||||
steps:
|
||||
- name: Check Requirements
|
||||
id: check-requirements
|
||||
run: |
|
||||
if [ "${RUN_SCHEDULED_BUILDS}" -eq 1 ]; then
|
||||
echo "Running workflow because RUN_SCHEDULED_BUILDS=1"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
elif [ "${{ github.event.repository.fork }}" = "true" ]; then
|
||||
echo "Not running workflow because ${{ github.repository }} is a fork"
|
||||
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
|
||||
else
|
||||
echo "Running workflow because ${{ github.repository }} is not a fork"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
fi
|
||||
|
||||
<%- endblock pre_jobs %>
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<%- set prepare_workflow_if_check = False %>
|
||||
<%- 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_pkg_test_suite = "${{ inputs.skip-salt-pkg-test-suite && ' --skip-pkg-tests' || '' }}" %>
|
||||
|
|
Loading…
Add table
Reference in a new issue