-
Notifications
You must be signed in to change notification settings - Fork 49
131 lines (112 loc) · 3.72 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
on:
push:
pull_request:
name: Continuous integration
jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly
env:
CARGO_TERM_COLOR: always
# 20 MiB stack
RUST_MIN_STACK: 20971520
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Rust
run: |
rustup set auto-self-update disable
rustup toolchain install ${{ matrix.rust }} --profile minimal --component rustfmt clippy
rustup default ${{ matrix.rust }}
echo CARGO_TERM_COLOR=always >> $GITHUB_ENV
echo CARGO_INCREMENTAL=0 >> $GITHUB_ENV
echo RUST_BACKTRACE=1 >> $GITHUB_ENV
- name: build with cryptographically-insecure turned on (if available)
run: cargo build --features cryptographically-insecure
- name: Run tests with cryptographically-insecure turned on
run: cargo test --features cryptographically-insecure
- name: Run cargo check with all features
run: cargo check --all-features
- name: Run cargo fmt
run: cargo fmt --all -- --check
- name: run Cargo clippy
run: cargo clippy -- -D warnings -A deprecated
android:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly
env:
CARGO_TERM_COLOR: always
# 20 MiB stack
RUST_MIN_STACK: 20971520
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Rust
run: |
rustup set auto-self-update disable
rustup toolchain install ${{ matrix.rust }} --profile minimal --component rustfmt clippy
rustup target add aarch64-linux-android
echo CARGO_TERM_COLOR=always >> $GITHUB_ENV
echo CARGO_INCREMENTAL=0 >> $GITHUB_ENV
echo RUST_BACKTRACE=1 >> $GITHUB_ENV
- name: Setup Android SDK
uses: android-actions/setup-android@07976c6290703d34c16d382cb36445f98bb43b1f #3.2.0
- name: Setup Android NDK
run: sdkmanager "ndk;26.1.10909125"
- name: Compile for Android
run: |
cargo install cargo-ndk
cargo ndk -t aarch64-linux-android build
# wasi:
# name: wasi
# runs-on: ubuntu-latest
# strategy:
# matrix:
# rust:
# - stable
# - beta
# - nightly
# env:
# # 20 MiB stack
# RUST_MIN_STACK: 20971520
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: true
# - name: Install Rust
# run: |
# rustup set auto-self-update disable
# rustup toolchain install ${{ matrix.rust }} --profile minimal --component rustfmt clippy
# rustup default ${{ matrix.rust }}
# echo CARGO_TERM_COLOR=always >> $GITHUB_ENV
# echo CARGO_INCREMENTAL=0 >> $GITHUB_ENV
# echo RUST_BACKTRACE=1 >> $GITHUB_ENV
# - name: Install WASI
# run: cargo install cargo-wasi
# - name: Install wasmtime
# run: curl https://wasmtime.dev/install.sh -sSf | bash
# - name: Install WASI SDK
# run: |
# wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sysroot-12.0.tar.gz
# tar -xvzf wasi-sysroot-12.0.tar.gz
# rm wasi-sysroot-12.0.tar.gz
# - name: Run tests
# run: |
# export WASI_SDK_DIR="$(pwd)/wasi-sysroot"
# export WASMTIME_HOME="$(pwd)/.wasmtime"
# export PATH="$WASMTIME_HOME/bin:$PATH"
# cargo wasi build --features cryptographically-insecure
# #cargo wasi test -- --nocapture
# vim: set ft=yaml ts=2 sw=2 tw=0 et :