-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add more of the common automation
- add more of the common automation - ensure customized scripts/files are not overwritten Signed-off-by: Michael Dawson <[email protected]>
- Loading branch information
Showing
7 changed files
with
259 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
CODEOWNERS | ||
.github/workflows/update-dependencies.yml | ||
.github/workflows/create-draft-release.yml | ||
scripts/package.sh | ||
scripts/build.sh |
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
* @paketo-community/nodejs-maintainers |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
name: Approve Bot PRs and Enable Auto-Merge | ||
|
||
on: | ||
workflow_run: | ||
workflows: ["Test Pull Request"] | ||
types: | ||
- completed | ||
|
||
jobs: | ||
download: | ||
name: Download PR Artifact | ||
if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }} | ||
runs-on: ubuntu-22.04 | ||
outputs: | ||
pr-author: ${{ steps.pr-data.outputs.author }} | ||
pr-number: ${{ steps.pr-data.outputs.number }} | ||
steps: | ||
- name: 'Download artifact' | ||
uses: paketo-buildpacks/github-config/actions/pull-request/download-artifact@main | ||
with: | ||
name: "event-payload" | ||
repo: ${{ github.repository }} | ||
run_id: ${{ github.event.workflow_run.id }} | ||
workspace: "/github/workspace" | ||
token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} | ||
- id: pr-data | ||
run: | | ||
echo "author=$(cat event.json | jq -r '.pull_request.user.login')" >> "$GITHUB_OUTPUT" | ||
echo "number=$(cat event.json | jq -r '.pull_request.number')" >> "$GITHUB_OUTPUT" | ||
approve: | ||
name: Approve Bot PRs | ||
needs: download | ||
if: ${{ needs.download.outputs.pr-author == 'paketo-bot' || needs.download.outputs.pr-author == 'dependabot[bot]' }} | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Check Commit Verification | ||
id: unverified-commits | ||
uses: paketo-buildpacks/github-config/actions/pull-request/check-unverified-commits@main | ||
with: | ||
token: ${{ secrets.PAKETO_BOT_REVIEWER_GITHUB_TOKEN }} | ||
repo: ${{ github.repository }} | ||
number: ${{ needs.download.outputs.pr-number }} | ||
|
||
- name: Check for Human Commits | ||
id: human-commits | ||
uses: paketo-buildpacks/github-config/actions/pull-request/check-human-commits@main | ||
with: | ||
token: ${{ secrets.PAKETO_BOT_REVIEWER_GITHUB_TOKEN }} | ||
repo: ${{ github.repository }} | ||
number: ${{ needs.download.outputs.pr-number }} | ||
|
||
- name: Checkout | ||
if: steps.human-commits.outputs.human_commits == 'false' && steps.unverified-commits.outputs.unverified_commits == 'false' | ||
uses: actions/checkout@v3 | ||
|
||
- name: Approve | ||
if: steps.human-commits.outputs.human_commits == 'false' && steps.unverified-commits.outputs.unverified_commits == 'false' | ||
uses: paketo-buildpacks/github-config/actions/pull-request/approve@main | ||
with: | ||
token: ${{ secrets.PAKETO_BOT_REVIEWER_GITHUB_TOKEN }} | ||
number: ${{ needs.download.outputs.pr-number }} | ||
|
||
- name: Enable Auto-Merge | ||
if: steps.human-commits.outputs.human_commits == 'false' && steps.unverified-commits.outputs.unverified_commits == 'false' | ||
run: | | ||
gh pr merge ${{ needs.download.outputs.pr-number }} --auto --rebase | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} | ||
|
||
failure: | ||
name: Alert on Failure | ||
runs-on: ubuntu-22.04 | ||
needs: [download, approve] | ||
if: ${{ always() && needs.download.result == 'failure' || needs.approve.result == 'failure' }} | ||
steps: | ||
- name: File Failure Alert Issue | ||
uses: paketo-buildpacks/github-config/actions/issue/file@main | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
repo: ${{ github.repository }} | ||
label: "failure:approve-bot-pr" | ||
comment_if_exists: true | ||
issue_title: "Failure: Approve bot PR workflow" | ||
issue_body: | | ||
Approve bot PR workflow [failed](https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}). | ||
comment_body: | | ||
Another failure occurred: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
name: Update shared github-config | ||
|
||
on: | ||
schedule: | ||
- cron: '30 1 * * *' | ||
workflow_dispatch: {} | ||
|
||
concurrency: github_config_update | ||
|
||
jobs: | ||
build: | ||
name: Create PR to update shared files | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} | ||
|
||
- name: Checkout github-config | ||
uses: actions/checkout@v3 | ||
with: | ||
repository: paketo-buildpacks/github-config | ||
path: github-config | ||
|
||
- name: Checkout Branch | ||
uses: paketo-buildpacks/github-config/actions/pull-request/checkout-branch@main | ||
with: | ||
branch: automation/github-config/update | ||
|
||
- name: Run the sync action | ||
uses: paketo-buildpacks/github-config/actions/sync@main | ||
with: | ||
workspace: /github/workspace | ||
config: /github/workspace/github-config/implementation | ||
|
||
- name: Cleanup | ||
run: rm -rf github-config | ||
|
||
- name: Commit | ||
id: commit | ||
uses: paketo-buildpacks/github-config/actions/pull-request/create-commit@main | ||
with: | ||
message: "Updating github-config" | ||
pathspec: "." | ||
keyid: ${{ secrets.PAKETO_BOT_GPG_SIGNING_KEY_ID }} | ||
key: ${{ secrets.PAKETO_BOT_GPG_SIGNING_KEY }} | ||
|
||
- name: Push Branch | ||
if: ${{ steps.commit.outputs.commit_sha != '' }} | ||
uses: paketo-buildpacks/github-config/actions/pull-request/push-branch@main | ||
with: | ||
branch: automation/github-config/update | ||
|
||
- name: Open Pull Request | ||
if: ${{ steps.commit.outputs.commit_sha != '' }} | ||
uses: paketo-buildpacks/github-config/actions/pull-request/open@main | ||
with: | ||
token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }} | ||
title: "Updates github-config" | ||
branch: automation/github-config/update | ||
|
||
failure: | ||
name: Alert on Failure | ||
runs-on: ubuntu-22.04 | ||
needs: [build] | ||
if: ${{ always() && needs.build.result == 'failure' }} | ||
steps: | ||
- name: File Failure Alert Issue | ||
uses: paketo-buildpacks/github-config/actions/issue/file@main | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
repo: ${{ github.repository }} | ||
label: "failure:update-github-config" | ||
comment_if_exists: true | ||
issue_title: "Failure: Update GitHub config workflow" | ||
issue_body: | | ||
Update GitHub config workflow [failed](https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}). | ||
comment_body: | | ||
Another failure occurred: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -eu | ||
set -o pipefail | ||
|
||
# shellcheck source=SCRIPTDIR/print.sh | ||
source "$(dirname "${BASH_SOURCE[0]}")/print.sh" | ||
|
||
function util::git::token::fetch() { | ||
if [[ -z "${GIT_TOKEN:-""}" ]]; then | ||
util::print::title "Fetching GIT_TOKEN" | ||
|
||
GIT_TOKEN="$( | ||
lpass show Shared-CF\ Buildpacks/concourse-private.yml \ | ||
| grep buildpacks-github-token \ | ||
| cut -d ' ' -f 2 | ||
)" | ||
fi | ||
|
||
printf "%s" "${GIT_TOKEN}" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters