Check that we compile on solaris

This also adds infrastructure to make it easier to add more check targets in
the future.
This commit is contained in:
Brandon W Maister 2020-09-30 10:22:52 -04:00
parent f91e7e139c
commit fbc1b93431
2 changed files with 60 additions and 1 deletions

View File

@ -1,4 +1,4 @@
name: test
name: All Tests and Builds
on:
push:
@ -116,3 +116,19 @@ jobs:
env:
RUST_VERSION: stable
WASM: wasm_simple
cross-targets:
strategy:
matrix:
target:
- x86_64-sun-solaris
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install cross
run: bash ci/install-cross.sh
- name: Build static library
run: cross check --target ${{ matrix.target }}

43
ci/install-cross.sh Normal file
View File

@ -0,0 +1,43 @@
#!/usr/bin/env bash
set -euxo pipefail
main() {
local target=
if [[ "$(os)" == "ubuntu-latest" || "$(os)" == Linux ]]; then
target=x86_64-unknown-linux-musl
# shellcheck disable=SC2209
sort=sort
else
target=x86_64-apple-darwin
sort=gsort
fi
# This fetches latest stable release
local tag
tag=$(git ls-remote --tags --refs --exit-code https://github.com/rust-embedded/cross \
| cut -d/ -f3 \
| grep -E '^v[0.1.0-9.]+$' \
| $sort --version-sort \
| tail -n1)
curl -LSfs https://japaric.github.io/trust/install.sh | \
sh -s -- \
--force \
--git rust-embedded/cross \
--tag "$tag" \
--target $target
cross --version
}
# get an os name, either github's pre-set one or the result of uname
os() {
if [ -n "${OS_NAME:-}" ]; then
echo "$OS_NAME"
return
fi
uname
}
main