Files
phoenix/.gitea/workflows/ci.yml
Tobias Klemp 45b7121e60
Some checks failed
CI / install (pull_request) Failing after 3m55s
CI / type-check (pull_request) Has been skipped
CI / lint (pull_request) Has been skipped
CI / format-check (pull_request) Has been skipped
CI / build (pull_request) Has been skipped
use default image
2025-12-03 22:09:27 +01:00

121 lines
2.6 KiB
YAML

name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
install:
runs-on: ubuntu-latest
# container:
# image: oven/bun:alpine
outputs:
cache-key: ${{ steps.cache-key.outputs.key }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Generate cache key
id: cache-key
run: echo "key=bun-${{ hashFiles('**/bun.lock') }}" >> $GITHUB_OUTPUT
- name: Cache node_modules
uses: actions/cache@v4
with:
path: node_modules
key: ${{ steps.cache-key.outputs.key }}
restore-keys: |
bun-
- name: Install dependencies
run: bun install --frozen-lockfile
type-check:
runs-on: ubuntu-latest
container:
image: oven/bun:alpine
needs: install
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Restore node_modules
uses: actions/cache@v4
with:
path: node_modules
key: ${{ needs.install.outputs.cache-key }}
restore-keys: |
bun-
- name: Run type checking
run: bun run check
lint:
runs-on: ubuntu-latest
container:
image: oven/bun:alpine
needs: install
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Restore node_modules
uses: actions/cache@v4
with:
path: node_modules
key: ${{ needs.install.outputs.cache-key }}
restore-keys: |
bun-
- name: Run linting
run: bun run lint
format-check:
runs-on: ubuntu-latest
container:
image: oven/bun:alpine
needs: install
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Restore node_modules
uses: actions/cache@v4
with:
path: node_modules
key: ${{ needs.install.outputs.cache-key }}
restore-keys: |
bun-
- name: Check formatting
run: bun exec prettier --check .
build:
runs-on: ubuntu-latest
container:
image: oven/bun:alpine
needs: install
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Restore node_modules
uses: actions/cache@v4
with:
path: node_modules
key: ${{ needs.install.outputs.cache-key }}
restore-keys: |
bun-
- name: Build application
run: bun run build
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-output
path: build/
retention-days: 7