ci: create gitlab ci

This commit is contained in:
librelois 2021-02-25 04:22:55 +01:00
parent be45796893
commit 0ef008d5c5
3 changed files with 97 additions and 0 deletions

46
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,46 @@
stages:
- format
- build_and_test
- quality
.env:
image: axiomteam/gecko-ci:v0.0.5
tags:
- redshift
before_script:
- rustup show
- rustc --version && cargo --version
format:
extends: .env
stage: format
script:
- cargo fmt -- --version
- cargo fmt -- --check
- flutter format --set-exit-if-changed lib packages/dubp_rs/lib/dubp.dart
build_and_test:
extends: .env
stage: build_and_test
tags:
- redshift
script:
- RUSTFLAGS="-D warnings" cargo make
- cd packages/dubp_rs && flutter pub get && cd ../..
- flutter analyze
- cargo test
# - flutter test
lint:
extends: .env
stage: quality
script:
- cargo clippy -- -V
- cargo clippy --all --tests -- -D warnings --verbose
audit_dependencies:
extends: .env
stage: quality
script:
- cargo deny -V
- cargo deny check

50
deny.toml Normal file
View File

@ -0,0 +1,50 @@
[bans]
multiple-versions = "warn"
deny = [
# color-backtrace is nice but brings in too many dependencies and that are often outdated, so not worth it for us.
{ name = "color-backtrace" },
# deprecated
{ name = "quickersort" },
# term is not fully maintained, and termcolor is replacing it
{ name = "term" },
]
skip-tree = [
{ name = "winapi", version = "<= 0.3" },
]
[licenses]
unlicensed = "deny"
# We want really high confidence when inferring licenses from text
confidence-threshold = 0.92
allow = [
"AGPL-3.0",
"Apache-2.0",
"BSD-2-Clause",
"BSD-3-Clause",
"CC0-1.0",
"ISC",
"MIT",
"MPL-2.0",
"OpenSSL",
"Zlib"
]
[[licenses.clarify]]
name = "ring"
# SPDX considers OpenSSL to encompass both the OpenSSL and SSLeay licenses
# https://spdx.org/licenses/OpenSSL.html
# ISC - Both BoringSSL and ring use this for their new files
# MIT - "Files in third_party/ have their own licenses, as described therein. The MIT
# license, for third_party/fiat, which, unlike other third_party directories, is
# compiled into non-test libraries, is included below."
# OpenSSL - Obviously
expression = "ISC AND MIT AND OpenSSL"
license-files = [
{ path = "LICENSE", hash = 0xbd0eed23 },
]
[sources]
unknown-registry = "deny"
unknown-git = "deny"

View File

@ -2,6 +2,7 @@
name = "dubp_rs"
version = "0.1.0"
authors = ["Éloïs SANCHEZ <elois@duniter.org>"]
license = "AGPL-3.0"
edition = "2018"
[lib]