Skip to content

Commit

Permalink
feat(experimental): a graphql check against core
Browse files Browse the repository at this point in the history
  • Loading branch information
naftis committed Nov 4, 2024
1 parent a9ee81d commit 89ac168
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/validate-graphql-queries.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: 🔒 Validate GitHub repository with GraphQL schema

on:
push:
branches:
- main
pull_request:

jobs:
graphql-validation:
name: Validate GraphQL
runs-on: ubuntu-latest
steps:
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 20

- name: Fetch repository
uses: actions/checkout@v3
with:
path: ".tmp"

- name: Get core key from compatibility.md
id: get-core-key
run: |
core_version=$(grep '^core:' .tmp/docs/compatibility.md | cut -d ' ' -f 2)
echo "core_version=$core_version" >> $GITHUB_ENV
- name: Run codegen
run: |
cat <<EOF > codegen.yml
schema: "https://raw.githubusercontent.com/opencrvs/opencrvs-core/${{ env.core_version }}/packages/gateway/src/graphql/schema.graphql"
documents: ".tmp/**/*.{graphql,js,ts,jsx,tsx}"
generates:
./throwaway.ts:
plugins:
- "typescript"
- "typescript-operations"
- "typescript-resolvers"
EOF
npm install @graphql-codegen/cli@5.0.2 \
@graphql-codegen/typescript@4.0.9 \
@graphql-codegen/typescript-operations@4.2.3 \
@graphql-codegen/typescript-resolvers@4.2.1 \
graphql@16.9.0
npx graphql-codegen
if [ $? -ne 0 ]; then
echo "### :x: GraphQL Validation Failed" >> $GITHUB_STEP_SUMMARY
echo "The GraphQL schema validation encountered errors. Please check the logs for more details." >> $GITHUB_STEP_SUMMARY
else
echo "### :white_check_mark: GraphQL Validation Passed" >> $GITHUB_STEP_SUMMARY
echo "The GraphQL schema validation completed successfully." >> $GITHUB_STEP_SUMMARY
fi

0 comments on commit 89ac168

Please sign in to comment.