67 lines
1.4 KiB
YAML
67 lines
1.4 KiB
YAML
image: $CI_REGISTRY/abgabesystem/docker-abgabesystem:latest
|
|
|
|
variables:
|
|
REFERENCE_SOLUTION: $CI_PROJECT_NAMESPACE/solutions/solutions
|
|
JPLAG_PATH: /app/jplag.jar
|
|
CI_REPO_HOST: $CI_REGISTRY
|
|
|
|
stages:
|
|
- test
|
|
- deadline
|
|
- plagiates
|
|
|
|
before_script:
|
|
## get ssh private key from secret variable
|
|
- eval $(ssh-agent -s)
|
|
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
|
|
- mkdir -p ~/.ssh
|
|
- chmod 700 ~/.ssh
|
|
- ssh-add -l
|
|
- ssh-keyscan $CI_REPO_HOST | tee ~/.ssh/known_hosts
|
|
- chmod 644 ~/.ssh/known_hosts
|
|
## get API token from secret variable
|
|
- cp python-gitlab.cfg $HOME/.python-gitlab.cfg
|
|
- echo "private_token = ${PRIVATE_API_TOKEN}" >> $HOME/.python-gitlab.cfg
|
|
- python setup.py install
|
|
|
|
deadlines:
|
|
## creates the pushed tag inside all projects
|
|
stage: deadlines
|
|
tags:
|
|
- abgabesystem
|
|
|
|
script:
|
|
- abgabesystem deadline -t $CI_COMMIT_REF_NAME -r $REFERENCE_SOLUTION
|
|
|
|
only:
|
|
- tags
|
|
|
|
plagiates:
|
|
## creates checkout of the tag for all projects and runs plagiarism checker
|
|
stage: plagiates
|
|
tags:
|
|
- abgabesystem
|
|
|
|
script:
|
|
- mkdir -p results
|
|
- abgabesystem plagiates -t $CI_COMMIT_REF_NAME -r $REFERENCE_SOLUTION -j $JPLAG_PATH
|
|
|
|
artifacts:
|
|
paths:
|
|
- results/
|
|
|
|
only:
|
|
- tags
|
|
|
|
doc:
|
|
## creates html documentation
|
|
stage: doc
|
|
tags:
|
|
- abgabesystem
|
|
|
|
script:
|
|
- make html
|
|
|
|
artifacts:
|
|
paths:
|
|
- _build/html/
|