name: build on: push: branches: - master pull_request: branches: - master schedule: - cron: "0 0 * * 0" jobs: fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: rustup update && rustup component add rustfmt - run: cargo fmt -- --check clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: rustup update && rustup component add clippy - run: cargo clippy --all-targets --all-features test: strategy: matrix: os: [ ubuntu-latest, windows-latest ] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 with: submodules: true - run: rustup update - run: cargo build - run: cargo test --all-features env: RUST_BACKTRACE: 1 test_wasm: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: rustup update - run: cargo install wasm-pack - run: wasm-pack test --node working-directory: ./lib js: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: rustup update - run: cargo install wasm-pack - run: npm install working-directory: ./js - run: npm test working-directory: ./js python: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: rustup update - uses: actions/setup-python@v2 with: python-version: 3.8 - run: python -m venv python/venv - run: source python/venv/bin/activate && pip install --upgrade 'maturin~=0.12' sphinx - run: source venv/bin/activate && maturin develop working-directory: ./python - run: source ../venv/bin/activate && python -m unittest working-directory: ./python/tests - run: source ../venv/bin/activate && sphinx-build -M doctest . build working-directory: ./python/docs - run: source ../venv/bin/activate && sphinx-build -M html . build working-directory: ./python/docs python_wheel_linux: runs-on: ubuntu-latest needs: python steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: 3.6 - run: pip install 'maturin~=0.12' - run: maturin build working-directory: ./python python_wheel_mac: runs-on: macos-latest needs: python steps: - uses: actions/checkout@v2 - run: rustup update && rustup target add aarch64-apple-darwin - uses: actions/setup-python@v2 with: python-version: 3.6 - run: pip install 'maturin~=0.12' - run: maturin build --universal2 working-directory: ./python python_wheel_windows: runs-on: windows-latest needs: python steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: 3.6 - run: pip install 'maturin~=0.12' - run: maturin build working-directory: ./python