From f0bf75585cd90e38b607379cb6037bb35bfc0c76 Mon Sep 17 00:00:00 2001 From: Nick Bland Date: Tue, 29 Aug 2023 18:16:49 +1000 Subject: [PATCH] Add in ci/cd --- .cargo/config.toml | 22 ++++++++++++++++++++++ .gitignore | 1 + .gitlab-ci-local-env | 1 + .gitlab-ci.yml | 23 +++++++++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 .cargo/config.toml create mode 100644 .gitlab-ci-local-env create mode 100644 .gitlab-ci.yml diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..07847f1 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,22 @@ +# On Windows +# ``` +# cargo install -f cargo-binutils +# rustup component add llvm-tools-preview +# ``` +[target.x86_64-pc-windows-msvc] +rustflags = ["-C", "link-arg=-fuse-ld=lld"] +[target.x86_64-pc-windows-gnu] +rustflags = ["-C", "link-arg=-fuse-ld=lld"] + +# On Linux: +# - Ubuntu, `sudo apt-get install lld clang` +# - Arch, `sudo pacman -S lld clang` +[target.x86_64-unknown-linux-gnu] +rustflags = ["-C", "linker=clang", "-C", "link-arg=-fuse-ld=lld"] + +# On MacOS, `brew install michaeleisel/zld/zld` +[target.x86_64-apple-darwin] +rustflags = ["-C", "link-arg=-fuse-ld=/usr/local/bin/zld"] + +[target.aarch64-apple-darwin] +rustflags = ["-C", "link-arg=-fuse-ld=/usr/local/bin/zld"] \ No newline at end of file diff --git a/.gitignore b/.gitignore index 77a7d5c..72b40cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ /target .vscode .env +.gitlab-ci-local # Added by cargo # diff --git a/.gitlab-ci-local-env b/.gitlab-ci-local-env new file mode 100644 index 0000000..48181d9 --- /dev/null +++ b/.gitlab-ci-local-env @@ -0,0 +1 @@ +PRIVILEGED=true \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..ed849fd --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,23 @@ +image: "estusdev/rust-ci" + +default: + before_script: + - rustc --version && cargo --version + +stages: + - test + +test-code: + stage: test + script: + - cargo test --verbose + +lint-code: + stage: test + script: + - cargo clippy -- -D warnings + +format-code: + stage: test + script: + - cargo fmt -- --check \ No newline at end of file