Merge branch 'create-ci' into 'master'
Create CI See merge request clients/gecko!1
This commit is contained in:
commit
ce4b4d7c07
|
@ -0,0 +1,93 @@
|
||||||
|
stages:
|
||||||
|
- format
|
||||||
|
- build_and_test
|
||||||
|
- quality
|
||||||
|
- package
|
||||||
|
|
||||||
|
.env:
|
||||||
|
image: axiomteam/gecko-ci:v0.0.5
|
||||||
|
tags:
|
||||||
|
- redshift
|
||||||
|
before_script:
|
||||||
|
- rustup show
|
||||||
|
- rustc --version && cargo --version
|
||||||
|
|
||||||
|
format:
|
||||||
|
extends: .env
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
|
||||||
|
when: manual
|
||||||
|
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
|
||||||
|
- when: manual
|
||||||
|
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
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
|
||||||
|
when: manual
|
||||||
|
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
|
||||||
|
- when: manual
|
||||||
|
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
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
|
||||||
|
when: manual
|
||||||
|
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
|
||||||
|
- when: manual
|
||||||
|
stage: quality
|
||||||
|
script:
|
||||||
|
- cargo clippy -- -V
|
||||||
|
- cargo clippy --all --tests -- -D warnings --verbose
|
||||||
|
|
||||||
|
audit_dependencies:
|
||||||
|
extends: .env
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
|
||||||
|
when: manual
|
||||||
|
- if: $CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID
|
||||||
|
- when: manual
|
||||||
|
stage: quality
|
||||||
|
script:
|
||||||
|
- cargo deny -V
|
||||||
|
- cargo deny check
|
||||||
|
|
||||||
|
releases:test:
|
||||||
|
extends: .env
|
||||||
|
stage: package
|
||||||
|
allow_failure: true
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
when: never
|
||||||
|
- when: manual
|
||||||
|
script:
|
||||||
|
- bash "release/android/build-apk.sh" "$(date +%Y%m%d).$(date +%H%M).$(date +%S)+0"
|
||||||
|
artifacts:
|
||||||
|
paths: &releases_artifacts
|
||||||
|
- work/bin/
|
||||||
|
expire_in: 72h
|
||||||
|
|
||||||
|
releases:x64:
|
||||||
|
extends: .env
|
||||||
|
stage: package
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
script:
|
||||||
|
- bash "release/android/build-apk.sh" "${CI_COMMIT_TAG#v}"
|
||||||
|
artifacts:
|
||||||
|
paths: *releases_artifacts
|
||||||
|
expire_in: 1 mos
|
|
@ -121,6 +121,12 @@ version = "0.3.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb"
|
checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bumpalo"
|
||||||
|
version = "3.6.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "byteorder"
|
name = "byteorder"
|
||||||
version = "1.3.4"
|
version = "1.3.4"
|
||||||
|
@ -255,9 +261,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dup-crypto"
|
name = "dup-crypto"
|
||||||
version = "0.43.0"
|
version = "0.43.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1333e3d4ff5bc8e426cbac23bf3229294e784203ce3d6943a5828c4288a11d8e"
|
checksum = "5612539417a1204863d10dda1cb313fe7a34da8596d30fa93da8af125c928abb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes",
|
"aes",
|
||||||
"arrayvec",
|
"arrayvec",
|
||||||
|
@ -269,6 +275,7 @@ dependencies = [
|
||||||
"ed25519-bip32",
|
"ed25519-bip32",
|
||||||
"getrandom",
|
"getrandom",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
|
"ring",
|
||||||
"serde",
|
"serde",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"zerocopy",
|
"zerocopy",
|
||||||
|
@ -361,6 +368,21 @@ version = "0.4.7"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
|
checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "js-sys"
|
||||||
|
version = "0.3.47"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5cfb73131c35423a367daf8cbd24100af0d077668c8c2943f0e7dd775fef0f65"
|
||||||
|
dependencies = [
|
||||||
|
"wasm-bindgen",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lazy_static"
|
||||||
|
version = "1.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.81"
|
version = "0.2.81"
|
||||||
|
@ -487,6 +509,21 @@ dependencies = [
|
||||||
"winapi",
|
"winapi",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ring"
|
||||||
|
version = "0.16.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"libc",
|
||||||
|
"once_cell",
|
||||||
|
"spin",
|
||||||
|
"untrusted",
|
||||||
|
"web-sys",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ryu"
|
name = "ryu"
|
||||||
version = "1.0.5"
|
version = "1.0.5"
|
||||||
|
@ -530,6 +567,12 @@ dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "spin"
|
||||||
|
version = "0.5.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spinning_top"
|
name = "spinning_top"
|
||||||
version = "0.2.2"
|
version = "0.2.2"
|
||||||
|
@ -650,6 +693,12 @@ version = "0.2.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
|
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "untrusted"
|
||||||
|
version = "0.7.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "vec_map"
|
name = "vec_map"
|
||||||
version = "0.8.2"
|
version = "0.8.2"
|
||||||
|
@ -668,6 +717,70 @@ version = "0.9.0+wasi-snapshot-preview1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-bindgen"
|
||||||
|
version = "0.2.70"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "55c0f7123de74f0dab9b7d00fd614e7b19349cd1e2f5252bbe9b1754b59433be"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if 1.0.0",
|
||||||
|
"wasm-bindgen-macro",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-bindgen-backend"
|
||||||
|
version = "0.2.70"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7bc45447f0d4573f3d65720f636bbcc3dd6ce920ed704670118650bcd47764c7"
|
||||||
|
dependencies = [
|
||||||
|
"bumpalo",
|
||||||
|
"lazy_static",
|
||||||
|
"log",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
"wasm-bindgen-shared",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-bindgen-macro"
|
||||||
|
version = "0.2.70"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3b8853882eef39593ad4174dd26fc9865a64e84026d223f63bb2c42affcbba2c"
|
||||||
|
dependencies = [
|
||||||
|
"quote",
|
||||||
|
"wasm-bindgen-macro-support",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-bindgen-macro-support"
|
||||||
|
version = "0.2.70"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4133b5e7f2a531fa413b3a1695e925038a05a71cf67e87dafa295cb645a01385"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
"wasm-bindgen-backend",
|
||||||
|
"wasm-bindgen-shared",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-bindgen-shared"
|
||||||
|
version = "0.2.70"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "dd4945e4943ae02d15c13962b38a5b1e81eadd4b71214eee75af64a4d6a4fd64"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "web-sys"
|
||||||
|
version = "0.3.47"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c40dc691fc48003eba817c38da7113c15698142da971298003cac3ef175680b3"
|
||||||
|
dependencies = [
|
||||||
|
"js-sys",
|
||||||
|
"wasm-bindgen",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winapi"
|
name = "winapi"
|
||||||
version = "0.3.9"
|
version = "0.3.9"
|
||||||
|
|
|
@ -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"
|
|
@ -19,7 +19,6 @@ class HomeProvider with ChangeNotifier {
|
||||||
Widget appBarTitle = Text('Ğecko', style: TextStyle(color: Colors.grey[850]));
|
Widget appBarTitle = Text('Ğecko', style: TextStyle(color: Colors.grey[850]));
|
||||||
List currentTab = [HistoryScreen(), WalletsHome()];
|
List currentTab = [HistoryScreen(), WalletsHome()];
|
||||||
|
|
||||||
|
|
||||||
get currentIndex => _currentIndex;
|
get currentIndex => _currentIndex;
|
||||||
|
|
||||||
set currentIndex(int index) {
|
set currentIndex(int index) {
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
name = "dubp_rs"
|
name = "dubp_rs"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
authors = ["Éloïs SANCHEZ <elois@duniter.org>"]
|
authors = ["Éloïs SANCHEZ <elois@duniter.org>"]
|
||||||
|
license = "AGPL-3.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
|
@ -10,7 +11,7 @@ crate-type = ["rlib"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
allo-isolate = "0.1.6"
|
allo-isolate = "0.1.6"
|
||||||
dup-crypto = { version = "0.43.0", features = ["bip32-ed25519", "dewif", "mnemonic", "mnemonic_french", "scrypt"] }
|
dup-crypto = { version = "0.43.2", features = ["bip32-ed25519", "dewif", "mnemonic", "mnemonic_french", "scrypt"] }
|
||||||
fast-threadpool = { version = "0.3.0", default-features = false }
|
fast-threadpool = { version = "0.3.0", default-features = false }
|
||||||
once_cell = { version = "1.3.1", default-features = false, features = ["std"] }
|
once_cell = { version = "1.3.1", default-features = false, features = ["std"] }
|
||||||
thiserror = "1.0.23"
|
thiserror = "1.0.23"
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ -z "${1}" ]]; then
|
||||||
|
echo "Fatal: no version given to build script"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
APPNAME="gecko"
|
||||||
|
VERSION=$(awk -F '+' '{ print $1 }' <<<${1})
|
||||||
|
BUILD=$(awk -F '+' '{ print $2 }' <<<${1})
|
||||||
|
ORI_APP="app-release.apk"
|
||||||
|
APK_FILENAME="${APPNAME}-${VERSION}+${BUILD}.apk"
|
||||||
|
|
||||||
|
echo "artifact name: ${APK_FILENAME}"
|
||||||
|
|
||||||
|
## Build Rust dependancies
|
||||||
|
echo "Compile Rust binding..."
|
||||||
|
cargo make
|
||||||
|
|
||||||
|
# Build APK
|
||||||
|
echo "Build APK..."
|
||||||
|
flutter clean
|
||||||
|
flutter build apk --release --build-name $VERSION --build-number $BUILD
|
||||||
|
|
||||||
|
# Create artifacts folder
|
||||||
|
ARTIFACTS_FOLDER="work/bin"
|
||||||
|
mkdir -p ${ARTIFACTS_FOLDER}
|
||||||
|
|
||||||
|
# Move APK in artifacts folder
|
||||||
|
APK_PATH="${ARTIFACTS_FOLDER}/${APK_FILENAME}"
|
||||||
|
mv build/app/outputs/flutter-apk/$ORI_APP "$APK_PATH" || exit 1
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Reference in New Issue