From 020fd7f25b7d67a0799b02414af84d0ad685e0a3 Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Sun, 18 Jun 2023 22:50:23 +0100 Subject: [PATCH] ci: added a ci pipeline --- .gitlab-ci.yml | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..bc41f95 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,86 @@ +# copied a good chunk from my bfom config +image: rust:latest + +stages: + - lint + - build + - deploy + +cache: + key: "$CI_JOB_NAME" + paths: + - target/ + +# Set any required environment variables here +variables: + RUST_BACKTRACE: FULL + + +# clippy and fmt are magic +# runs on all commits/branches +lint-clippy: + stage: lint + script: + - rustup component add clippy + - rustc --version + - cargo version + - cargo clippy + rules: + - if: $CI_COMMIT_TAG + when: never + - changes: + - src/* + - cargo.* + when: always + +lint-fmt: + stage: lint + script: + - rustup component add rustfmt + - rustc --version + - cargo version + - cargo fmt -- --check + rules: + - if: $CI_COMMIT_TAG + when: never + - changes: + - src/* + - cargo.* + when: always + + +# has to actually compile +build: + stage: build + script: + - rustc --version + - cargo version + - cargo build --verbose + - RUST_BACKTRACE=1 cargo test --verbose + rules: + - if: $CI_COMMIT_TAG + when: never + - changes: + - src/* + - cargo.* + when: on_success + + +# from https://docs.gitlab.com/ee/ci/pipelines/multi_project_pipelines.html +# so simple to deploy now +nixos: + stage: deploy + variables: + PACKAGE_NAME: "skynet_ldap_backend" + UPDATE_FLAKE: "yes" + trigger: compsoc/skynet/nixos + rules: + - if: $CI_COMMIT_TAG + when: never + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + when: on_success + + + + +