diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml new file mode 100644 index 0000000..276f5fe --- /dev/null +++ b/.github/workflows/rust.yml @@ -0,0 +1,58 @@ +name: Rust + + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + CARGO_TERM_COLOR: always + +jobs: + build_and_test: + runs-on: ubuntu-latest + environment: Testing + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Setup Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + + - name: seed + run: cargo install just && just ci + + - name: Build + run: cargo build --verbose + + - name: Test + run: cargo test --verbose + + fmt: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Setup Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + components: rustfmt + override: true + + - name: Check formatting + uses: actions-rs/cargo@v1 + with: + command: fmt + args: -- --check diff --git a/justfile b/justfile index 30f0611..c4bbd44 100644 --- a/justfile +++ b/justfile @@ -4,3 +4,5 @@ init: seed: touch dev.db sqlx migrate run + +ci: init seed