summaryrefslogtreecommitdiff
path: root/scripts/dump_graphql_schema
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/dump_graphql_schema')
-rwxr-xr-xscripts/dump_graphql_schema25
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/dump_graphql_schema b/scripts/dump_graphql_schema
new file mode 100755
index 00000000000..7a8bd5652e1
--- /dev/null
+++ b/scripts/dump_graphql_schema
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+GITLAB_DIR="$(cd "$(dirname "$0")/.." || exit ; pwd -P)"
+DOCKER_IMAGE="registry.gitlab.com/gitlab-org/gitlab-build-images:apollo"
+CONFIG_FILE="config/apollo.config.js"
+SCHEMA_DUMP_PATH="tmp/tests/graphql/gitlab_schema_apollo.graphql"
+
+if [ "$CI" = true ]; then
+ echo "Not dumping the GraphQL schema in CI"
+else
+ echo "Dumping GraphQL schema"
+ cd "$GITLAB_DIR" || exit 1
+ if command -v docker >/dev/null; then
+ bundle exec rake gitlab:graphql:schema:dump &&
+ docker run --rm -it \
+ -v "$GITLAB_DIR/config":/config \
+ -v "$GITLAB_DIR/tmp":/tmp \
+ -v "$GITLAB_DIR/app":/app \
+ -v "$GITLAB_DIR/ee":/ee \
+ "$DOCKER_IMAGE" client:download-schema --config="$CONFIG_FILE" "$SCHEMA_DUMP_PATH"
+ else
+ echo "Docker must be installed to run this script."
+ exit 1
+ fi
+fi