diff options
Diffstat (limited to 'config/helpers/check_frontend_integration_env.js')
-rw-r--r-- | config/helpers/check_frontend_integration_env.js | 37 |
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; |