Files
codeocean/.gitlab-ci.yml
2021-11-04 19:15:33 +01:00

50 lines
1.4 KiB
YAML

default:
image: codemoon:latest
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
# don't run a push pipeline if a merge request pipeline if a merge request exists
when: never
- when: always
stages:
- lint
- test
rubocop:
stage: lint
rules:
- if: '$CI_MERGE_REQUEST_ID'
when: always
- when: never
script:
- source /home/codeocean/.rvm/scripts/rvm
- bundle install
- echo $CI_MERGE_REQUEST_DIFF_BASE_SHA
- DIFF=$(git diff --name-only --diff-filter=d $CI_MERGE_REQUEST_DIFF_BASE_SHA)
- echo $DIFF
- "if [[ ! -z $DIFF ]]; then bundle exec rubocop --force-exclusion --parallel --display-style-guide $DIFF; fi"
allow_failure: true
rspec:
stage: test
before_script:
- sudo -u postgres /usr/lib/postgresql/13/bin/postgres -D /etc/postgresql/13/main/ &
- sleep 3
- sudo wrapdocker
- for f in action_mailer.yml database.yml secrets.yml code_ocean.yml docker.yml.erb mnemosyne.yml; do if [ ! -f config/$f ]; then cp config/$f.ci config/$f; fi; done
- source /home/codeocean/.rvm/scripts/rvm
- bundle install
- yarn install
- export RAILS_ENV=test
- rake db:create
- rake db:schema:load
- rake db:migrate
- docker login -u "${DOCKERHUB_USER}" -p "${DOCKERHUB_PASS}"
- docker pull openhpi/co_execenv_java:8-antlr
script:
- rspec --format progress
coverage: '/\(\d+.\d+\%\) covered/'