name: All Tests and Builds on: push: branches: [main] pull_request: branches: [main] paths: - '**.rs' - .github/** - Cargo.toml jobs: test: strategy: matrix: os: [ubuntu-16.04, ubuntu-latest, macos-latest, windows-latest] rust_version: [stable] exhaustive_tz: [onetz] check_combinatoric: [no_combinatoric] include: # check all tzs on most-recent OS's - os: ubuntu-latest rust_version: stable exhaustive_tz: all_tzs - os: windows-latest rust_version: stable exhaustive_tz: all_tzs - os: macos-latest rust_version: stable exhaustive_tz: all_tzs # compilation check - os: ubuntu-latest rust_version: stable check_combinatoric: 'combinatoric' # test other rust versions - os: ubuntu-latest rust_version: beta - os: ubuntu-latest rust_version: nightly - os: ubuntu-16.04 rust_version: 1.13.0 - os: macos-latest rust_version: 1.13.0 # time doesn't work on windows with 1.13 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Install rust uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust_version }} override: true - name: Build and Test run: bash ci/github.sh env: RUST_VERSION: ${{ matrix.rust_version }} EXHAUSTIVE_TZ: ${{ matrix.exhaustive_tz }} CHECK_COMBINATORIC: ${{ matrix.check_combinatoric }} no_std: strategy: matrix: os: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Install rust with no_std toolchain uses: actions-rs/toolchain@v1 with: toolchain: stable target: thumbv6m-none-eabi override: true - name: Build no_std lib run: cargo build --target thumbv6m-none-eabi --color=always working-directory: ./ci/core-test wasm: strategy: matrix: os: [macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Install rust uses: actions-rs/toolchain@v1 with: toolchain: stable target: wasm32-unknown-unknown override: true - name: Install node uses: actions/setup-node@v1 with: node-version: '12' - name: Install wasm-pack run: | export RUST_BACKTRACE=1 curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh wasm-pack --version - name: Build and Test run: bash ci/github.sh 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 }}