| name: CI |
| |
| on: |
| push: |
| pull_request: |
| schedule: [cron: "40 1 * * *"] |
| |
| jobs: |
| test: |
| name: ${{matrix.name || format('Rust {0}', matrix.rust)}} |
| runs-on: ${{matrix.os || 'ubuntu'}}-latest |
| strategy: |
| fail-fast: false |
| matrix: |
| include: |
| - rust: nightly |
| - rust: beta |
| - rust: stable |
| - rust: 1.43.0 |
| - name: macOS |
| rust: nightly |
| os: macos |
| - name: Windows (gnu) |
| rust: nightly-x86_64-pc-windows-gnu |
| os: windows |
| - name: Windows (msvc) |
| rust: nightly-x86_64-pc-windows-msvc |
| os: windows |
| steps: |
| - name: Enable symlinks (windows) |
| if: matrix.os == 'windows' |
| run: git config --global core.symlinks true |
| - uses: actions/checkout@v2 |
| - uses: dtolnay/rust-toolchain@master |
| with: |
| toolchain: ${{matrix.rust}} |
| - run: cargo run --manifest-path demo-rs/Cargo.toml |
| - run: cargo test |
| |
| msrv: |
| name: Rust 1.42.0 |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: dtolnay/rust-toolchain@1.42.0 |
| - run: cargo run --manifest-path demo-rs/Cargo.toml |
| |
| buck: |
| name: Buck |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: dtolnay/rust-toolchain@stable |
| - uses: actions/setup-java@v1 |
| with: |
| java-version: 8 |
| java-package: jre |
| - name: Install Buck |
| run: | |
| mkdir bin |
| wget -q -O bin/buck https://jitpack.io/com/github/facebook/buck/v2019.10.17.01/buck-v2019.10.17.01.pex |
| chmod +x bin/buck |
| echo ::add-path::bin |
| - name: Vendor dependencies |
| run: | |
| cp third-party/Cargo.lock . |
| cargo vendor --versioned-dirs --locked third-party/vendor |
| - run: buck build :cxx#check --verbose=0 |
| - run: buck run demo-rs --verbose=0 |
| - run: buck test ... --verbose=0 |
| |
| bazel: |
| name: Bazel |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install Bazel |
| run: | |
| wget -q -O install.sh https://github.com/bazelbuild/bazel/releases/download/2.1.1/bazel-2.1.1-installer-linux-x86_64.sh |
| chmod +x install.sh |
| ./install.sh --user |
| echo ::add-path::$HOME/bin |
| - name: Vendor dependencies |
| run: | |
| cp third-party/Cargo.lock . |
| cargo vendor --versioned-dirs --locked third-party/vendor |
| - run: bazel run demo-rs --verbose_failures --noshow_progress |
| - run: bazel test ... --verbose_failures --noshow_progress |