Use --locked for cargo, enable 'cargo fmt' check
@@ -27,16 +27,22 @@ jobs:
toolchain: ${{ env.MIN_SUPPORTED_RUST_VERSION }}
default: true
profile: minimal # minimal component installation (ie, no documentation)
- components: clippy
+ components: clippy, rustfmt
+ - name: Ensure `cargo fmt` has been run
+ uses: actions-rs/cargo@v1
+ with:
+ command: fmt
+ args: -- --check
- name: Run clippy (on minimum supported rust version to prevent warnings we can't fix)
uses: actions-rs/cargo@v1
with:
command: clippy
- args: --all-targets --all-features
+ args: --locked --all-targets --all-features
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
+ args: --locked
build:
name: ${{ matrix.job.os }} (${{ matrix.job.target }})
@@ -100,7 +106,7 @@ jobs:
with:
use-cross: ${{ matrix.job.use-cross }}
command: build
- args: --release --target=${{ matrix.job.target }}
+ args: --locked --release --target=${{ matrix.job.target }}
- name: Strip debug information from executable
id: strip
@@ -142,8 +148,9 @@ jobs:
id: test-options
shell: bash
run: |
+ # test only library unit tests and binary for arm-type targets
unset CARGO_TEST_OPTIONS
- unset CARGO_TEST_OPTIONS ; case ${{ matrix.job.target }} in arm-* | aarch64-*) CARGO_TEST_OPTIONS="--bin ${PROJECT_NAME}" ;; esac;
+ unset CARGO_TEST_OPTIONS ; case ${{ matrix.job.target }} in arm-* | aarch64-*) CARGO_TEST_OPTIONS="--lib --bin ${PROJECT_NAME}" ;; esac;
echo ::set-output name=CARGO_TEST_OPTIONS::${CARGO_TEST_OPTIONS}
- name: Run tests
@@ -151,7 +158,7 @@ jobs:
with:
use-cross: ${{ matrix.job.use-cross }}
command: test
- args: --target=${{ matrix.job.target }} ${{ steps.test-options.outputs.CARGO_TEST_OPTIONS}}
+ args: --locked --target=${{ matrix.job.target }} ${{ steps.test-options.outputs.CARGO_TEST_OPTIONS}}
- name: Create tarball
id: package
