diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index dd83c66df..ecb1d8d6f 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -433,6 +433,58 @@ jobs: make test + build_rust_stable: + name: Build/stable + needs: [ min_version, deps ] + runs-on: ${{ matrix.job.os }} + strategy: + fail-fast: false + matrix: + job: + - { os: ubuntu-latest , features: feat_os_unix } + - { os: macos-latest , features: feat_os_macos } + - { os: windows-latest , features: feat_os_windows } + steps: + - uses: actions/checkout@v2 + - uses: Swatinem/rust-cache@v1 + - name: Install `rust` toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + default: true + profile: minimal # minimal component installation (ie, no documentation) + - name: Test + uses: actions-rs/cargo@v1 + with: + command: test + args: ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} + + build_rust_nightly: + name: Build/nightly + needs: [ min_version, deps ] + runs-on: ${{ matrix.job.os }} + strategy: + fail-fast: false + matrix: + job: + - { os: ubuntu-latest , features: feat_os_unix } + - { os: macos-latest , features: feat_os_macos } + - { os: windows-latest , features: feat_os_windows } + steps: + - uses: actions/checkout@v2 + - uses: Swatinem/rust-cache@v1 + - name: Install `rust` toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + default: true + profile: minimal # minimal component installation (ie, no documentation) + - name: Test + uses: actions-rs/cargo@v1 + with: + command: test + args: ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} + compute_size: name: Binary sizes needs: [ min_version, deps ] @@ -505,7 +557,6 @@ jobs: #- { os: ubuntu-18.04 , target: x86_64-unknown-linux-gnu , features: feat_os_unix , use-cross: use-cross } #- { os: ubuntu-18.04 , target: x86_64-unknown-linux-musl , features: feat_os_unix_musl , use-cross: use-cross } - { os: macos-latest , target: x86_64-apple-darwin , features: feat_os_macos } - - { os: windows-latest , target: i686-pc-windows-gnu , features: feat_os_windows } - { os: windows-latest , target: i686-pc-windows-msvc , features: feat_os_windows } - { os: windows-latest , target: x86_64-pc-windows-gnu , features: feat_os_windows } ## note: requires rust >= 1.43.0 to link correctly - { os: windows-latest , target: x86_64-pc-windows-msvc , features: feat_os_windows } @@ -631,12 +682,8 @@ jobs: esac - name: rust toolchain ~ install uses: actions-rs/toolchain@v1 - # env: - # # Override auto-detection of RAM for Rustc install. - # # https://github.com/rust-lang/rustup/issues/2229#issuecomment-585855925 - # RUSTUP_UNPACK_RAM: "21474836480" with: - toolchain: ${{ steps.vars.outputs.TOOLCHAIN }} + toolchain: ${{ env.RUST_MIN_SRV }} target: ${{ matrix.job.target }} default: true profile: minimal # minimal component installation (ie, no documentation) @@ -688,18 +735,21 @@ jobs: use-cross: ${{ steps.vars.outputs.CARGO_USE_CROSS }} command: build args: --release --target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} + toolchain: ${{ env.RUST_MIN_SRV }} - name: Test uses: actions-rs/cargo@v1 with: use-cross: ${{ steps.vars.outputs.CARGO_USE_CROSS }} command: test args: --target=${{ matrix.job.target }} ${{ steps.vars.outputs.CARGO_TEST_OPTIONS}} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} + toolchain: ${{ env.RUST_MIN_SRV }} - name: Test individual utilities uses: actions-rs/cargo@v1 with: use-cross: ${{ steps.vars.outputs.CARGO_USE_CROSS }} command: test args: --target=${{ matrix.job.target }} ${{ steps.vars.outputs.CARGO_TEST_OPTIONS}} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} ${{ steps.dep_vars.outputs.CARGO_UTILITY_LIST_OPTIONS }} + toolchain: ${{ env.RUST_MIN_SRV }} - name: Archive executable artifacts uses: actions/upload-artifact@v2 with: