enh(ci): skip workflow when no change on PR (#5334)
This commit is contained in:
parent
3609bca54b
commit
eb7ae7fb57
|
@ -24,6 +24,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -107,6 +110,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -141,3 +145,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -26,7 +26,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -84,6 +86,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -118,3 +121,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -18,7 +18,14 @@ on:
|
||||||
- ".github/docker/packaging/*"
|
- ".github/docker/packaging/*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-and-push-docker:
|
get-environment:
|
||||||
|
uses: ./.github/workflows/get-environment.yml
|
||||||
|
|
||||||
|
dockerize:
|
||||||
|
needs: [get-environment]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -87,3 +94,12 @@ jobs:
|
||||||
pull: true
|
pull: true
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
|
tags: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, dockerize]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -18,7 +18,14 @@ on:
|
||||||
- ".github/docker/testing/*"
|
- ".github/docker/testing/*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-and-push-docker:
|
get-environment:
|
||||||
|
uses: ./.github/workflows/get-environment.yml
|
||||||
|
|
||||||
|
dockerize:
|
||||||
|
needs: [get-environment]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -72,3 +79,12 @@ jobs:
|
||||||
pull: true
|
pull: true
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/testing-plugins-${{ matrix.image }}:latest
|
tags: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/testing-plugins-${{ matrix.image }}:latest
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, dockerize]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -18,7 +18,14 @@ on:
|
||||||
- ".github/docker/unit-tests/*"
|
- ".github/docker/unit-tests/*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-and-push-docker:
|
get-environment:
|
||||||
|
uses: ./.github/workflows/get-environment.yml
|
||||||
|
|
||||||
|
dockerize:
|
||||||
|
needs: [get-environment]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -72,3 +79,12 @@ jobs:
|
||||||
pull: true
|
pull: true
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/unit-tests-${{ matrix.image }}:latest
|
tags: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/unit-tests-${{ matrix.image }}:latest
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, dockerize]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -23,6 +23,9 @@ on:
|
||||||
is_targeting_feature_branch:
|
is_targeting_feature_branch:
|
||||||
description: "if it is a PR, check if targeting a feature branch"
|
description: "if it is a PR, check if targeting a feature branch"
|
||||||
value: ${{ jobs.get-environment.outputs.is_targeting_feature_branch }}
|
value: ${{ jobs.get-environment.outputs.is_targeting_feature_branch }}
|
||||||
|
skip_workflow:
|
||||||
|
description: "if the current workflow should be skipped"
|
||||||
|
value: ${{ jobs.get-environment.outputs.skip_workflow }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
get-environment:
|
get-environment:
|
||||||
|
@ -34,10 +37,128 @@ jobs:
|
||||||
target_stability: ${{ steps.get_stability.outputs.target_stability }}
|
target_stability: ${{ steps.get_stability.outputs.target_stability }}
|
||||||
release_type: ${{ steps.get_release_type.outputs.release_type }}
|
release_type: ${{ steps.get_release_type.outputs.release_type }}
|
||||||
is_targeting_feature_branch: ${{ steps.get_stability.outputs.is_targeting_feature_branch }}
|
is_targeting_feature_branch: ${{ steps.get_stability.outputs.is_targeting_feature_branch }}
|
||||||
|
skip_workflow: ${{ steps.skip_workflow.outputs.result }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Check if PR has skip label
|
||||||
|
id: has_skip_label
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
let hasSkipLabel = false;
|
||||||
|
if (${{ contains(fromJSON('["pull_request", "pull_request_target"]') , github.event_name) }} === true) {
|
||||||
|
try {
|
||||||
|
const labels = await github.rest.issues.listLabelsOnIssue({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
issue_number: context.issue.number
|
||||||
|
});
|
||||||
|
labels.data.forEach(({ name }) => {
|
||||||
|
if (name === '${{ format('skip-workflow-{0}', github.workflow) }}') {
|
||||||
|
hasSkipLabel = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
core.warning(`failed to list labels: ${e}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return hasSkipLabel;
|
||||||
|
|
||||||
- name: Checkout sources (current branch)
|
- name: Checkout sources (current branch)
|
||||||
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
with:
|
||||||
|
fetch-depth: ${{ steps.has_skip_label.outputs.result == 'true' && 100 || 1 }}
|
||||||
|
|
||||||
|
- if: ${{ steps.has_skip_label.outputs.result == 'true' }}
|
||||||
|
name: Get workflow triggered paths
|
||||||
|
id: get_workflow_triggered_paths
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
let paths = [];
|
||||||
|
|
||||||
|
const workflowFilePath = '${{ github.workflow_ref }}'.replace('${{ github.repository }}/', '').split('@').shift();
|
||||||
|
|
||||||
|
if (fs.existsSync(workflowFilePath)) {
|
||||||
|
const workflowFileContent = fs.readFileSync(workflowFilePath, 'utf8');
|
||||||
|
const workflowFileContentLines = workflowFileContent.split('\n');
|
||||||
|
|
||||||
|
let hasReadOn = false;
|
||||||
|
let hasReadPullRequest = false;
|
||||||
|
let hasReadPaths = false;
|
||||||
|
for (const line of workflowFileContentLines) {
|
||||||
|
if (line.match(/^on:\s*$/)) {
|
||||||
|
hasReadOn = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (line.match(/^\s{2}pull_request(_target)?:\s*$/)) {
|
||||||
|
hasReadPullRequest = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (line.match(/^\s{4}paths:\s*$/)) {
|
||||||
|
hasReadPaths = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hasReadOn && hasReadPullRequest && hasReadPaths) {
|
||||||
|
const matches = line.match(/^\s{6}-\s['"](.+)['"]\s*$/);
|
||||||
|
if (matches) {
|
||||||
|
paths.push(matches[1].trim());
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (paths.length === 0) {
|
||||||
|
paths = ['**'];
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(paths);
|
||||||
|
|
||||||
|
return paths;
|
||||||
|
|
||||||
|
- if: ${{ steps.has_skip_label.outputs.result == 'true' }}
|
||||||
|
name: Get push changes
|
||||||
|
id: get_push_changes
|
||||||
|
uses: tj-actions/changed-files@bab30c2299617f6615ec02a68b9a40d10bd21366 # v45.0.5
|
||||||
|
with:
|
||||||
|
since_last_remote_commit: true
|
||||||
|
json: true
|
||||||
|
escape_json: false
|
||||||
|
files: ${{ join(fromJSON(steps.get_workflow_triggered_paths.outputs.result), ';') }}
|
||||||
|
files_separator: ';'
|
||||||
|
|
||||||
|
- name: Check if current workflow should be skipped
|
||||||
|
id: skip_workflow
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
if (${{ steps.has_skip_label.outputs.result }} === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const label = '${{ format('skip-workflow-{0}', github.workflow) }}';
|
||||||
|
if ('${{ steps.get_push_changes.outputs.any_changed }}' === 'true') {
|
||||||
|
try {
|
||||||
|
await github.rest.issues.removeLabel({
|
||||||
|
name: label,
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
issue_number: context.issue.number
|
||||||
|
});
|
||||||
|
core.notice(`label ${label} removed because changes were detected on last push.`);
|
||||||
|
} catch (e) {
|
||||||
|
core.warning(`failed to remove label ${label}: ${e}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
- if: ${{ github.event_name == 'pull_request' }}
|
- if: ${{ github.event_name == 'pull_request' }}
|
||||||
name: Get nested pull request path
|
name: Get nested pull request path
|
||||||
|
@ -155,6 +276,7 @@ jobs:
|
||||||
['release_type', '${{ steps.get_release_type.outputs.release_type || '<em>not defined because this is not a release</em>' }}'],
|
['release_type', '${{ steps.get_release_type.outputs.release_type || '<em>not defined because this is not a release</em>' }}'],
|
||||||
['is_targeting_feature_branch', '${{ steps.get_stability.outputs.is_targeting_feature_branch }}'],
|
['is_targeting_feature_branch', '${{ steps.get_stability.outputs.is_targeting_feature_branch }}'],
|
||||||
['target_stability', '${{ steps.get_stability.outputs.target_stability || '<em>not defined because current run is not triggered by pull request event</em>' }}'],
|
['target_stability', '${{ steps.get_stability.outputs.target_stability || '<em>not defined because current run is not triggered by pull request event</em>' }}'],
|
||||||
|
['skip_workflow', '${{ steps.skip_workflow.outputs.result }}']
|
||||||
];
|
];
|
||||||
core.summary
|
core.summary
|
||||||
.addHeading(`${context.workflow} environment outputs`)
|
.addHeading(`${context.workflow} environment outputs`)
|
||||||
|
|
|
@ -24,6 +24,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -117,6 +120,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -151,3 +155,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -24,7 +24,9 @@ jobs:
|
||||||
|
|
||||||
package-rpm:
|
package-rpm:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -238,7 +240,10 @@ jobs:
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
merge-package-rpm-artifacts:
|
merge-package-rpm-artifacts:
|
||||||
needs: [package-rpm]
|
needs: [get-environment, package-rpm]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -260,7 +265,10 @@ jobs:
|
||||||
failOnError: false
|
failOnError: false
|
||||||
|
|
||||||
sign-rpm:
|
sign-rpm:
|
||||||
needs: [merge-package-rpm-artifacts]
|
needs: [get-environment, merge-package-rpm-artifacts]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -298,7 +306,9 @@ jobs:
|
||||||
|
|
||||||
package-deb:
|
package-deb:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
runs-on: ${{ matrix.runner_name }}
|
runs-on: ${{ matrix.runner_name }}
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -470,7 +480,10 @@ jobs:
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
merge-package-deb-artifacts:
|
merge-package-deb-artifacts:
|
||||||
needs: [package-deb]
|
needs: [get-environment, package-deb]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -492,7 +505,10 @@ jobs:
|
||||||
failOnError: false
|
failOnError: false
|
||||||
|
|
||||||
download-and-cache-deb:
|
download-and-cache-deb:
|
||||||
needs: [merge-package-deb-artifacts]
|
needs: [get-environment, merge-package-deb-artifacts]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -511,6 +527,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, sign-rpm, download-and-cache-deb]
|
needs: [get-environment, sign-rpm, download-and-cache-deb]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -545,3 +562,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -26,7 +26,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -144,6 +146,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -187,3 +190,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -24,7 +24,9 @@ jobs:
|
||||||
|
|
||||||
package-rpm:
|
package-rpm:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -67,7 +69,10 @@ jobs:
|
||||||
key: unsigned-${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
key: unsigned-${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
||||||
|
|
||||||
sign-rpm:
|
sign-rpm:
|
||||||
needs: [package-rpm]
|
needs: [get-environment, package-rpm]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -110,7 +115,9 @@ jobs:
|
||||||
|
|
||||||
package-deb:
|
package-deb:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -156,6 +163,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, sign-rpm, package-deb]
|
needs: [get-environment, sign-rpm, package-deb]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -190,3 +198,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -26,7 +26,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -129,6 +131,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -163,3 +166,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -27,6 +27,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -154,3 +157,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -24,7 +24,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -142,6 +144,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -185,3 +188,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -24,7 +24,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -142,6 +144,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -185,3 +188,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -22,7 +22,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -214,6 +216,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -257,3 +260,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -24,7 +24,9 @@ jobs:
|
||||||
|
|
||||||
get-sources:
|
get-sources:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- name: Download vsphere cli sources
|
- name: Download vsphere cli sources
|
||||||
|
@ -48,6 +50,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment, get-sources]
|
needs: [get-environment, get-sources]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -148,6 +153,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -191,3 +197,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -24,7 +24,9 @@ jobs:
|
||||||
|
|
||||||
package-rpm:
|
package-rpm:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -61,7 +63,10 @@ jobs:
|
||||||
key: unsigned-${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
key: unsigned-${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
||||||
|
|
||||||
sign-rpm:
|
sign-rpm:
|
||||||
needs: [package-rpm]
|
needs: [get-environment, package-rpm]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -111,6 +116,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, sign-rpm]
|
needs: [get-environment, sign-rpm]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -139,3 +145,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -24,6 +24,9 @@ jobs:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
needs.get-environment.outputs.stability != 'stable'
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -72,6 +75,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -100,3 +104,12 @@ jobs:
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
release_type: ${{ needs.get-environment.outputs.release_type }}
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -90,6 +90,7 @@ jobs:
|
||||||
unit-tests:
|
unit-tests:
|
||||||
needs: [get-environment, get-plugins]
|
needs: [get-environment, get-plugins]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
needs.get-environment.outputs.stability != 'stable' &&
|
needs.get-environment.outputs.stability != 'stable' &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -145,6 +146,7 @@ jobs:
|
||||||
fatpacker:
|
fatpacker:
|
||||||
needs: [get-environment, get-plugins, unit-tests]
|
needs: [get-environment, get-plugins, unit-tests]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
needs.get-plugins.outputs.plugins != '' &&
|
needs.get-plugins.outputs.plugins != '' &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
! contains(needs.*.result, 'failure') &&
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
@ -175,6 +177,7 @@ jobs:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
needs: [get-environment, get-plugins, fatpacker]
|
needs: [get-environment, get-plugins, fatpacker]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
needs.get-plugins.outputs.plugins != '' &&
|
needs.get-plugins.outputs.plugins != '' &&
|
||||||
needs.get-environment.outputs.stability != 'stable' &&
|
needs.get-environment.outputs.stability != 'stable' &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
|
@ -299,6 +302,7 @@ jobs:
|
||||||
test-plugins:
|
test-plugins:
|
||||||
needs: [get-environment, get-plugins, package]
|
needs: [get-environment, get-plugins, package]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
needs.get-plugins.outputs.plugins != '' &&
|
needs.get-plugins.outputs.plugins != '' &&
|
||||||
needs.get-environment.outputs.stability != 'stable' &&
|
needs.get-environment.outputs.stability != 'stable' &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
|
@ -358,6 +362,7 @@ jobs:
|
||||||
deliver-packages:
|
deliver-packages:
|
||||||
needs: [get-environment, get-plugins, test-plugins]
|
needs: [get-environment, get-plugins, test-plugins]
|
||||||
if: |
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
needs.get-plugins.outputs.plugins != '' &&
|
needs.get-plugins.outputs.plugins != '' &&
|
||||||
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || (needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || (needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
! cancelled() &&
|
! cancelled() &&
|
||||||
|
@ -448,3 +453,12 @@ jobs:
|
||||||
echo "::warning::Release tag $RELEASE already exists"
|
echo "::warning::Release tag $RELEASE already exists"
|
||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
|
set-skip-label:
|
||||||
|
needs: [get-environment, deliver-packages]
|
||||||
|
if: |
|
||||||
|
needs.get-environment.outputs.skip_workflow == 'false' &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
uses: ./.github/workflows/set-pull-request-skip-label.yml
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
name: set-pull-request-skip-label
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
set-pull-request-skip-label:
|
||||||
|
if: ${{ success() && contains(fromJSON('["pull_request", "pull_request_target"]') , github.event_name) }}
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Set PR skip label
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const label = '${{ format('skip-workflow-{0}', github.workflow) }}';
|
||||||
|
try {
|
||||||
|
await github.rest.issues.addLabels({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
issue_number: context.issue.number,
|
||||||
|
labels: [label]
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
core.warning(`failed to add label ${label}: ${e}`);
|
||||||
|
}
|
Loading…
Reference in New Issue