Compare commits
1 commit
09a59e3647
...
112e563721
| Author | SHA1 | Date | |
|---|---|---|---|
| 112e563721 |
2 changed files with 79 additions and 1 deletions
78
.forgejo/workflows/ci.yml
Normal file
78
.forgejo/workflows/ci.yml
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
name: Check
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ main ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check-backend:
|
||||||
|
name: Backend
|
||||||
|
runs-on: docker
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install Rust
|
||||||
|
uses: https://codeberg.org/wackbyte/rust-toolchain@trunk
|
||||||
|
with:
|
||||||
|
toolchain: stable
|
||||||
|
components: rustfmt, clippy
|
||||||
|
- name: Cache
|
||||||
|
uses: https://github.com/Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
# Don't cache ~/.cargo/bin since we restore the cache after we install things there
|
||||||
|
cache-bin: "false"
|
||||||
|
workspaces: "backend"
|
||||||
|
- name: "Check Format"
|
||||||
|
run: cargo fmt --check
|
||||||
|
- name: "Build"
|
||||||
|
run: |
|
||||||
|
# hurl needs libxml needs libclang
|
||||||
|
apt update && apt install -y clang
|
||||||
|
cargo build --tests
|
||||||
|
- name: "Lint"
|
||||||
|
run: |
|
||||||
|
rustup component add clippy
|
||||||
|
cargo clippy
|
||||||
|
- name: "Unit Tests"
|
||||||
|
run: |
|
||||||
|
cargo test -- --skip api
|
||||||
|
- name: "Integration Tests"
|
||||||
|
run: cargo test --test api
|
||||||
|
|
||||||
|
check-frontend:
|
||||||
|
name: Frontend
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Install Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
cache: "npm"
|
||||||
|
cache-dependency-path: 'frontend/package-lock.json'
|
||||||
|
node-version: '20'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
working-directory: frontend
|
||||||
|
|
||||||
|
- name: Check Format
|
||||||
|
run: "npm run format:check"
|
||||||
|
working-directory: frontend
|
||||||
|
|
||||||
|
- name: Lint
|
||||||
|
run: npm run lint
|
||||||
|
working-directory: frontend
|
||||||
|
|
||||||
|
- name: Typecheck
|
||||||
|
run: npm run typecheck || echo "Failed"
|
||||||
|
working-directory: frontend
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: npm run test
|
||||||
|
working-directory: frontend
|
||||||
|
|
||||||
2
justfile
2
justfile
|
|
@ -23,7 +23,7 @@ fmt: fmt-backend fmt-frontend
|
||||||
|
|
||||||
fmt-check: fmt-check-backend fmt-check-frontend
|
fmt-check: fmt-check-backend fmt-check-frontend
|
||||||
|
|
||||||
lint: lint-backend lint-frontend
|
lint: lint-backend lint-frontend typecheck-frontend
|
||||||
|
|
||||||
check: fmt-check lint test
|
check: fmt-check lint test
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue