blob: aee752abeac808d1c945e370100bf60e6196c686 [file]
include:
- local: 'Templates/**/*.yml'
stages:
- validate
- build_OSEE
- build_and_test_OSEE
- validate_OSEE_build
##############
#### JOBS ####
##############
# IP
Validate Files:
stage: validate
image: $DOCKER_IMAGE_PYTHON_GIT
script:
- git --version
- python --version
- git fetch
- COMMITS_URL=$CI_API_V4_URL/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/commits
- python plugins/org.eclipse.osee.support.dev/validationScripts/validateCommitMessages.py "$EXCLUDED_KEYWORDS" $COMMITS_URL $GITLAB_API_TOKEN
- 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
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
Build_Org_Eclipse_OSEE:
stage: build_OSEE
rules: !reference [.Rules_Default, rules]
Build_And_Test_Org_Eclipse_OSEE:
stage: build_and_test_OSEE
rules: !reference [.Rules_Default, rules]
Validate_Org_Eclipse_OSEE_Build:
stage: validate_OSEE_build
rules: !reference [.Rules_Merge_Request_Only, rules]
##########################
#### GLOBAL VARIABLES ####
##########################
variables:
CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress"