mirror of
https://github.com/TeamPiped/Piped-Kubernetes.git
synced 2025-04-26 23:00:31 +05:30
CI: More CI workflows.
This commit is contained in:
parent
492dbb38fb
commit
f774192b82
77
.github/workflows/pr-metadata.yaml
vendored
Normal file
77
.github/workflows/pr-metadata.yaml
vendored
Normal file
@ -0,0 +1,77 @@
|
||||
name: "Pull Request: Get metadata"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
isRenovatePR:
|
||||
description: "Is the PR coming from Renovate?"
|
||||
value: ${{ jobs.pr-metadata.outputs.isRenovatePR }}
|
||||
isFork:
|
||||
description: "Is the PR coming from a forked repo?"
|
||||
value: ${{ jobs.pr-metadata.outputs.isFork }}
|
||||
addedOrModifiedFilesDetected:
|
||||
description: "Does the PR contain any changes?"
|
||||
value: ${{ jobs.pr-changes.outputs.addedOrModifiedFilesDetected }}
|
||||
addedOrModifiedFiles:
|
||||
description: "A list of the files changed in this PR"
|
||||
value: ${{ jobs.pr-changes.outputs.addedOrModifiedFiles }}
|
||||
addedOrModifiedCharts:
|
||||
description: "A list of the charts changed in this PR"
|
||||
value: ${{ jobs.pr-changes.outputs.addedOrModifiedCharts }}
|
||||
chartsToLint:
|
||||
value: ${{ jobs.pr-changes.outputs.chartsToLint }}
|
||||
chartsToInstall:
|
||||
value: ${{ jobs.pr-changes.outputs.chartsToInstall }}
|
||||
|
||||
jobs:
|
||||
pr-metadata:
|
||||
name: Collect PR metadata
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
isRenovatePR: ${{ startsWith(steps.branch-name.outputs.current_branch, 'renovate/') }}
|
||||
isFork: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
|
||||
steps:
|
||||
- name: Get branch name
|
||||
id: branch-name
|
||||
uses: tj-actions/branch-names@v6.5
|
||||
|
||||
- name: Save PR data to file
|
||||
env:
|
||||
PR_NUMBER: ${{ github.event.number }}
|
||||
run: |
|
||||
echo $PR_NUMBER > pr_number.txt
|
||||
|
||||
- name: Store pr data in artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: pr_metadata
|
||||
path: ./pr_number.txt
|
||||
retention-days: 5
|
||||
|
||||
pr-changes:
|
||||
name: Collect PR changes
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
addedOrModifiedFilesDetected: ${{ steps.changed-files.outputs.allAddedOrModified }}
|
||||
addedOrModifiedFiles: ${{ steps.changed-files.outputs.allAddedOrModified_files }}
|
||||
addedOrModifiedCharts: ${{ steps.changed-charts.outputs.charts }}
|
||||
chartsToLint: ${{ steps.changed-charts.outputs.chartsToLint }}
|
||||
chartsToInstall: ${{ steps.changed-charts.outputs.chartsToInstall }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Collect changed files
|
||||
uses: dorny/paths-filter@v2
|
||||
id: changed-files
|
||||
with:
|
||||
list-files: json
|
||||
filters: |
|
||||
allAddedOrModified:
|
||||
- added|modified: '**'
|
||||
|
||||
- name: Collect changed charts
|
||||
uses: bjw-s/helm-charts-actions/collect-charts@main
|
||||
id: changed-charts
|
30
.github/workflows/pr-validate.yaml
vendored
Normal file
30
.github/workflows/pr-validate.yaml
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
name: "Pull Request: Validate"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }}-pr-validate
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
pr-metadata:
|
||||
uses: ./.github/workflows/pr-metadata.yaml
|
||||
|
||||
charts-changelog:
|
||||
uses: ./.github/workflows/charts-changelog.yaml
|
||||
needs:
|
||||
- pr-metadata
|
||||
with:
|
||||
isRenovatePR: ${{ needs.pr-metadata.outputs.isRenovatePR }}
|
||||
modifiedCharts: ${{ needs.pr-metadata.outputs.addedOrModifiedCharts }}
|
||||
|
||||
charts-lint:
|
||||
uses: ./.github/workflows/charts-lint.yaml
|
||||
needs:
|
||||
- pr-metadata
|
||||
with:
|
||||
checkoutCommit: ${{ github.sha }}
|
||||
chartsToLint: ${{ needs.pr-metadata.outputs.chartsToLint }}
|
||||
isRenovatePR: ${{ needs.pr-metadata.outputs.isRenovatePR }}
|
Loading…
x
Reference in New Issue
Block a user