teloxide/.github/workflows/ci.yml
2020-07-25 01:48:17 +06:00

68 lines
1.7 KiB
YAML

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
name: Continuous integration
jobs:
code-checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
components: rustfmt, clippy
- name: Cargo fmt
run: cargo +nightly fmt --all -- --check
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Cargo clippy
run: cargo clippy --all --all-targets --all-features -- -D warnings
stable-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Setup redis
run: |
sudo apt install redis-server
redis-server --port 7777 > /dev/null &
redis-server --port 7778 > /dev/null &
redis-server --port 7779 > /dev/null &
- name: Cargo test
run: cargo test --all --all-features
build-example:
runs-on: ubuntu-latest
strategy:
matrix:
example: [
admin_bot,
dialogue_bot,
heroku_ping_pong_bot,
ngrok_ping_pong_bot,
ping_pong_bot,
shared_state_bot,
simple_commands_bot,
]
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Test the example
run: cd examples && cd ${{ matrix.example }} && cargo check