Fixer un problème d'accès aux variables d'environnement

qui étaient fournies par Gitlab mais mal récupérés par node.
This commit is contained in:
Simon Pistache 2023-05-13 12:00:55 +02:00
parent afb0e16596
commit 798f6de969
4 changed files with 56 additions and 37 deletions

View File

@ -19,13 +19,11 @@ variables:
changes: changes:
- ${ENTRY_FOLDER}/${PACKAGE_NAME}/* - ${ENTRY_FOLDER}/${PACKAGE_NAME}/*
script: script:
- echo ${ENTRY_FOLDER}/${PACKAGE_NAME}/
- cd src/build_job - cd src/build_job
- npm install - npm install
- npm run start - npm run start
- cat ../../${ENTRY_FOLDER}/${PACKAGE_NAME}/theme.json - cat ../../${ENTRY_FOLDER}/${PACKAGE_NAME}/theme.json
artifacts: artifacts:
expose_as: "theme-json"
paths: paths:
- ${ENTRY_FOLDER}/${PACKAGE_NAME}/theme.json - ${ENTRY_FOLDER}/${PACKAGE_NAME}/theme.json
when: on_success when: on_success

View File

@ -1,18 +1,20 @@
{ {
"name": "wppchecker", "name": "wpp-checker",
"version": "1.0.0", "version": "1.0.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "wppchecker", "name": "wpp-checker",
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"ajv": "^8.5.0", "ajv": "^8.12.0",
"ajv-errors": "^3.0.0", "ajv-errors": "^3.0.0",
"chai": "^4.3.4", "chai": "^4.3.7",
"mocha": "^8.4.0", "mocha": "^8.4.0"
},
"devDependencies": {
"mocha-steps": "^1.3.0" "mocha-steps": "^1.3.0"
} }
}, },
@ -22,9 +24,9 @@
"integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q=="
}, },
"node_modules/ajv": { "node_modules/ajv": {
"version": "8.5.0", "version": "8.12.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.5.0.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
"integrity": "sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dependencies": { "dependencies": {
"fast-deep-equal": "^3.1.1", "fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0", "json-schema-traverse": "^1.0.0",
@ -149,14 +151,15 @@
} }
}, },
"node_modules/chai": { "node_modules/chai": {
"version": "4.3.4", "version": "4.3.7",
"resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
"integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
"dependencies": { "dependencies": {
"assertion-error": "^1.1.0", "assertion-error": "^1.1.0",
"check-error": "^1.0.2", "check-error": "^1.0.2",
"deep-eql": "^3.0.1", "deep-eql": "^4.1.2",
"get-func-name": "^2.0.0", "get-func-name": "^2.0.0",
"loupe": "^2.3.1",
"pathval": "^1.1.1", "pathval": "^1.1.1",
"type-detect": "^4.0.5" "type-detect": "^4.0.5"
}, },
@ -322,14 +325,14 @@
} }
}, },
"node_modules/deep-eql": { "node_modules/deep-eql": {
"version": "3.0.1", "version": "4.1.3",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
"integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==",
"dependencies": { "dependencies": {
"type-detect": "^4.0.0" "type-detect": "^4.0.0"
}, },
"engines": { "engines": {
"node": ">=0.12" "node": ">=6"
} }
}, },
"node_modules/diff": { "node_modules/diff": {
@ -605,6 +608,14 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/loupe": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
"integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
"dependencies": {
"get-func-name": "^2.0.0"
}
},
"node_modules/minimatch": { "node_modules/minimatch": {
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@ -662,7 +673,8 @@
"node_modules/mocha-steps": { "node_modules/mocha-steps": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/mocha-steps/-/mocha-steps-1.3.0.tgz", "resolved": "https://registry.npmjs.org/mocha-steps/-/mocha-steps-1.3.0.tgz",
"integrity": "sha512-KZvpMJTqzLZw3mOb+EEuYi4YZS41C9iTnb7skVFRxHjUd1OYbl64tCMSmpdIRM9LnwIrSOaRfPtNpF5msgv6Eg==" "integrity": "sha512-KZvpMJTqzLZw3mOb+EEuYi4YZS41C9iTnb7skVFRxHjUd1OYbl64tCMSmpdIRM9LnwIrSOaRfPtNpF5msgv6Eg==",
"dev": true
}, },
"node_modules/ms": { "node_modules/ms": {
"version": "2.1.3", "version": "2.1.3",
@ -1098,9 +1110,9 @@
"integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q=="
}, },
"ajv": { "ajv": {
"version": "8.5.0", "version": "8.12.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.5.0.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
"integrity": "sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"requires": { "requires": {
"fast-deep-equal": "^3.1.1", "fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0", "json-schema-traverse": "^1.0.0",
@ -1189,14 +1201,15 @@
"integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg=="
}, },
"chai": { "chai": {
"version": "4.3.4", "version": "4.3.7",
"resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
"integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
"requires": { "requires": {
"assertion-error": "^1.1.0", "assertion-error": "^1.1.0",
"check-error": "^1.0.2", "check-error": "^1.0.2",
"deep-eql": "^3.0.1", "deep-eql": "^4.1.2",
"get-func-name": "^2.0.0", "get-func-name": "^2.0.0",
"loupe": "^2.3.1",
"pathval": "^1.1.1", "pathval": "^1.1.1",
"type-detect": "^4.0.5" "type-detect": "^4.0.5"
} }
@ -1319,9 +1332,9 @@
"integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ=="
}, },
"deep-eql": { "deep-eql": {
"version": "3.0.1", "version": "4.1.3",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
"integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==",
"requires": { "requires": {
"type-detect": "^4.0.0" "type-detect": "^4.0.0"
} }
@ -1514,6 +1527,14 @@
"chalk": "^4.0.0" "chalk": "^4.0.0"
} }
}, },
"loupe": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
"integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
"requires": {
"get-func-name": "^2.0.0"
}
},
"minimatch": { "minimatch": {
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@ -1557,7 +1578,8 @@
"mocha-steps": { "mocha-steps": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/mocha-steps/-/mocha-steps-1.3.0.tgz", "resolved": "https://registry.npmjs.org/mocha-steps/-/mocha-steps-1.3.0.tgz",
"integrity": "sha512-KZvpMJTqzLZw3mOb+EEuYi4YZS41C9iTnb7skVFRxHjUd1OYbl64tCMSmpdIRM9LnwIrSOaRfPtNpF5msgv6Eg==" "integrity": "sha512-KZvpMJTqzLZw3mOb+EEuYi4YZS41C9iTnb7skVFRxHjUd1OYbl64tCMSmpdIRM9LnwIrSOaRfPtNpF5msgv6Eg==",
"dev": true
}, },
"ms": { "ms": {
"version": "2.1.3", "version": "2.1.3",

View File

@ -1,10 +1,10 @@
{ {
"name": "wppchecker", "name": "wpp-checker",
"version": "1.0.0", "version": "1.0.0",
"description": "", "description": "",
"main": "wppChecker.js", "main": "wpp_checker.js",
"scripts": { "scripts": {
"test": "mocha wppChecker.js --require mocha-step --colors" "test": "mocha wpp_checker.js --require mocha-steps --colors"
}, },
"author": "Simon", "author": "Simon",
"license": "ISC", "license": "ISC",

View File

@ -1,6 +1,5 @@
const fs = require("fs"); const fs = require("fs");
const path = require("path"); const path = require("path");
const env = require("process");
const expect = require("chai").expect; const expect = require("chai").expect;
const Ajv = require("ajv").default; const Ajv = require("ajv").default;
const ajv = new Ajv({ allErrors: true }); const ajv = new Ajv({ allErrors: true });
@ -37,14 +36,14 @@ function flatReferences(wppManifest) {
describe('Mandatory Checks', function () { describe('Mandatory Checks', function () {
before(function () { before(function () {
const slug = env.PACKAGE_NAME; const slug = process.env["PACKAGE_NAME"];
expect(slug).to.be.a("string").that.is.not.empty; expect(slug).to.be.a("string").that.is.not.empty;
const root = env.ENTRY_FOLDER; const root = process.env["ENTRY_FOLDER"];
expect(root).to.be.a("string").that.is.not.empty; expect(root).to.be.a("string").that.is.not.empty;
const workingDirectory = path.join(root, slug); const workingDirectory = path.join(root, slug);
const files = fs.readdirSync(workingDirectory); const files = fs.readdirSync(workingDirectory);
expect(files).to.be.an('array').that.is.not.empty; expect(files).to.be.an('array').that.is.not.empty;
let validator = ajv.compile(JSON.parse(fs.readFileSync(themeSchemaFile, 'utf8'))); validator = ajv.compile(JSON.parse(fs.readFileSync(themeSchemaFile, 'utf8')));
}); });
step('Manifest is an existing json file', function () { step('Manifest is an existing json file', function () {