Paid features #39
Workflow file for this run
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
name: Bypass Review by Admin for Specific Files | |
on: | |
pull_request: | |
types: [opened, synchronize] | |
jobs: | |
bypass-review: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # Fetch all history so we can access any branch | |
- name: Fetch main branch | |
run: git fetch origin main:main | |
- name: Fetch PR branch | |
run: | | |
git fetch origin $GITHUB_HEAD_REF:$GITHUB_HEAD_REF | |
git checkout $GITHUB_HEAD_REF | |
- name: Set up GitHub CLI Authentication | |
env: | |
GH_TOKEN: ${{ secrets.ADMIN_PAT }} | |
run: | | |
AUTHOR=$(gh pr view ${{ github.event.pull_request.number }} --json author --jq '.author.login') | |
ADMIN_CHECK=$(gh api user/memberships/orgs/scidsg --jq '.role') | |
if [ "$ADMIN_CHECK" != "admin" ]; then | |
echo "User is not an admin or is not a public member of the organization. Exiting." | |
exit 1 | |
fi | |
- name: Check for specific files and approve if conditions are met | |
run: | | |
git diff --name-only origin/main $GITHUB_HEAD_REF > file_list.txt | |
if grep -v -qE '(\.css$|^hushline/version.py$)' file_list.txt; then | |
echo "PR contains files other than .css or hushline/version.py. Exiting without approval." | |
exit 0 # Exit without failure | |
fi | |
# Proceed to approve if only matching files are present | |
echo "Only .css files and/or hushline/version.py detected and user is an admin, approving PR" | |
gh pr review ${{ github.event.pull_request.number }} --approve --body "Approved: Only specific files detected and user is an admin." | |
env: | |
GITHUB_TOKEN: ${{ secrets.ADMIN_PAT }} |