|
|
@ -29,8 +29,8 @@ jobs: |
|
|
|
command: fmt |
|
|
|
args: --all -- --check |
|
|
|
|
|
|
|
test: |
|
|
|
name: Test |
|
|
|
check: |
|
|
|
name: Check |
|
|
|
runs-on: ubuntu-latest |
|
|
|
env: |
|
|
|
RUSTFLAGS: -Dwarnings |
|
|
@ -78,13 +78,39 @@ jobs: |
|
|
|
args: --all-features --examples --workspace --benches |
|
|
|
if: matrix.rust == 'nightly' |
|
|
|
|
|
|
|
- name: Test |
|
|
|
uses: actions-rs/cargo@v1 |
|
|
|
with: |
|
|
|
command: test |
|
|
|
args: "--workspace \ |
|
|
|
--all-features \ |
|
|
|
--exclude curve-benches" |
|
|
|
|
|
|
|
|
|
|
|
directories: # Job that list subdirectories |
|
|
|
name: List directories for parallelizing tests |
|
|
|
runs-on: ubuntu-latest |
|
|
|
outputs: |
|
|
|
dir: ${{ steps.set-dirs.outputs.dir }} # generate output name dir by using inner step output |
|
|
|
steps: |
|
|
|
- uses: actions/checkout@v2 |
|
|
|
- id: set-dirs # Give it an id to handle to get step outputs in the outputs key above |
|
|
|
run: echo "::set-output name=dir::$(ls -d */ | jq -R -s -c 'split("\n")[:-1]')" |
|
|
|
# Define step output named dir base on ls command transformed to JSON thanks to jq |
|
|
|
test: |
|
|
|
name: Test |
|
|
|
runs-on: ubuntu-latest |
|
|
|
needs: [directories] # Depends on previous job |
|
|
|
strategy: |
|
|
|
matrix: |
|
|
|
dir: ${{fromJson(needs.directories.outputs.dir)}} # List matrix strategy from directories dynamically |
|
|
|
# rust: |
|
|
|
# - stable |
|
|
|
# - nightly |
|
|
|
exclude: |
|
|
|
- dir: scripts/ |
|
|
|
- dir: curve-constraint-tests/ |
|
|
|
- dir: curve-benches/ |
|
|
|
steps: |
|
|
|
- name: Checkout |
|
|
|
uses: actions/checkout@v2 |
|
|
|
- name: Run tests |
|
|
|
run: | |
|
|
|
cd ${{matrix.dir}} |
|
|
|
cargo test --all-features |
|
|
|
|
|
|
|
docs: |
|
|
|
name: Check Documentation |
|
|
|