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 }} addedOrModified: description: "Does the PR contain any changes?" value: ${{ jobs.pr-changes.outputs.addedOrModified }} 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 }} 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@a594c1e96eab7790611fdaf5bc8f76ea55cedabd # v6.3 - 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@83fd05a356d7e2593de66fc9913b3002723633cb # tag=v3 with: name: pr_metadata path: ./pr_number.txt retention-days: 5 pr-changes: name: Collect PR changes runs-on: ubuntu-latest outputs: addedOrModified: ${{ steps.collect-changes.outputs.changesDetected }} addedOrModifiedFiles: ${{ steps.collect-changes.outputs.addedOrModifiedFiles }} addedOrModifiedCharts: ${{ steps.collect-changes.outputs.addedOrModifiedCharts }} steps: - name: Checkout uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3 - name: Collect changes id: collect-changes uses: ./.github/actions/collect-changes