3fce5d6a14
Rust can compile to WASM, so let's use it for front-end code as well. To compile the front-end: ``` cargo install cargo-web cargo web deploy -p plume-front ```
60 lines
1.9 KiB
YAML
60 lines
1.9 KiB
YAML
language: rust
|
|
rust:
|
|
- nightly-2018-12-06
|
|
cache:
|
|
cargo: true
|
|
directories:
|
|
- kcov-master
|
|
sudo: true
|
|
dist: trusty
|
|
services: postgres
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- libcurl4-openssl-dev
|
|
- libelf-dev
|
|
- libdw-dev
|
|
- cmake
|
|
- gcc
|
|
- binutils-dev
|
|
- zlib1g-dev
|
|
- libiberty-dev
|
|
stages:
|
|
- build
|
|
- test and coverage
|
|
jobs:
|
|
include:
|
|
- stage: build
|
|
name: "Build front"
|
|
script: (cargo web -h || cargo install cargo-web) && cd plume-front && cargo web check
|
|
- stage: build
|
|
name: "Build with postgresql"
|
|
env:
|
|
- MIGRATION_DIR=migrations/postgres FEATURES=postgres DATABASE_URL=postgres://postgres@localhost/plume
|
|
script: cargo build --no-default-features --features="${FEATURES}" --release
|
|
- stage: build
|
|
name: "Build with sqlite"
|
|
env:
|
|
- MIGRATION_DIR=migrations/sqlite FEATURES=sqlite DATABASE_URL=plume.sqlite3
|
|
script: cargo build --no-default-features --features="${FEATURES}" --release
|
|
- stage: test and coverage
|
|
name: "Test with potgresql backend"
|
|
env:
|
|
- MIGRATION_DIR=migrations/postgres FEATURES=postgres DATABASE_URL=postgres://postgres@localhost/plume_tests
|
|
- RUSTFLAGS='-C link-dead-code' RUST_TEST_THREADS=1
|
|
before_script: psql -c 'create database plume_tests;' -U postgres
|
|
script:
|
|
- |
|
|
cargo test --features "${FEATURES}" --no-default-features --all --exclude plume-front &&
|
|
./script/compute_coverage.sh
|
|
- stage: test and coverage
|
|
name: "Test with Sqlite backend"
|
|
env:
|
|
- MIGRATION_DIR=migrations/sqlite FEATURES=sqlite DATABASE_URL=plume.sqlite3
|
|
- RUSTFLAGS='-C link-dead-code' RUST_TEST_THREADS=1
|
|
script:
|
|
- |
|
|
cargo test --features "${FEATURES}" --no-default-features --all --exclude plume-front &&
|
|
./script/compute_coverage.sh
|