summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorDiego Barrios Romero <eldruin@gmail.com>2020-12-01 08:18:35 +0100
committerDiego Barrios Romero <eldruin@gmail.com>2020-12-01 08:18:35 +0100
commit3d3cafc6609056e998e39352e86d19d8a6b08041 (patch)
tree3b14857aaff978538f636a397833993ee6d6df76 /.github
parent2a0cd296790cd8c4b8e58c1dd8a24301a1a8e3f2 (diff)
downloadads1x1x-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.yml65
-rw-r--r--.github/workflows/clippy.yml21
-rw-r--r--.github/workflows/coverage.yml28
-rw-r--r--.github/workflows/docs.yml24
-rw-r--r--.github/workflows/rustfmt.yml19
-rw-r--r--.github/workflows/test.yml56
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