Skip to content

chore: update v6 and v7 docs #129

chore: update v6 and v7 docs

chore: update v6 and v7 docs #129

name: GraphQL over HTTP spec server compliance
on:
workflow_call:
pull_request:
branches:
- master
paths:
- 'servers/**'
- 'integration/graphql-http-spec/**'
jobs:
http-spec-compliance:
timeout-minutes: 20
runs-on: ubuntu-latest
defaults:
run:
working-directory: integration/graphql-http-spec
strategy:
matrix:
server: ['spring-server', 'ktor-server']
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Setup NPM cache
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('website/package-lock.json') }}
restore-keys: ${{ runner.os }}-node-
- name: Install node dependencies
run: npm install
- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Set up Java 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'zulu'
- name: Set up Gradle cache
uses: gradle/actions/setup-gradle@v3
- name: Start server
id: start_server
run: |
set -x
echo "building server"
./gradlew :${server}:build
echo "starting server"
./gradlew :${server}:run &
echo "SERVER_PID=$(echo $!)" >> $GITHUB_OUTPUT
env:
server: ${{ matrix.server }}
- name: Verify HTTP spec compliance
run: |
echo "verify server is up"
npm run healthcheck
echo "verify compliance"
npm run test
- name: Stop server
if: ${{ always() }}
run: |
echo "shutting down server"
kill -9 ${{ steps.start_server.outputs.SERVER_PID }}