| include: |
| - project: $TEMPLATE_PROJECT_LOCATION |
| ref: dev |
| file: |
| - $BUILD_OSEE_TEMPLATE |
| - $BUILD_AND_TEST_OSEE_TEMPLATE |
| - $VALIDATE_OSEE_BUILD_TEMPLATE |
| |
| stages: |
| - validate |
| - build_OSEE |
| - build_and_test_OSEE |
| - validate_OSEE_build |
| |
| variables: |
| CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress" |
| |
| Validate Files: |
| stage: validate |
| image: $DOCKER_IMAGE_PYTHON_GIT |
| script: |
| - git --version |
| - python --version |
| - git fetch |
| - FILES=$(git diff --name-only origin/$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME) |
| - echo "Files to validate:" |
| - echo $FILES | tr " " "\n" |
| - python plugins/org.eclipse.osee.support.dev/validationScripts/validateFiles.py "$EXCLUDED_KEYWORDS" $FILES |
| only: |
| - merge_requests |
| allow_failure: true |
| |
| Angular Tests: |
| stage: validate |
| image: $DOCKER_IMAGE_NODE_CHROME |
| before_script: |
| - cd plugins/org.eclipse.osee.web |
| - npm -v |
| - node -v |
| - npm config set strict-ssl false |
| - npm config list |
| - npm ci --cache $CI_PROJECT_DIR/plugins/org.eclipse.osee.web/.npm/ --prefer-offline --force |
| script: |
| - npx -p @angular/cli ng lint |
| - npx prettier --check . |
| - npx stylelint '**/*.scss' |
| - npx -p @angular/cli ng test --browsers=ChromeHeadless --watch=false |
| cache: |
| key: |
| files: |
| - $CI_PROJECT_DIR/plugins/org.eclipse.osee.web/package-lock.json |
| paths: |
| - $CI_PROJECT_DIR/plugins/org.eclipse.osee.web/.npm/ |
| rules: |
| - if: $CI_PIPELINE_SOURCE == 'merge_request_event' |
| changes: |
| paths: |
| - plugins/org.eclipse.osee.web/**/* |
| |
| Build_Org_Eclipse_OSEE: |
| stage: build_OSEE |
| when: manual |
| |
| Build_And_Test_Org_Eclipse_OSEE: |
| stage: build_and_test_OSEE |
| when: manual |
| |
| Validate_Org_Eclipse_OSEE_Build: |
| stage: validate_OSEE_build |
| only: |
| - merge_requests |