190 lines
7.1 KiB
Diff
190 lines
7.1 KiB
Diff
From bf287f49fab60f47dd2547cdc3653fed53af3b21 Mon Sep 17 00:00:00 2001
|
|
From: Jan Macku <jamacku@redhat.com>
|
|
Date: Fri, 12 Jan 2024 15:25:14 +0100
|
|
Subject: [PATCH] ci: use source-git-automation composite Action
|
|
|
|
This will allow us maintain the source-git automation in separate repo
|
|
and reduce the duplication of the code and noise in the systemd repo.
|
|
|
|
rhel-only
|
|
|
|
Related: RHEL-1086
|
|
---
|
|
.../source-git-automation-on-demand.yml | 61 ++--------------
|
|
.github/workflows/source-git-automation.yml | 72 ++-----------------
|
|
2 files changed, 12 insertions(+), 121 deletions(-)
|
|
|
|
diff --git a/.github/workflows/source-git-automation-on-demand.yml b/.github/workflows/source-git-automation-on-demand.yml
|
|
index 3f3da959c4..90149e74bb 100644
|
|
--- a/.github/workflows/source-git-automation-on-demand.yml
|
|
+++ b/.github/workflows/source-git-automation-on-demand.yml
|
|
@@ -1,5 +1,3 @@
|
|
----
|
|
-
|
|
name: Source git Automation Scheduled/On Demand
|
|
on:
|
|
schedule:
|
|
@@ -59,62 +57,17 @@ jobs:
|
|
matrix:
|
|
pr-number: ${{ inputs.pr-number == 0 && fromJSON(needs.gather-pull-requests.outputs.pr-numbers) || fromJSON(needs.gather-pull-requests.outputs.pr-numbers-manual) }}
|
|
|
|
- permissions: write-all
|
|
- # contents: write
|
|
- # statuses: write
|
|
- # checks: write
|
|
- # pull-requests: write
|
|
+ permissions:
|
|
+ # required for merging PRs
|
|
+ contents: write
|
|
+ # required for PR comments and setting labels
|
|
+ pull-requests: write
|
|
|
|
steps:
|
|
- - name: Repository checkout
|
|
- uses: actions/checkout@v3
|
|
-
|
|
- - id: metadata
|
|
- name: Gather Pull Request Metadata
|
|
- uses: redhat-plumbers-in-action/gather-pull-request-metadata@v1
|
|
+ - name: Source-git Automation
|
|
+ uses: redhat-plumbers-in-action/source-git-automation@v1
|
|
with:
|
|
pr-number: ${{ matrix.pr-number }}
|
|
-
|
|
- - if: ${{ !cancelled() }}
|
|
- id: commit-linter
|
|
- name: Lint Commits
|
|
- uses: redhat-plumbers-in-action/advanced-commit-linter@v2
|
|
- with:
|
|
- pr-metadata: ${{ steps.metadata.outputs.metadata }}
|
|
- token: ${{ secrets.GITHUB_TOKEN }}
|
|
-
|
|
- # Validates tracker, changes tracker status, updates PR title
|
|
- - if: ${{ !cancelled() }}
|
|
- id: tracker-validator
|
|
- name: Validate Tracker
|
|
- uses: redhat-plumbers-in-action/tracker-validator@v1
|
|
- with:
|
|
- pr-metadata: ${{ steps.metadata.outputs.metadata }}
|
|
- component: systemd
|
|
- tracker: ${{ fromJSON(steps.commit-linter.outputs.validated-pr-metadata).validation.tracker.id }}
|
|
- tracker-type: ${{ fromJSON(steps.commit-linter.outputs.validated-pr-metadata).validation.tracker.type }}
|
|
- bugzilla-instance: https://bugzilla.redhat.com
|
|
- bugzilla-api-token: ${{ secrets.BUGZILLA_API_TOKEN }}
|
|
- jira-instance: https://issues.redhat.com
|
|
- jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
|
|
- token: ${{ secrets.GITHUB_TOKEN }}
|
|
-
|
|
- - if: ${{ !cancelled() }}
|
|
- name: Pull Request Validator
|
|
- uses: redhat-plumbers-in-action/pull-request-validator@v1
|
|
- with:
|
|
- pr-metadata: ${{ steps.metadata.outputs.metadata }}
|
|
- token: ${{ secrets.GITHUB_TOKEN }}
|
|
-
|
|
- - id: auto-merge
|
|
- name: Auto Merge
|
|
- uses: redhat-plumbers-in-action/auto-merge@v1
|
|
- with:
|
|
- pr-metadata: ${{ steps.metadata.outputs.metadata }}
|
|
- tracker: ${{ fromJSON(steps.commit-linter.outputs.validated-pr-metadata).validation.tracker.id }}
|
|
- tracker-type: ${{ fromJSON(steps.commit-linter.outputs.validated-pr-metadata).validation.tracker.type }}
|
|
- bugzilla-instance: https://bugzilla.redhat.com
|
|
bugzilla-api-token: ${{ secrets.BUGZILLA_API_TOKEN }}
|
|
- jira-instance: https://issues.redhat.com
|
|
jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
diff --git a/.github/workflows/source-git-automation.yml b/.github/workflows/source-git-automation.yml
|
|
index 17135b590f..776ac5b237 100644
|
|
--- a/.github/workflows/source-git-automation.yml
|
|
+++ b/.github/workflows/source-git-automation.yml
|
|
@@ -26,83 +26,21 @@ jobs:
|
|
with:
|
|
name: pr-metadata
|
|
|
|
- commit-linter:
|
|
+ source-git-automation:
|
|
needs: [ download-metadata ]
|
|
runs-on: ubuntu-latest
|
|
|
|
- outputs:
|
|
- validated-pr-metadata: ${{ steps.commit-linter.outputs.validated-pr-metadata }}
|
|
-
|
|
- permissions:
|
|
- statuses: write
|
|
- checks: write
|
|
- pull-requests: write
|
|
-
|
|
- steps:
|
|
- - id: commit-linter
|
|
- name: Lint Commits
|
|
- uses: redhat-plumbers-in-action/advanced-commit-linter@v2
|
|
- with:
|
|
- pr-metadata: ${{ needs.download-metadata.outputs.pr-metadata }}
|
|
- token: ${{ secrets.GITHUB_TOKEN }}
|
|
-
|
|
- # Validates tracker, changes tracker status, updates PR title
|
|
- tracker-validator:
|
|
- if: ${{ !cancelled() }}
|
|
- needs: [ download-metadata, commit-linter ]
|
|
- runs-on: ubuntu-latest
|
|
-
|
|
- permissions:
|
|
- checks: write
|
|
- pull-requests: write
|
|
-
|
|
- steps:
|
|
- - name: Validate Tracker
|
|
- uses: redhat-plumbers-in-action/tracker-validator@v1
|
|
- with:
|
|
- pr-metadata: ${{ needs.download-metadata.outputs.pr-metadata }}
|
|
- component: systemd
|
|
- tracker: ${{ fromJSON(needs.commit-linter.outputs.validated-pr-metadata).validation.tracker.id }}
|
|
- tracker-type: ${{ fromJSON(needs.commit-linter.outputs.validated-pr-metadata).validation.tracker.type }}
|
|
- bugzilla-instance: https://bugzilla.redhat.com
|
|
- bugzilla-api-token: ${{ secrets.BUGZILLA_API_TOKEN }}
|
|
- jira-instance: https://issues.redhat.com
|
|
- jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
|
|
- token: ${{ secrets.GITHUB_TOKEN }}
|
|
-
|
|
- pull-request-validator:
|
|
- needs: [ download-metadata ]
|
|
- runs-on: ubuntu-latest
|
|
-
|
|
- permissions:
|
|
- checks: write
|
|
- pull-requests: write
|
|
-
|
|
- steps:
|
|
- - name: Pull Request Validator
|
|
- uses: redhat-plumbers-in-action/pull-request-validator@v1
|
|
- with:
|
|
- pr-metadata: ${{ needs.download-metadata.outputs.pr-metadata }}
|
|
- token: ${{ secrets.GITHUB_TOKEN }}
|
|
-
|
|
- auto-merge:
|
|
- needs: [ download-metadata, commit-linter, tracker-validator, pull-request-validator ]
|
|
- runs-on: ubuntu-latest
|
|
-
|
|
permissions:
|
|
+ # required for merging PRs
|
|
contents: write
|
|
- checks: write
|
|
+ # required for PR comments and setting labels
|
|
pull-requests: write
|
|
|
|
steps:
|
|
- - name: Auto Merge
|
|
- uses: redhat-plumbers-in-action/auto-merge@v1
|
|
+ - name: Source-git Automation
|
|
+ uses: redhat-plumbers-in-action/source-git-automation@v1
|
|
with:
|
|
pr-metadata: ${{ needs.download-metadata.outputs.pr-metadata }}
|
|
- tracker: ${{ fromJSON(needs.commit-linter.outputs.validated-pr-metadata).validation.tracker.id }}
|
|
- tracker-type: ${{ fromJSON(needs.commit-linter.outputs.validated-pr-metadata).validation.tracker.type }}
|
|
- bugzilla-instance: https://bugzilla.redhat.com
|
|
bugzilla-api-token: ${{ secrets.BUGZILLA_API_TOKEN }}
|
|
- jira-instance: https://issues.redhat.com
|
|
jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|