diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ad488105eaa2405b473aa69fe9175e76c9b6fd11..4580f27df4e07f498ed1ed8b4205eca1d466a16c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,13 +1,35 @@ image: "r.lcr.gr/microhacks/bevy-builder" +test-linux: + stage: test + before_script: + - export CARGO_HOME="${CI_PROJECT_DIR}/.cargo" + - export PATH="${CI_PROJECT_DIR}/.cargo/bin:$PATH" + cache: + key: build-cache-linux + paths: + - .cargo/registry/cache + - .cargo/registry/index + - .cargo/git/db + - .cargo/bin/ + - target/ + script: + - cargo test --release + + build-linux: stage: build + before_script: + - export CARGO_HOME="${CI_PROJECT_DIR}/.cargo" + - export PATH="${CI_PROJECT_DIR}/.cargo/bin:$PATH" cache: - key: - files: - - Cargo.lock + key: build-cache-linux paths: - - target + - .cargo/registry/cache + - .cargo/registry/index + - .cargo/git/db + - .cargo/bin/ + - target/ script: - cargo build --release - strip target/release/crunch @@ -17,4 +39,28 @@ build-linux: - target/release/crunch expire_in: 1 day only: - - trunk \ No newline at end of file + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - when: manual + +build-windows: + stage: build + before_script: + - export CARGO_HOME="${CI_PROJECT_DIR}/.cargo" + - export PATH="${CI_PROJECT_DIR}/.cargo/bin:$PATH" + cache: + key: build-cache-windows + paths: + - .cargo/registry/cache + - .cargo/registry/index + - .cargo/git/db + - .cargo/bin/ + - target/ + script: + - cargo build --release --target x86_64-pc-windows-gnu + artifacts: + expire_in: 1 day + paths: + - target/x86_64-pc-windows-gnu/release/crunch.exe + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - when: manual