1
0
mirror of https://github.com/actix/examples synced 2024-11-28 00:12:57 +01:00
examples/.github/workflows/linux.yml
2022-02-18 02:13:55 +00:00

75 lines
2.0 KiB
YAML

name: CI (Linux)
on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches:
- master
jobs:
build_and_test:
name: ${{ matrix.version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: ['stable', 'nightly']
env:
# included in example of redis, not clear its purpose
CI: true
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.version }}
override: true
- name: Generate Cargo.lock
uses: actions-rs/cargo@v1
with: { command: generate-lockfile }
- name: Cache Dependencies
uses: Swatinem/rust-cache@v1.2.0
- name: Create test DBs
run: |
sudo apt-get update && sudo apt-get install sqlite3
cargo install sqlx-cli --no-default-features --features=rustls,sqlite
cd basics/todo
DATABASE_URL="sqlite://./todo.db" sqlx database create
chmod a+rwx todo.db
DATABASE_URL="sqlite://./todo.db" sqlx migrate run
- name: cargo check
uses: actions-rs/cargo@v1
timeout-minutes: 30
with:
command: check
# TODO: remove exclude protobuf-example when upgraded; currently fails on nightly
args: --workspace --bins --examples --tests --exclude protobuf-example
- name: start redis
uses: supercharge/redis-github-action@1.1.0
with:
redis-version: 6
- name: run diesel migrations
run: |
cargo install diesel_cli
cd databases/diesel
diesel migration run
chmod a+rwx test.db
- name: cargo test
uses: actions-rs/cargo@v1
timeout-minutes: 30
with:
command: test
# TODO: remove exclude protobuf-example when upgraded; currently fails on nightly
args: --workspace --all-features --no-fail-fast --exclude protobuf-example -- --nocapture