Skip to content

working webapp with CI #1

working webapp with CI

working webapp with CI #1

Workflow file for this run

name: CI
on:
push:
branches: [ "dev, master" ]
pull_request:
branches: [ "master" ]
env:
CARGO_TERM_COLOR: always
SQLX_VERSION: 0.7.4
SQLX_FEATURES: "rustls,sqlite"
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
# - name: Install Rust toolchain
# uses: dtolnay/rust-toolchain@stable
- name: Rust Cache
uses: Swatinem/[email protected]
with:
key: sqlx-${{ env.SQLX_VERSION }}
- name: Install sqlx-cli
run:
cargo install sqlx-cli
--version=${{ env.SQLX_VERSION }}
--no-default-features
--features=${{ env.SQLX_FEATURES }}
--locked
- name: Migrate db
run: RESET_DB=true ./scripts/init_actor_db.sh
- name: Check sqlx-data.json is up to date
run: cargo sqlx prepare --workspace --check
- name: Run tests
run: cargo test
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Enforce formatting
run: cargo fmt --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name : Checkout repository
uses: actions/checkout@v4
- name: Rust Cache
uses: Swatinem/[email protected]
with:
key: sqlx-${{ env.SQLX_VERSION }}
- name: Install sqlx-cli
run:
cargo install sqlx-cli
--version=${{ env.SQLX_VERSION }}
--no-default-features
--features=${{ env.SQLX_FEATURES }}
--locked
- name: Migrate db
run: RESET_DB=true ./scripts/init_actor_db.sh
- name: Linting
run: cargo clippy -- -D warnings
coverage:
name: Code coverage
runs-on: ubuntu-latest
steps:
- name : Checkout repository
uses: actions/checkout@v4
- name: Rust Cache
uses: Swatinem/[email protected]
with:
key: sqlx-${{ env.SQLX_VERSION }}
- name: Install sqlx-cli
run:
cargo install sqlx-cli
--version=${{ env.SQLX_VERSION }}
--no-default-features
--features=${{ env.SQLX_FEATURES }}
--locked
- name: Migrate db
run: RESET_DB=true ./scripts/init_actor_db.sh
- name: Generate code coverage
run: cargo install cargo-tarpaulin && cargo tarpaulin --verbose --workspace