Skip to content

Dry build rs

Dry build rs #728

Workflow file for this run

name: CI
on:
pull_request:
push:
branches: [main, dev]
workflow_dispatch:
jobs:
static_checks:
name: Format check and clippy
runs-on: ubuntu-22.04
env:
RUSTFLAGS: -D warnings
container:
image: zingodevops/ci-build:001
options: --security-opt seccomp=unconfined
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Reject trailing whitespace
run: ./utils/trailing-whitespace.sh reject
- name: What's my env
run: env
- name: Whoami
run: whoami
- name: Which rustup
run: which rustup
- name: Rustup show
run: rustup show
- name: Format checks
uses: actions-rs/cargo@v1
with:
command: fmt
args: --check
- name: Clippy checks
uses: actions-rs/cargo@v1
with:
command: clippy
cargo-test:
name: Cargo test
runs-on: ubuntu-22.04
env:
RUSTFLAGS: -D warnings
container:
image: zingodevops/ci-build:001
options: --security-opt seccomp=unconfined
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Symlink lightwalletd and zcash binaries
run: ln -s /usr/bin/lightwalletd /usr/bin/zcashd /usr/bin/zcash-cli ./zingocli/regtest/bin/
- name: Symlink zcash parameters
run: ln -s /root/.zcash-params /github/home
- name: Cargo cache
id: cargo-cache
uses: actions/cache@v3
with:
# Following cargo cache recommendations:
# https://doc.rust-lang.org/cargo/guide/cargo-home.html
# added 'target' directory to skip compiling dependencies
path: |
/root/.cargo/.crates.toml
/root/.cargo/.crates2.json
/root/.cargo/bin/
/root/.cargo/registry/index/
/root/.cargo/registry/cache/
/root/.cargo/registry/git/db/
target/
key: cargo-zingolib-${{ hashFiles('**/Cargo.lock') }}
restore-keys: cargo-zingolib
- name: Run tests and generate coverage
uses: actions-rs/cargo@v1
with:
command: tarpaulin
args: --all-features --verbose --workspace --avoid-cfg-tarpaulin --skip-clean --ignore-tests --release --timeout 3000 --out xml
- name: Upload to codecov.io
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./cobertura.xml
# fail_ci_if_error: true
create-timestamp:
uses: zingolabs/zingo-mobile/.github/workflows/create-timestamp.yaml@dev
create-cache-key:
uses: zingolabs/zingo-mobile/.github/workflows/create-cache-key.yaml@dev
build-android:
strategy:
matrix:
arch: [ x86_64, armeabi-v7a ]
uses: zingolabs/zingo-mobile/.github/workflows/build.yaml@dev
needs: create-cache-key
with:
cache-key: ${{ needs.create-cache-key.outputs.cache-key }}
arch: ${{ matrix.arch }}
integration-test-android:
uses: zingolabs/zingo-mobile/.github/workflows/integration-test.yaml@dev
needs: [ create-timestamp, create-cache-key, build-android ]
if: ${{ ! cancelled() }}
with:
timestamp: ${{ needs.create-timestamp.outputs.timestamp }}
cache-key: ${{ needs.create-cache-key.outputs.cache-key }}
abi: armeabi-v7a
e2e-test-android:
uses: zingolabs/zingo-mobile/.github/workflows/e2e-test.yaml@dev
needs: [ create-cache-key, build-android ]
if: ${{ ! cancelled() }}
with:
cache-key: ${{ needs.create-cache-key.outputs.cache-key }}