diff --git a/ci_cd/lab0.yml b/ci_cd/lab0.yml index e884f29ca616794eccd8c2ffe4640d4af0245ba2..7b54e1558a2b104e88c326dd57558e703e361481 100644 --- a/ci_cd/lab0.yml +++ b/ci_cd/lab0.yml @@ -24,8 +24,15 @@ prebuild_lab_0: paths: - base_0 rules: - - changes: - - lab0.cpp + - if: '$CI_COMMIT_REF_NAME == "lab0"' + tags: [c++-17] + +prebuild_lab_0_alt: + stage: labm1 + script: + - echo "Skipping Lab 0 checks because the branch name is not lab0" + rules: + - if: '$CI_COMMIT_REF_NAME != "lab0"' tags: [c++-17] compile_lab_0: @@ -37,8 +44,7 @@ compile_lab_0: paths: - base_0 rules: - - changes: - - lab0.cpp + - if: '$CI_COMMIT_REF_NAME != "lab0"' dependencies: - prebuild_lab_0 tags: [c++-17] @@ -53,8 +59,7 @@ lint_lab_0: paths: - base_0 rules: - - changes: - - lab0.cpp + - if: '$CI_COMMIT_REF_NAME != "lab0"' dependencies: - prebuild_lab_0 tags: [cppcheck] @@ -68,8 +73,7 @@ test_lab_0: - cd base_0/tests - make lab0 rules: - - changes: - - lab0.cpp + - if: '$CI_COMMIT_REF_NAME != "lab0"' dependencies: - compile_lab_0 tags: [c++-17] @@ -83,7 +87,6 @@ internal_tests_lab_0: - cd lab-tests/internal_tests - make lab0 rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"' - changes: - - lab0.cpp + - if: '$CI_COMMIT_REF_NAME != "lab0" && $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"' + tags: [ c++-17 ] diff --git a/ci_cd/lab1.yml b/ci_cd/lab1.yml index 8ebe9099fd3529608eb1cd8cea21e0e38783abd4..10951f57104725148dfb33ad9534d22d82eae3cf 100644 --- a/ci_cd/lab1.yml +++ b/ci_cd/lab1.yml @@ -2,7 +2,6 @@ prebuild_lab_1: stage: lab1 script: - - echo $CI_PIPELINE_SOURCE - echo "Changes Detected (if any):"; - git diff --name-only $CI_COMMIT_SHA~ $CI_COMMIT_SHA || echo "No changes found"; - | @@ -25,9 +24,15 @@ prebuild_lab_1: paths: - base_1 rules: - - changes: - - lab1.cpp - - when: never + - if: '$CI_COMMIT_REF_NAME == "lab1"' + tags: [c++-17] + +prebuild_lab_1_alt: + stage: labm1 + script: + - echo "Skipping Lab 0 checks because the branch name is not lab1" + rules: + - if: '$CI_COMMIT_REF_NAME != "lab1"' tags: [c++-17] compile_lab_1: @@ -41,8 +46,7 @@ compile_lab_1: dependencies: - prebuild_lab_1 rules: - - changes: - - lab1.cpp + - if: '$CI_COMMIT_REF_NAME != "lab1"' tags: [c++-17] lint_lab_1: @@ -57,8 +61,7 @@ lint_lab_1: dependencies: - prebuild_lab_1 rules: - - changes: - - lab1.cpp + - if: '$CI_COMMIT_REF_NAME != "lab1"' tags: [cppcheck] test_lab_1: @@ -72,8 +75,7 @@ test_lab_1: dependencies: - compile_lab_1 rules: - - changes: - - lab1.cpp + - if: '$CI_COMMIT_REF_NAME != "lab1"' tags: [c++-17] # trigger internal tests only upon a merge request into master @@ -85,7 +87,5 @@ internal_tests_lab_1: - cd lab-tests/internal_tests - make lab1 rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"' - changes: - - lab1.cpp + - if: '$CI_COMMIT_REF_NAME != "lab0" && $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"' tags: [ c++-17 ] diff --git a/ci_cd/labm1.yml b/ci_cd/labm1.yml index d925a183f14f763e72cc97316262b281142267fe..5bcd975642b240ebadcfba77aea9c065a6f8be99 100644 --- a/ci_cd/labm1.yml +++ b/ci_cd/labm1.yml @@ -2,16 +2,21 @@ prebuild_lab_m1: stage: labm1 script: - - echo "Changes Detected (if any):"; - - git diff --name-only $CI_COMMIT_SHA~ $CI_COMMIT_SHA || echo "No changes found"; - | if [ ! -f 'lab-1.cpp' ]; then echo "ERROR - could not find file lab-1.cpp"; exit 1; fi rules: - - changes: - - lab-1.cpp + - if: '$CI_COMMIT_REF_NAME == "lab-1"' + tags: [c++-17] + +prebuild_lab_m1_alt: + stage: labm1 + script: + - echo "Skipping Lab -1 checks because the branch name is not lab-1" + rules: + - if: '$CI_COMMIT_REF_NAME != "lab-1"' tags: [c++-17] compile_lab_m1: @@ -20,8 +25,7 @@ compile_lab_m1: - echo "Compiling lab-1.cpp" - g++ -c lab-1.cpp rules: - - changes: - - lab-1.cpp + - if: '$CI_COMMIT_REF_NAME == "lab-1"' tags: [c++-17] lint_lab_m1: @@ -31,17 +35,14 @@ lint_lab_m1: - cppcheck --enable=all --inconclusive --error-exitcode=1 lab-1.cpp allow_failure: false rules: - - changes: - - lab-1.cpp + - if: '$CI_COMMIT_REF_NAME == "lab-1"' tags: [cppcheck] # don't run the test in the master branch test_lab_m1: stage: labm1 rules: - - if: '$CI_COMMIT_BRANCH != "master" && $CI_COMMIT_TAG == null' - changes: - - lab-1.cpp + - if: '$CI_COMMIT_REF_NAME == "lab-1" && $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_TAG == null' script: - echo "Testing Lab -1"; - |