pathos 0.3.0

A natural API for handling OS-specific user or system directories, including iOS and Android.
Documentation
name: CI

on: [push, pull_request]

jobs:
  test-ios:
    name: Tests (iOS)
    runs-on: macos-latest
    continue-on-error: ${{ matrix.toolchain == 'nightly' }}
    strategy:
      fail-fast: false
      matrix:
        toolchain: [stable, beta, nightly]
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2
      - name: Create simulator
        run: xcrun simctl create rust-test 'iPhone X'
      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          target: x86_64-apple-ios
          override: true
      - name: Build cargo test
        id: build
        run: |
          cargo test --target x86_64-apple-ios --no-run
          test_exe=`cargo test --target x86_64-apple-ios --no-run --message-format=json | jq 'select (.executable != null) .executable'`
          echo "::set-output name=TEST_EXE::$test_exe"
      - name: Boot simulator
        run: xcrun simctl boot rust-test
      - name: Run test in simulator
        run: xcrun simctl spawn rust-test ${{ steps.build.outputs.TEST_EXE }}
  test:
    name: Test Suite
    runs-on: ${{ matrix.os }}
    continue-on-error: ${{ matrix.toolchain == 'nightly' }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        toolchain: [stable, beta, nightly]
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2
      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          override: true
      - name: Run cargo test
        uses: actions-rs/cargo@v1
        with:
          command: test