mirror of
https://github.com/teloxide/teloxide.git
synced 2024-12-22 22:46:39 +01:00
98 lines
2.4 KiB
YAML
98 lines
2.4 KiB
YAML
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master, dev ]
|
|
|
|
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
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
rust:
|
|
- stable
|
|
- beta
|
|
- nightly
|
|
|
|
include:
|
|
- rust: stable
|
|
features: "--features \"redis-storage sqlite-storage cbor-serializer bincode-serializer frunk-\""
|
|
- rust: beta
|
|
features: "--features \"redis-storage sqlite-storage cbor-serializer bincode-serializer frunk-\""
|
|
- rust: nightly
|
|
features: "--all-features"
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: ${{ matrix.rust }}
|
|
override: true
|
|
|
|
- name: Build
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: build
|
|
args: --verbose ${{ matrix.features }}
|
|
|
|
- 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: Test
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: test
|
|
args: --verbose ${{ matrix.features }}
|
|
|
|
build-example:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
example: [
|
|
admin_bot,
|
|
dialogue_bot,
|
|
heroku_ping_pong_bot,
|
|
ngrok_ping_pong_bot,
|
|
dices_bot,
|
|
shared_state_bot,
|
|
simple_commands_bot,
|
|
redis_remember_bot,
|
|
]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
- name: Check the example
|
|
run: cd examples && cd ${{ matrix.example }} && cargo check
|