name: "Pull Request: Validate" on: pull_request: concurrency: group: ${{ github.head_ref }}-pr-validate # cancel-in-progress: true jobs: pr-changes: name: Collect PR changes runs-on: group: default 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Collect changes id: collect-changes uses: ./.github/actions/collect-changes common-tests: uses: ./.github/workflows/common-tests.yaml charts-lint: uses: ./.github/workflows/charts-lint.yaml needs: - pr-changes with: checkoutCommit: ${{ needs.charts-changelog.outputs.commitHash }} chartChangesDetected: ${{ needs.pr-changes.outputs.addedOrModified }} modifiedFiles: ${{ needs.pr-changes.outputs.addedOrModifiedFiles }} modifiedCharts: ${{ needs.pr-changes.outputs.addedOrModifiedCharts }} charts-test: uses: ./.github/workflows/charts-test.yaml needs: - pr-changes - charts-lint with: checkoutCommit: ${{ needs.charts-changelog.outputs.commitHash }} chartChangesDetected: ${{ needs.pr-changes.outputs.addedOrModified }} modifiedCharts: ${{ needs.pr-changes.outputs.addedOrModifiedCharts }} website-and-docs: uses: ./.github/workflows/charts-release.yaml print_head_msg: name: Print commit message runs-on: group: default outputs: head-commit-message: ${{ steps.get_head_commit_message.outputs.headCommitMsg }} pr-title: ${{ github.event.pull_request.title }} steps: - name: Get repo uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: ref: ${{ github.event.pull_request.head.sha }} - name: verbose head git commit message run: echo "$(git show -s --format=%s)" - name: Print head git commit message id: get_head_commit_message run: echo "::set-output name=headCommitMsg::$(git show -s --format=%s)" - name: Print PR title run: | echo "PR title: ${{ github.event.pull_request.title }}" finished: name: Finished PR Tests runs-on: group: default if: always() needs: - pr-changes - charts-lint - charts-test - website-and-docs - print_head_msg - common-tests steps: - name: Check Results run: | if [[ "${{ needs.pr-changes.result }}" != "success" || \ "${{ needs.charts-lint.result }}" != "success" || \ "${{ needs.charts-test.result }}" != "success" || \ "${{ needs.website-and-docs.result }}" != "success" || \ "${{ needs.common-tests.result }}" != "success" || \ "${{ needs.print_head_msg.result }}" != "success" ]]; then echo "One or more jobs failed!" exit 1 else echo "All jobs succeeded!" fi