1818 steps :
1919 - name : Checkout repository
2020 uses : actions/checkout@v2
21+ with : {submodules: true}
22+ - name : Install netCDF
23+ run : sudo apt-get install libnetcdf-dev
2124 - name : Install rust
2225 uses : actions-rs/toolchain@v1
2326 with :
@@ -28,13 +31,13 @@ jobs:
2831 - name : Check formatting
2932 run : cargo fmt -- --check
3033 - name : Documentation
31- run : cargo doc --workspace
34+ run : cargo doc --workspace --exclude netcdf-src
3235 - name : Clippy
33- run : cargo clippy --workspace -- -D warnings
36+ run : cargo clippy --workspace --exclude netcdf-src -- -D warnings
3437
35- test :
36- name : test
37- runs-on : ${{ matrix.os }}
38+ test_apt :
39+ name : test apt
40+ runs-on : ubuntu-18.04
3841 strategy :
3942 matrix :
4043 build :
@@ -43,17 +46,15 @@ jobs:
4346 - nightly
4447 include :
4548 - build : stable
46- os : ubuntu-18.04
4749 rust : stable
4850 - build : beta
49- os : ubuntu-18.04
5051 rust : beta
5152 - build : nightly
52- os : ubuntu-18.04
5353 rust : nightly
5454 steps :
5555 - name : Checkout repository
5656 uses : actions/checkout@v2
57+ with : {submodules: false}
5758
5859 - name : Install netcdf
5960 run : sudo apt-get install libnetcdf-dev
@@ -66,15 +67,70 @@ jobs:
6667 override : true
6768
6869 - name : Build
69- run : cargo build --verbose --workspace
70+ run : cargo build --verbose --workspace --exclude netcdf-src
7071
7172 - name : Test
72- run : cargo test --verbose --workspace
73+ run : cargo test --verbose --workspace --exclude netcdf-src
7374 if : matrix.os == 'ubuntu-18.04'
7475
76+ conda :
77+ name : conda
78+ runs-on : ${{matrix.os}}-latest
79+ strategy :
80+ fail-fast : false
81+ matrix :
82+ include :
83+ - {os: ubuntu, channel: conda-forge, rust: stable}
84+ - {os: windows, channel: conda-forge, rust: stable}
85+ - {os: macos, channel: conda-forge, rust: stable}
86+ defaults :
87+ run :
88+ shell : bash -l {0}
89+ steps :
90+ - name : Checkout repository
91+ uses : actions/checkout@v2
92+ with : {submodules: true}
93+ - name : Install Rust (${{matrix.rust}})
94+ uses : actions-rs/toolchain@v1
95+ with : {toolchain: '${{matrix.rust}}', profile: minimal, override: true}
96+ - name : Install conda
97+ uses : goanpeca/setup-miniconda@v1
98+ with : {auto-update-conda: false, activate-environment: testenv}
99+ - name : Install netCDF
100+ run : |
101+ export HDF5_DIR="$CONDA_PREFIX"
102+ conda install -y -c ${{matrix.channel}} libnetcdf=4.7.4 hdf5=1.10.6
103+ - name : Build and test
104+ run : cargo test -vv --workspace --exclude netcdf-src
105+
106+ static_builds :
107+ name : static builds
108+ runs-on : ${{matrix.os}}-latest
109+ strategy :
110+ fail-fast : false
111+ matrix :
112+ include :
113+ - {os: ubuntu, rust: stable}
114+ - {os: windows, rust: stable-msvc}
115+ - {os: windows, rust: stable-gnu}
116+ - {os: macos, rust: stable}
117+ defaults :
118+ run :
119+ shell : bash -l {0}
120+ steps :
121+ - name : Checkout repository
122+ uses : actions/checkout@v2
123+ with : {submodules: true}
124+ - name : Install Rust (${{matrix.rust}})
125+ uses : actions-rs/toolchain@v1
126+ with : {toolchain: '${{matrix.rust}}', profile: minimal, override: true}
127+ - name : Build and test
128+ run : cargo test -vv --workspace --features static
129+
75130 tarpaulin :
76131 name : tarpaulin
77132 runs-on : ubuntu-18.04
133+ if : github.ref != 'refs/heads/master'
78134 steps :
79135 - name : Checkout repository
80136 uses : actions/checkout@v2
98154
99155 - name : Upload to codecov
100156 uses : codecov/codecov-action@v1.0.2
101- with :
102- token : ${{ secrets.CODECOV_TOKEN }}
0 commit comments