Forgejo Action: Run npm and cargo commands in the CI.
This commit is contained in:
parent
2880391c8c
commit
706f0deb64
2 changed files with 84 additions and 1 deletions
83
.forgejo/workflows/ci.yml
Normal file
83
.forgejo/workflows/ci.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
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
|
||||
working-directory: backend
|
||||
- name: "Build"
|
||||
run: |
|
||||
# hurl needs libxml needs libclang
|
||||
apt update && apt install -y clang
|
||||
cargo build --tests
|
||||
working-directory: backend
|
||||
- name: "Lint"
|
||||
run: |
|
||||
rustup component add clippy
|
||||
cargo clippy
|
||||
working-directory: backend
|
||||
- name: "Unit Tests"
|
||||
run: |
|
||||
cargo test -- --skip api
|
||||
working-directory: backend
|
||||
- name: "Integration Tests"
|
||||
run: cargo test --test api
|
||||
working-directory: backend
|
||||
|
||||
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
|
||||
|
||||
lint: lint-backend lint-frontend
|
||||
lint: lint-backend lint-frontend typecheck-frontend
|
||||
|
||||
check: fmt-check lint test
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue