From 123733def0a641a0bbfff51132ced844481b7863 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 18 May 2023 21:17:34 +0000 Subject: [PATCH] Tente un fixe pour la pipeline. --- .gitlab-ci.yml | 14 +++++++------- .vscode/launch.json | 18 ++++++++++++------ src/build-manifest.js | 7 ++++--- src/manifest.spec.js | 4 +++- src/test_images.py | 5 +++-- test/existing_valid_theme_set/theme.json | 8 ++++---- test/missing_tag_set/theme.json | 2 +- 7 files changed, 34 insertions(+), 24 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bfd41f2..f0e5cbb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,7 +9,7 @@ stages: - Release variables: - ENTRY_FOLDER: $CI_PROJECT_DIR/test # test directory for testing CI/CD, or assets directory for normal operations + ENTRY_FOLDER: test # test directory for testing CI/CD, or assets directory for normal operations RELEASE_VERSION: v0.$CI_PIPELINE_IID PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${PACKAGE_NAME}/${RELEASE_VERSION}" @@ -18,16 +18,16 @@ variables: stage: Manifest image: node:latest rules: + #- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd" - if: $CI_COMMIT_TAG when: never - - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd" - changes: - ${ENTRY_FOLDER}/${PACKAGE_NAME}/* script: - cd src/ - npm install - npm run start - - cat ${ENTRY_FOLDER}/${PACKAGE_NAME}/theme.json + - cat ../${ENTRY_FOLDER}/${PACKAGE_NAME}/theme.json - npm run test artifacts: paths: @@ -39,7 +39,7 @@ variables: stage: Test image: python:latest rules: - - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd" + #- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd" - if: $CI_PIPELINE_SOURCE == "merge_request_event" changes: - ${ENTRY_FOLDER}/${PACKAGE_NAME}/* @@ -53,9 +53,9 @@ variables: stage: Bundle image: javieraviles/zip:latest rules: + #- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd" - if: $CI_COMMIT_TAG when: never - - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd" - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH changes: - ${ENTRY_FOLDER}/${PACKAGE_NAME}/* @@ -71,9 +71,9 @@ variables: stage: Distribute image: curlimages/curl:latest rules: + #- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd" - if: $CI_COMMIT_TAG when: never - - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd" - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH changes: - ${ENTRY_FOLDER}/${PACKAGE_NAME}/* @@ -87,9 +87,9 @@ variables: stage: Release image: registry.gitlab.com/gitlab-org/release-cli:latest rules: + #- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd" - if: $CI_COMMIT_TAG when: never - - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd" - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH changes: - ${ENTRY_FOLDER}/${PACKAGE_NAME}/* diff --git a/.vscode/launch.json b/.vscode/launch.json index bb07030..f192208 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -12,7 +12,8 @@ "start" ], "env": { - "ENTRY_FOLDER": "${workspaceFolder}/test", + "CI_PROJECT_DIR": "${workspaceFolder}", + "ENTRY_FOLDER": "test", "PACKAGE_NAME": "valid_set" }, "skipFiles": [ @@ -30,7 +31,8 @@ "test" ], "env": { - "ENTRY_FOLDER": "${workspaceFolder}/test", + "CI_PROJECT_DIR": "${workspaceFolder}", + "ENTRY_FOLDER": "test", "PACKAGE_NAME": "valid_set" }, "skipFiles": [ @@ -51,7 +53,8 @@ "--color=yes" ], "env": { - "ENTRY_FOLDER": "${workspaceFolder}/test", + "CI_PROJECT_DIR": "${workspaceFolder}", + "ENTRY_FOLDER": "test", "PACKAGE_NAME": "valid_set" }, "justMyCode": true @@ -67,7 +70,8 @@ "start" ], "env": { - "ENTRY_FOLDER": "${workspaceFolder}/test", + "CI_PROJECT_DIR": "${workspaceFolder}", + "ENTRY_FOLDER": "test", "PACKAGE_NAME": "existing_valid_theme_set" }, "skipFiles": [ @@ -85,7 +89,8 @@ "test" ], "env": { - "ENTRY_FOLDER": "${workspaceFolder}/test", + "CI_PROJECT_DIR": "${workspaceFolder}", + "ENTRY_FOLDER": "test", "PACKAGE_NAME": "existing_valid_theme_set" }, "skipFiles": [ @@ -106,7 +111,8 @@ "--color=yes" ], "env": { - "ENTRY_FOLDER": "${workspaceFolder}/test", + "CI_PROJECT_DIR": "${workspaceFolder}", + "ENTRY_FOLDER": "test", "PACKAGE_NAME": "existing_valid_theme_set" }, "justMyCode": true diff --git a/src/build-manifest.js b/src/build-manifest.js index 2a0055f..1282d52 100644 --- a/src/build-manifest.js +++ b/src/build-manifest.js @@ -5,10 +5,11 @@ const { exit } = require("process"); // Fetch envs to target the right folder -const slug = process.env["PACKAGE_NAME"]; +const workDir = process.env["CI_PROJECT_DIR"]; const root = process.env["ENTRY_FOLDER"]; -if (!slug || !root) exit(1); -let workingDirectory = path.join(root, slug); +const slug = process.env["PACKAGE_NAME"]; +if (!workDir || !slug || !root) exit(1); +let workingDirectory = path.join(workDir, root, slug); // extract metadata from them fs.readdir(workingDirectory, (err, files) => { diff --git a/src/manifest.spec.js b/src/manifest.spec.js index 2847367..5fe9ab3 100644 --- a/src/manifest.spec.js +++ b/src/manifest.spec.js @@ -33,11 +33,13 @@ function flatReferences(manifest) { describe('Mandatory Checks', function () { before(function () { + const workDir = process.env["CI_PROJECT_DIR"]; + expect(workDir).to.be.a("string").that.is.not.empty; const slug = process.env["PACKAGE_NAME"]; expect(slug).to.be.a("string").that.is.not.empty; const root = process.env["ENTRY_FOLDER"]; expect(root).to.be.a("string").that.is.not.empty; - workingDirectory = path.join(root, slug); + workingDirectory = path.join(workDir, root, slug); files = fs.readdirSync(workingDirectory); expect(files).to.be.an('array').that.is.not.empty; validator = ajv.compile(JSON.parse(fs.readFileSync(themeSchemaFile, 'utf8'))); diff --git a/src/test_images.py b/src/test_images.py index cfa149f..eb97ac3 100644 --- a/src/test_images.py +++ b/src/test_images.py @@ -40,9 +40,10 @@ def _validate_brightness_image(working_path, theme_config, high_light, image_lis @pytest.fixture def working_path(): # get the global variables containing gitlab-given project slug. + work_directory = os.environ["CI_PROJECT_DIR"] + entry_folder = os.environ["ENTRY_FOLDER"] project_slug = os.environ["PACKAGE_NAME"] - root_folder = os.environ["ENTRY_FOLDER"] - working_path = Path(root_folder, project_slug) + working_path = Path(work_directory, entry_folder, project_slug) if not working_path.is_dir(): raise FileNotFoundError(f"No project found for the given {working_path}.") return working_path diff --git a/test/existing_valid_theme_set/theme.json b/test/existing_valid_theme_set/theme.json index 8c3678f..238786a 100644 --- a/test/existing_valid_theme_set/theme.json +++ b/test/existing_valid_theme_set/theme.json @@ -2,12 +2,12 @@ "dayImageList": [ 1 ], + "imageFilename": "stray__*.jpg", "nightImageList": [ 2 ], - "sunsetImageList": [], - "sunriseImageList": [], - "imageFilename": "stray__*.jpg", "imageCredits": "©Thoscellen, ©BlueTwelve", - "displayName": "Stray" + "sunriseImageList": [], + "displayName": "Stray", + "sunsetImageList": [] } \ No newline at end of file diff --git a/test/missing_tag_set/theme.json b/test/missing_tag_set/theme.json index ce8667a..cbdd46e 100644 --- a/test/missing_tag_set/theme.json +++ b/test/missing_tag_set/theme.json @@ -1,7 +1,7 @@ { "imageFilename": "bl3_landscape_*.jpg", - "imageCredits": "© Gearbox", "displayName": "BL3", + "imageCredits": "© Gearbox", "dayImageList": [ 2 ],