| name: CI |
| on: [push, pull_request] |
| |
| jobs: |
| test: |
| name: Test |
| runs-on: ubuntu-latest |
| strategy: |
| matrix: |
| rust: [stable, beta, nightly] |
| steps: |
| - uses: actions/checkout@master |
| - name: Install Rust |
| run: rustup update ${{ matrix.rust }} && rustup default ${{ matrix.rust }} |
| - run: cargo test |
| |
| rustfmt: |
| name: Rustfmt |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@master |
| - name: Install Rust |
| run: rustup update stable && rustup default stable && rustup component add rustfmt |
| - run: cargo fmt -- --check |
| |
| publish_docs: |
| name: Publish Documentation |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@master |
| - name: Install Rust |
| run: rustup update stable && rustup default stable |
| - name: Build documentation |
| run: cargo doc --no-deps |
| - name: Publish documentation |
| run: | |
| cd target/doc |
| git init |
| git add . |
| git -c user.name='ci' -c user.email='ci' commit -m init |
| git push -f -q https://git:${{ secrets.github_token }}@github.com/${{ github.repository }} HEAD:gh-pages |
| if: github.event_name == 'push' && github.event.ref == 'refs/heads/master' |