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 - doc - 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 - python3 setup.py install deadlines: ## creates the pushed tag inside all projects stage: deadline 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/