Fusionnne les jobs node en un

This commit is contained in:
Simon
2023-05-16 20:20:26 +00:00
committed by Simon
parent e0c1ad7e03
commit 9d6ddf6e25
16 changed files with 1323 additions and 2121 deletions

View File

@@ -1,3 +1,7 @@
include:
- .gitlab/valid_set.yml
- .gitlab/missing_tag_set.yml
stages:
- Manifest
- Test
@@ -6,87 +10,53 @@ stages:
- Release
variables:
ENTRY_FOLDER: "test" # test directory for testing CI/CD, or assets directory for normal operations
ENTRY_FOLDER: $CI_PROJECT_DIR/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}"
# Jobs from here run on Merge Requests as prerequisite for merging.
.manifest-job: &manifest
.manifest-job:
stage: Manifest
image: node:latest
rules:
- if: $CI_COMMIT_TAG
when: never # Do not run this job when a tag is created manually
when: never
- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd"
- changes:
- ${ENTRY_FOLDER}/${PACKAGE_NAME}/*
script:
- cd src/build_job
- 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:
- ${ENTRY_FOLDER}/${PACKAGE_NAME}/theme.json
when: on_success
expire_in: "1 hour"
manifest-job/valid_set:
variables:
PACKAGE_NAME: "valid_set"
<<: *manifest
.test-images-job: &test-images
.test-job:
stage: Test
image: python:latest
rules:
- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd"
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
- ${ENTRY_FOLDER}/${PACKAGE_NAME}/*
script:
- pip install -U pytest pillow iteration_utilities
- python -m pytest src/test_images_job/test_wpp.py --tb=line -rA --color=yes --code-highlight=yes -q
- python -m pytest src/test_images.py --tb=line -rA --color=yes
allow_failure: true
test-images-job/valid_set:
variables:
PACKAGE_NAME: "valid_set"
<<: *test-images
test-images-job/missing_tag_set:
variables:
PACKAGE_NAME: "missing_tag_set"
<<: *test-images
.test-manifest-job: &test-manifest
stage: Test
image: node:latest
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
- ${ENTRY_FOLDER}/${PACKAGE_NAME}/*
script:
- cd src/test_manifest_job
- npm install ajv ajv-errors mocha mocha-steps chai
- cd ../..
- node src/test_manifest_job/node_modules/mocha/bin/_mocha --require mocha-steps --colors src/test_manifest_job/wpp_checker.js
test-manifest-job/valid_set:
variables:
PACKAGE_NAME: "valid_set"
<<: *test-manifest
test-manifest-job/missing_tag_set:
variables:
PACKAGE_NAME: "missing_tag_set"
<<: *test-manifest
# Jobs from here run Merged_results or Push/Merge Commits to the main branch. Tag is created on release so no run with tag creation
.bundle-job: &bundle
.bundle-job:
stage: Bundle
image: javieraviles/zip:latest
rules:
- if: $CI_COMMIT_TAG
when: never # Do not run this job when a tag is created manually
when: never
- if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "cicd"
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
changes:
- ${ENTRY_FOLDER}/${PACKAGE_NAME}/*
@@ -98,22 +68,12 @@ test-manifest-job/missing_tag_set:
when: on_success
expire_in: "1 hour"
bundle-job/valid_set:
variables:
PACKAGE_NAME: "valid_set"
<<: *bundle
bundle-job/missing_tag_set:
variables:
PACKAGE_NAME: "missing_tag_set"
<<: *bundle
.upload-job: &upload
.upload-job:
stage: Distribute
image: curlimages/curl:latest
rules:
- if: $CI_COMMIT_TAG
when: never # Do not run this job when a tag is created manually
when: never
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
changes:
- ${ENTRY_FOLDER}/${PACKAGE_NAME}/*
@@ -123,26 +83,12 @@ bundle-job/missing_tag_set:
--header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
--upload-file ${PACKAGE_NAME}.zip "${PACKAGE_REGISTRY_URL}/${PACKAGE_NAME}.zip?select=package_file"
upload-job/valid_set:
needs:
- bundle-job/valid_set
variables:
PACKAGE_NAME: "valid_set"
<<: *upload
upload-job/missing_tag_set:
needs:
- bundle-job/missing_tag_set
variables:
PACKAGE_NAME: "missing_tag_set"
<<: *upload
.release-job: &release
.release-job:
stage: Release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: $CI_COMMIT_TAG
when: never # Do not run this job when a tag is created manually
when: never
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
changes:
- ${ENTRY_FOLDER}/${PACKAGE_NAME}/*
@@ -157,17 +103,3 @@ upload-job/missing_tag_set:
links:
- name: ${PACKAGE_NAME}
url: "${PACKAGE_REGISTRY_URL}/${PACKAGE_NAME}.zip"
release-job/valid_set:
needs:
- upload-job/valid_set
variables:
PACKAGE_NAME: "valid_set"
<<: *release
release-job/missing_tag_set:
needs:
- upload-job/missing_tag_set
variables:
PACKAGE_NAME: "missing_tag_set"
<<: *release

View File

@@ -0,0 +1,32 @@
manifest-job/missing_tag_set:
variables:
PACKAGE_NAME: "missing_tag_set"
extends: .manifest-job
test-images-job/missing_tag_set:
needs:
- manifest-job/missing_tag_set
variables:
PACKAGE_NAME: "missing_tag_set"
extends: .test-job
bundle-job/missing_tag_set:
needs:
- manifest-job/missing_tag_set
variables:
PACKAGE_NAME: "missing_tag_set"
extends: .bundle-job
upload-job/missing_tag_set:
needs:
- bundle-job/missing_tag_set
variables:
PACKAGE_NAME: "missing_tag_set"
extends: .upload-job
release-job/missing_tag_set:
needs:
- upload-job/missing_tag_set
variables:
PACKAGE_NAME: "missing_tag_set"
extends: .release-job

32
.gitlab/valid_set.yml Normal file
View File

@@ -0,0 +1,32 @@
manifest-job/valid_set:
variables:
PACKAGE_NAME: "valid_set"
extends: .manifest-job
test-images-job/valid_set:
needs:
- manifest-job/valid_set
variables:
PACKAGE_NAME: "valid_set"
extends: .test-job
bundle-job/valid_set:
needs:
- manifest-job/valid_set
variables:
PACKAGE_NAME: "valid_set"
extends: .bundle-job
upload-job/valid_set:
needs:
- bundle-job/valid_set
variables:
PACKAGE_NAME: "valid_set"
extends: .upload-job
release-job/valid_set:
needs:
- upload-job/valid_set
variables:
PACKAGE_NAME: "valid_set"
extends: .release-job