summaryrefslogtreecommitdiff
path: root/config/helpers/check_frontend_integration_env.js
diff options
context:
space:
mode:
Diffstat (limited to 'config/helpers/check_frontend_integration_env.js')
-rw-r--r--config/helpers/check_frontend_integration_env.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/config/helpers/check_frontend_integration_env.js b/config/helpers/check_frontend_integration_env.js
new file mode 100644
index 00000000000..38393c89445
--- /dev/null
+++ b/config/helpers/check_frontend_integration_env.js
@@ -0,0 +1,37 @@
+const fs = require('fs');
+const isESLint = require('./is_eslint');
+
+const GRAPHQL_SCHEMA_PATH = 'tmp/tests/graphql/gitlab_schema.graphql';
+const GRAPHQL_SCHEMA_JOB = 'bundle exec rake gitlab:graphql:schema:dump';
+
+const shouldIgnoreWarnings = JSON.parse(process.env.GL_IGNORE_WARNINGS || '0');
+
+const failCheck = (message) => {
+ console.error(message);
+
+ if (!shouldIgnoreWarnings) {
+ process.exit(1);
+ }
+};
+
+const checkGraphqlSchema = () => {
+ if (!fs.existsSync(GRAPHQL_SCHEMA_PATH)) {
+ const message = `
+ERROR: Expected to find "${GRAPHQL_SCHEMA_PATH}" but file does not exist. Try running:
+
+ ${GRAPHQL_SCHEMA_JOB}
+`;
+
+ failCheck(message);
+ }
+};
+
+const check = () => {
+ if (isESLint(module)) {
+ return;
+ }
+
+ checkGraphqlSchema();
+};
+
+module.exports = check;