Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
NEW Create GitHub Action for adding PRs to the new project
Browse files Browse the repository at this point in the history
GuySartorelli committed Jun 13, 2024
1 parent b5d2af0 commit 7369730
Showing 2 changed files with 73 additions and 0 deletions.
29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# GitHub Actions - Add PR to project

Add community-created pull requests to the [Community Contributions project](https://github.com/orgs/silverstripe/projects/4) when they're opened.

## Usage

**.github/workflows/add-pr-to-project.yml**
```yml
name: Add pull request to project

on:
pull_request:
types:
- opened
- ready_for_review

permissions: {}

jobs:
addprtoproject:
# Only run on the silverstripe account
if: github.repository_owner == 'silverstripe'
runs-on: ubuntu-latest
steps:
- name: Add PR to project
uses: silverstripe/add-pr-to-project@v1
```
This action has no inputs.
44 changes: 44 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Add pull request to project
description: GitHub Action to add new pull requests to the Community Contributions GitHub project

runs:
using: composite
steps:

- name: Check if should be added
id: check-if-should-add
env:
PR_AUTHOR: ${{ github.event.pull_request.user.login }}
IS_DRAFT: ${{ github.event.pull_request.draft }}
run: |
if [[ $IS_DRAFT == 'true' ]]; then
echo "PR is draft. Skipping."
echo "should_add_to_project=false" >> $GITHUB_OUTPUT
exit 0
fi
# We don't want CMS Squad member PRs to clutter the project board
echo "Author is $PR_AUTHOR"
for squad_member in 'GuySartorelli' 'emteknetnz' 'maxime-rainville'; do
if [[ $PR_AUTHOR == $squad_member ]]; then
echo "Author is in CMS Squad. Skipping."
echo "should_add_to_project=false" >> $GITHUB_OUTPUT
exit 0
fi
done
echo "should_add_to_project=true" >> $GITHUB_OUTPUT
- name: Generate token
id: generate-token
if: steps.check-if-should-add.outputs.should_add_to_project == 'true' && github.repository_owner == 'silverstripe'
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.PROJECT_PERMISSIONS_APP_ID }}
private-key: ${{ secrets.PROJECT_PERMISSIONS_APP_PRIVATE_KEY }}

- name: Add to project
if: steps.check-if-should-add.outputs.should_add_to_project == 'true'
uses: actions/add-to-project@v1.0.1
with:
# Add to the Community Contributions project
project-url: https://github.com/orgs/silverstripe/projects/4
github-token: ${{ steps.generate-token.outputs.token }}

0 comments on commit 7369730

Please sign in to comment.