diff options
author | Diego Barrios Romero <eldruin@gmail.com> | 2020-12-01 08:18:35 +0100 |
---|---|---|
committer | Diego Barrios Romero <eldruin@gmail.com> | 2020-12-01 08:18:35 +0100 |
commit | 3d3cafc6609056e998e39352e86d19d8a6b08041 (patch) | |
tree | 3b14857aaff978538f636a397833993ee6d6df76 /.github | |
parent | 2a0cd296790cd8c4b8e58c1dd8a24301a1a8e3f2 (diff) | |
download | ads1x1x-async-3d3cafc6609056e998e39352e86d19d8a6b08041.tar.gz ads1x1x-async-3d3cafc6609056e998e39352e86d19d8a6b08041.tar.xz ads1x1x-async-3d3cafc6609056e998e39352e86d19d8a6b08041.zip |
Use GitHub Actions instead of Travis for CI
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/build.yml | 65 | ||||
-rw-r--r-- | .github/workflows/clippy.yml | 21 | ||||
-rw-r--r-- | .github/workflows/coverage.yml | 28 | ||||
-rw-r--r-- | .github/workflows/docs.yml | 24 | ||||
-rw-r--r-- | .github/workflows/rustfmt.yml | 19 | ||||
-rw-r--r-- | .github/workflows/test.yml | 56 |
6 files changed, 213 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..62a39be --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,65 @@ +on: + push: + pull_request: + schedule: + - cron: 0 0 * * 0 + +name: Build + +env: + RUSTFLAGS: '-D warnings' + +jobs: + ci-linux: + runs-on: ubuntu-latest + strategy: + matrix: + rust: [stable] + TARGET: + - x86_64-unknown-linux-gnu + - x86_64-unknown-linux-musl + - arm-unknown-linux-gnueabi # Raspberry Pi 1 + - armv7-unknown-linux-gnueabihf # Raspberry Pi 2, 3, etc + # Bare metal + - thumbv6m-none-eabi + - thumbv7em-none-eabi + - thumbv7em-none-eabihf + - thumbv7m-none-eabi + + include: + # Test MSRV + - rust: 1.31.0 + TARGET: x86_64-unknown-linux-gnu + + - rust: beta + TARGET: x86_64-unknown-linux-gnu + + # Test nightly but don't fail + - rust: nightly + experimental: true + TARGET: x86_64-unknown-linux-gnu + + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.TARGET }} + override: true + + - name: Checkout CI scripts + uses: actions/checkout@v2 + with: + repository: 'eldruin/rust-driver-ci-scripts' + ref: 'master' + path: 'ci' + + - run: ./ci/patch-no-std.sh + if: ${{ ! contains(matrix.TARGET, 'x86_64') }} + + - name: Build + uses: actions-rs/cargo@v1 + with: + command: build + args: --target=${{ matrix.TARGET }} diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml new file mode 100644 index 0000000..edf92fb --- /dev/null +++ b/.github/workflows/clippy.yml @@ -0,0 +1,21 @@ +on: [push, pull_request] + +name: Clippy check + +env: + RUSTFLAGS: '-D warnings' + +jobs: + clippy_check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + components: clippy + - uses: actions-rs/clippy-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 0000000..6e47780 --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,28 @@ +on: [push] + +name: Coverage + +jobs: + check: + name: Coverage + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Install stable toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Run cargo-tarpaulin + uses: actions-rs/tarpaulin@v0.1 + with: + args: '--out Lcov -- --test-threads 1' + + - name: upload to Coveralls + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + path-to-lcov: './lcov.info' diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..dc2233b --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,24 @@ +on: + push: + pull_request: + schedule: + - cron: 0 0 * * 0 + +name: Build docs + +env: + RUSTFLAGS: '-D warnings' + +jobs: + docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + - uses: actions-rs/cargo@v1 + with: + command: doc diff --git a/.github/workflows/rustfmt.yml b/.github/workflows/rustfmt.yml new file mode 100644 index 0000000..824c299 --- /dev/null +++ b/.github/workflows/rustfmt.yml @@ -0,0 +1,19 @@ +on: [push, pull_request] + +name: Code formatting check + +jobs: + fmt: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + components: rustfmt + - uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..10b3f47 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,56 @@ +on: + push: + pull_request: + schedule: + - cron: 0 0 * * 0 + +name: Test + +env: + RUSTFLAGS: '-D warnings' + +jobs: + ci-linux: + runs-on: ubuntu-latest + strategy: + matrix: + rust: [stable] + TARGET: + - x86_64-unknown-linux-gnu + - x86_64-unknown-linux-musl + + include: + # Test MSRV + - rust: 1.31.0 + TARGET: x86_64-unknown-linux-gnu + + - rust: beta + TARGET: x86_64-unknown-linux-gnu + + # Test nightly but don't fail + - rust: nightly + experimental: true + TARGET: x86_64-unknown-linux-gnu + + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.TARGET }} + override: true + + - name: Test + uses: actions-rs/cargo@v1 + if: contains(matrix.TARGET, 'x86_64') + with: + command: test + args: --target=${{ matrix.TARGET }} + + - name: Build examples + uses: actions-rs/cargo@v1 + if: contains(matrix.TARGET, 'x86_64') + with: + command: build + args: --target=${{ matrix.TARGET }} --examples |