Docker readme updates #15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
branches: [ main ] | |
push: | |
branches: [ main ] | |
tags-ignore: [ '**' ] # Don't run on tag pushes (handled by release.yml) | |
workflow_dispatch: | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: 1 | |
jobs: | |
basic-checks: | |
name: Basic Checks | |
runs-on: ubuntu-latest | |
needs: frontend-check | |
if: "!contains(github.event.head_commit.message, '[skip-ci]')" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy, rustfmt | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install bun | |
uses: oven-sh/setup-bun@v2 | |
with: | |
bun-version: 1.2.15 | |
- name: Build frontend | |
run: | | |
cd frontend | |
bun install --frozen-lockfile | |
bun run build | |
- name: Check formatting | |
run: cargo fmt --all -- --check | |
- name: Run basic clippy | |
run: cargo clippy --workspace --exclude enc_tauri | |
- name: Run basic tests | |
run: cargo test --workspace --exclude enc_tauri --lib | |
frontend-check: | |
name: Frontend Check | |
runs-on: ubuntu-latest | |
if: "!contains(github.event.head_commit.message, '[skip-ci]')" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install bun | |
uses: oven-sh/setup-bun@v2 | |
with: | |
bun-version: 1.2.15 | |
- name: Install dependencies | |
working-directory: ./frontend | |
run: bun install --frozen-lockfile | |
- name: Build frontend | |
working-directory: ./frontend | |
run: bun run build | |
build-check: | |
name: Build Check (Linux) | |
runs-on: ubuntu-latest | |
if: "!contains(github.event.head_commit.message, '[skip-ci]')" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install bun | |
uses: oven-sh/setup-bun@v2 | |
with: | |
bun-version: 1.2.15 | |
- name: Build frontend | |
run: | | |
cd frontend | |
bun install --frozen-lockfile | |
bun run build | |
- name: Install Linux dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y pkg-config libssl-dev | |
- name: Build binary | |
run: cargo build --release -p kurpod_server |