Skip to content

GraphQL Schema Review Check #66

GraphQL Schema Review Check

GraphQL Schema Review Check #66

# This workflow triggers when a pull request is opened, changed, reopened, approved or dismissed.
# It checks if the pull request contains changes to GraphQL schema files (.graphqls) and ensures that such changes are reviewed by at least one reviewer from the @nais/tooling team.
name: GraphQL Schema Review Check
run-name: "GraphQL Schema Review Check"
on:
pull_request:
types: [opened, synchronize, reopened]
pull_request_review:
jobs:
check-graphql-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Check if GraphQL schema files are changed
id: has_graphql_changes
env:
GH_TOKEN: ${{ github.token }}
run: |
if gh pr --repo '${{ github.repository }}' diff ${{ github.event.pull_request.number }} --name-only | grep -E '\.graphqls$'; then
echo "graphql_changes=true" >> $GITHUB_OUTPUT
else
echo "graphql_changes=false" >> $GITHUB_OUTPUT
fi
- uses: navikt/github-app-token-generator@v1
id: get-token
with:
private-key: ${{ secrets.NAIS_APP_PRIVATE_KEY }}
app-id: ${{ secrets.NAIS_APP_ID }}
repo: nais/api
- name: No changes to GraphQL files
if: steps.has_graphql_changes.outputs.graphql_changes == 'false'
uses: actions/github-script@v8
with:
github-token: ${{ steps.get-token.outputs.token }}
script: |
const script = require('./.github/scripts/graphql_no_changes.cjs')
console.log(await script({github, context}))
- name: Ensure GraphQL schema changes are reviewed by @nais/tooling
if: steps.has_graphql_changes.outputs.graphql_changes == 'true'
uses: actions/github-script@v8
with:
github-token: ${{ steps.get-token.outputs.token }}
script: |
const script = require('./.github/scripts/graphql_require_review.cjs')
console.log(await script({github, context}))