diff --git a/grading-gitlab-ci.yml b/grading-gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..4a0206dbd7957cd0d0bf633b8789f04a7a8792cd --- /dev/null +++ b/grading-gitlab-ci.yml @@ -0,0 +1,67 @@ +# This CI config file is not used in this repository but instead referenced +# from each student project (https://gitlab.epfl.ch/help/ci/pipelines/settings#custom-ci-configuration-path) +# and used to grade them. + +workflow: + rules: + # Don't run the CI on commit messages contain "[no-ci]", used to deploy + # assignments without overloading the CI. + - if: $CI_COMMIT_MESSAGE !~ /\[no-ci\]/ + +stages: + - build + - grade + +compile: + stage: build + timeout: 15m + image: lampepfl/moocs:2021-09-20 + tags: + - cs210 + except: + - tags + - master + - exercise-1 + - exercise-2 + - exercise-3 + - exercise-4 + - exercise-5 + - exercise-6 + - exercise-7 + - exercise-8 + script: + - sbt packageSubmission + # Output of this job that needs to be stored to be reused in the grade job below + artifacts: + expire_in: 1 day + paths: + - submission.jar + +grade: + stage: grade + timeout: 15m + except: + - tags + - master + - exercise-1 + - exercise-2 + - exercise-3 + - exercise-4 + - exercise-5 + - exercise-6 + - exercise-7 + - exercise-8 + tags: + - cs210 + image: + name: lampepfl/moocs:cs210-2021-${CI_COMMIT_BRANCH} + entrypoint: [""] + allow_failure: true + before_script: + - mkdir -p /shared/submission/ + - cp submission.jar /shared/submission/submission.jar + script: + - cd /grader + - /grader/grade + - cat /shared/txtFeedback.txt + - grep -q congratulations /shared/txtFeedback.txt