diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e6ff343ac89842b677c84e01baed8bfa120c0a8c..8dd337fa534c15ff261d8ea706df4acd6b4480c6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,6 +38,35 @@ fmt_and_clippy: build_debug: extends: .env rules: + - if: $CI_COMMIT_TAG + when: never + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "master"' + changes: + - Cargo.lock + - when: manual + stage: build + script: + - cargo clean -p duniter + - cargo build --locked + - mkdir build + - mv target/debug/duniter build/duniter + artifacts: + paths: + - build/ + cache: + - key: + files: + - Cargo.lock + paths: + - target/debug + policy: push + +build_debug_with_cache: + extends: .env + rules: + - changes: + - Cargo.lock + when: never - if: $CI_COMMIT_TAG when: never - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "master"' @@ -45,7 +74,7 @@ build_debug: stage: build script: - cargo clean -p duniter - - cargo build + - cargo build --locked - mkdir build - mv target/debug/duniter build/duniter artifacts: @@ -57,6 +86,7 @@ build_debug: - Cargo.lock paths: - target/debug + policy: pull build_release: extends: .env @@ -65,7 +95,7 @@ build_release: - when: never stage: build script: - - cargo build --release + - cargo build --locked --release - mkdir build - mv target/release/duniter build/duniter artifacts: