Skip to content

deps: bump the production-dependencies group with 5 updates #129

deps: bump the production-dependencies group with 5 updates

deps: bump the production-dependencies group with 5 updates #129

Workflow file for this run

name: PR Check
on:
push:
branches:
- main
pull_request:
branches:
- main
- develop
- "feature/**"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
# ─── Frontend ───────────────────────────────────────────────────────────────
frontend-check:
name: Frontend
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v6
with:
node-version: "20"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build package types
run: pnpm run build:types
- name: Format check
run: pnpm format:check
- name: Lint
run: pnpm lint
- name: Type check
run: pnpm type-check
- name: Unit tests
run: pnpm test -- --reporter=verbose
- name: Property tests
run: pnpm --filter frontend test -- --reporter=verbose property
- name: Build frontend
run: pnpm build
- name: Upload frontend artifact
uses: actions/upload-artifact@v4
with:
name: frontend-build
path: apps/frontend/dist/
# ─── Rust ───────────────────────────────────────────────────────────────────
rust-check:
name: Rust
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
- name: System dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev librsvg2-dev
- name: Create dist stub for Tauri context
run: |
mkdir -p dist
echo '<!DOCTYPE html><html><head></head><body></body></html>' > dist/index.html
- name: Format check
run: cargo fmt --all -- --check
- name: Clippy
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
- name: Unit tests
run: cargo test --workspace --lib --bins
env:
CONNECT_API_URL: http://test.local
- name: Integration tests
run: cargo test --workspace --tests
env:
CONNECT_API_URL: http://test.local
- name: Build server
run: cargo build -p sensible-folio-server --release
- name: Upload server binary
uses: actions/upload-artifact@v4
with:
name: sensible-folio-server
path: target/release/sensible-folio-server
# ─── Gate ───────────────────────────────────────────────────────────────────
build-status:
name: Build Status
runs-on: ubuntu-latest
needs: [frontend-check, rust-check]
if: always()
steps:
- name: Check results
run: |
if [[ "${{ needs.frontend-check.result }}" == "failure" ]] || \
[[ "${{ needs.rust-check.result }}" == "failure" ]]; then
echo "❌ Build failed"
exit 1
elif [[ "${{ needs.frontend-check.result }}" == "cancelled" ]] || \
[[ "${{ needs.rust-check.result }}" == "cancelled" ]]; then
echo "⚠️ Build was cancelled"
exit 1
else
echo "✅ All checks passed"
fi