Merge rust-bitcoin/rust-secp256k1#317: Add cross testing on rust tier 1 and tier 2 with host tools

801c3789c4 disable illumos and netbsd (Riccardo Casatta)
a426456bfa [CI] add cache (Riccardo Casatta)
f1bdee210a add cross testing on rust tier 1 and tier 2 with host tools (Riccardo Casatta)

Pull request description:

  After working on https://github.com/rust-bitcoin/rust-bitcoin/pull/627 I thought it may be simple and useful to use [cross](https://github.com/rust-embedded/cross) environment to test across different architectures and started here.

  So I took all rust tier1 and tier2 with Host tools archictectures and added to the test matrix, run here https://github.com/RCasatta/rust-secp256k1/actions/runs/985791240.

  Errors on darwin are due to the environment because it works fine on physical machine, however errors on illumos and netbsd maybe are useful to know?

ACKs for top commit:
  apoelstra:
    utACK 801c3789c4

Tree-SHA512: 43c7220e41856344d4a932426d8acb8e9f004fcf33acfbde4b26f3a6074b0ce3e766d99afaca6c18381a4438775fa693b06c70d3204d83ff5a97fcbebe126056
This commit is contained in:
Andrew Poelstra 2021-11-02 18:34:24 +00:00
commit 5dcdffac82
No known key found for this signature in database
GPG Key ID: C588D63CE41B97C1
1 changed files with 60 additions and 0 deletions

60
.github/workflows/cross.yml vendored Normal file
View File

@ -0,0 +1,60 @@
on: [push, pull_request]
name: Cross testing
jobs:
Cross:
name: Cross
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch:
############ Tier 1
- aarch64-unknown-linux-gnu
# - i686-pc-windows-gnu # not supported by cross
# - i686-pc-windows-msvc # not supported by cross
- i686-unknown-linux-gnu
# - x86_64-apple-darwin # proprietary apple stuff
- x86_64-pc-windows-gnu
# - x86_64-pc-windows-msvc # not supported by cross
- x86_64-unknown-linux-gnu
############ Tier 2 with Host Tools
# - aarch64-apple-darwin # proprietary apple stuff
# - aarch64-pc-windows-msvc # not supported by cross
- aarch64-unknown-linux-musl
- arm-unknown-linux-gnueabi
- arm-unknown-linux-gnueabihf
- armv7-unknown-linux-gnueabihf
- mips-unknown-linux-gnu
- mips64-unknown-linux-gnuabi64
- mips64el-unknown-linux-gnuabi64
- mipsel-unknown-linux-gnu
- powerpc-unknown-linux-gnu
# - powerpc64-unknown-linux-gnu # not supported by cross
- powerpc64le-unknown-linux-gnu
- riscv64gc-unknown-linux-gnu
- s390x-unknown-linux-gnu
# - x86_64-unknown-freebsd # not supported by cross
# - x86_64-unknown-illumos # not supported by cross
- x86_64-unknown-linux-musl
# - x86_64-unknown-netbsd # error in tests "error: test failed, to rerun pass '--lib'", disabled for now
steps:
- name: Checkout Crate
uses: actions/checkout@v2
- uses: Swatinem/rust-cache@v1.2.0
with:
key: ${{ matrix.feature }}${{ matrix.os }}
- name: Checkout Toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install target
run: rustup target add ${{ matrix.arch }}
- name: install cross
run: cargo install cross
- name: run cross test
run: cross test --target ${{ matrix.arch }}