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@2e5354c6733793113f416314375826df030ada23 # 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@0b7f8abb1508181956e8e162db84b466c27e18ce # 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@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3 - name: Collect changes id: collect-changes uses: ./.github/actions/collect-changes