diff --git a/.gitlab/.gitlab-ci.yml b/.gitlab/.gitlab-ci.yml index 4f70b98f0..ddd89632e 100644 --- a/.gitlab/.gitlab-ci.yml +++ b/.gitlab/.gitlab-ci.yml @@ -7,10 +7,10 @@ variables: GOVERSION: "1.16.13" stages: + - test - build - post build - lint - - test - integration - gauntlet - performance @@ -55,90 +55,90 @@ build lattice: paths: - lattice.tar.gz -run jest tests: - stage: test - image: node:14 - variables: - CI: "true" - rules: - - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' - script: - - echo "Testing lattice..." - - cd lattice - - npm install --force - - npm test -- --coverage --testResultsProcessor=jest-sonar-reporter - artifacts: - paths: - - lattice/coverage/lcov.info +# run jest tests: +# stage: test +# image: node:14 +# variables: +# CI: "true" +# rules: +# - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' +# script: +# - echo "Testing lattice..." +# - cd lattice +# - npm install --force +# - npm test -- --coverage --testResultsProcessor=jest-sonar-reporter +# artifacts: +# paths: +# - lattice/coverage/lcov.info -run go tests: - stage: test - image: golang:$GOVERSION - rules: - - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' - retry: 1 - script: - - echo "Running featurebase unit tests..." - - go test -timeout=30m ./... - tags: - - aws +# run go tests: +# stage: test +# image: golang:$GOVERSION +# rules: +# - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' +# retry: 1 +# script: +# - echo "Running featurebase unit tests..." +# - go test -timeout=30m ./... +# tags: +# - aws -run go tests race: - stage: test - image: golang:$GOVERSION - rules: - - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' - retry: 1 - script: - - echo "Running featurebase race tests..." - - go test -race -v -timeout=90m ./... - tags: - - aws +# run go tests race: +# stage: test +# image: golang:$GOVERSION +# rules: +# - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' +# retry: 1 +# script: +# - echo "Running featurebase race tests..." +# - go test -race -v -timeout=90m ./... +# tags: +# - aws -run go tests shardwidth22: - stage: test - image: golang:$GOVERSION - rules: - - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' - script: - - echo "Running featurebase race tests..." - - go test -timeout=30m -tags=shardwidth22 ./... - tags: - - aws +# run go tests shardwidth22: +# stage: test +# image: golang:$GOVERSION +# rules: +# - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' +# script: +# - echo "Running featurebase race tests..." +# - go test -timeout=30m -tags=shardwidth22 ./... +# tags: +# - aws -# we do coverage reporting from the future tests because the json -# output is very difficult to human-read. The alternative would be to -# run the regular tests twice and also run the future tests. -run go tests future: - stage: test - image: golang:1.17.6 - rules: - - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' - retry: 1 - script: - - echo "Running featurebase unit tests..." - - PKG_LIST=$(go list ./... | grep -v internal/clustertests | paste -s -d, -) - - go test -timeout=30m -json -coverprofile=coverage.out -covermode=atomic -coverpkg=${PKG_LIST} ./... | tee test-report.out - artifacts: - paths: - - coverage.out - - test-report.out - tags: - - aws +# # we do coverage reporting from the future tests because the json +# # output is very difficult to human-read. The alternative would be to +# # run the regular tests twice and also run the future tests. +# run go tests future: +# stage: test +# image: golang:1.17.6 +# rules: +# - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' +# retry: 1 +# script: +# - echo "Running featurebase unit tests..." +# - PKG_LIST=$(go list ./... | grep -v internal/clustertests | paste -s -d, -) +# - go test -timeout=30m -json -coverprofile=coverage.out -covermode=atomic -coverpkg=${PKG_LIST} ./... | tee test-report.out +# artifacts: +# paths: +# - coverage.out +# - test-report.out +# tags: +# - aws -upload to sonarcloud: - stage: integration - image: sonarsource/sonar-scanner-cli:4.6 - variables: - SONAR_TOKEN: $SONAR_TOKEN - rules: - - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' - script: - - sonar-scanner -Dsonar.projectKey=molecula_featurebase -Dsonar.organization=molecula -Dsonar.sources=. -Dsonar.host.url=https://sonarcloud.io -Dsonar.go.coverage.reportPaths=coverage.out,results/coverage*.out -Dsonar.go.tests.reportPaths=test-report.out,results/report* -Dsonar.javascript.lcov.reportPaths=lattice/coverage/lcov.info - needs: - - job: run go tests future - - job: run jest tests - - job: clustertests +# upload to sonarcloud: +# stage: integration +# image: sonarsource/sonar-scanner-cli:4.6 +# variables: +# SONAR_TOKEN: $SONAR_TOKEN +# rules: +# - if: '$CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"' +# script: +# - sonar-scanner -Dsonar.projectKey=molecula_featurebase -Dsonar.organization=molecula -Dsonar.sources=. -Dsonar.host.url=https://sonarcloud.io -Dsonar.go.coverage.reportPaths=coverage.out,results/coverage*.out -Dsonar.go.tests.reportPaths=test-report.out,results/report* -Dsonar.javascript.lcov.reportPaths=lattice/coverage/lcov.info +# needs: +# - job: run go tests future +# - job: run jest tests +# - job: clustertests build for linux amd64: stage: build