chore: add deployment infrastructure
This commit is contained in:
84
.gitea/workflows/ci-pr.yml
Normal file
84
.gitea/workflows/ci-pr.yml
Normal file
@@ -0,0 +1,84 @@
|
||||
name: ci-pr
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- dev
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: ci-pr-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
gate:
|
||||
runs-on: [frontend, ubuntu-latest]
|
||||
timeout-minutes: 120
|
||||
env:
|
||||
PLAYWRIGHT_BROWSERS_PATH: /root/.cache/ms-playwright
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4.2.2
|
||||
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: 1.3.9
|
||||
|
||||
- name: Cache Bun dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/root/.bun/install/cache
|
||||
node_modules
|
||||
key: ${{ runner.os }}-${{ runner.arch }}-bun-${{ hashFiles('bun.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ runner.arch }}-bun-
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Generate API clients
|
||||
run: bun run apigen
|
||||
|
||||
- name: Lint check
|
||||
run: bun run lint
|
||||
|
||||
- name: Type check
|
||||
run: bun run typecheck
|
||||
|
||||
- name: Unit tests
|
||||
run: bun run test:unit
|
||||
|
||||
- name: Build
|
||||
run: bun run build
|
||||
|
||||
- name: Resolve Playwright version
|
||||
id: playwright-version
|
||||
run: |
|
||||
version="$(bunx playwright --version | awk '{ print $2 }')"
|
||||
echo "version=${version}" >> "${GITHUB_OUTPUT}"
|
||||
|
||||
- name: Cache Playwright browsers
|
||||
id: playwright-cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: /root/.cache/ms-playwright
|
||||
key: ${{ runner.os }}-${{ runner.arch }}-playwright-${{ steps.playwright-version.outputs.version }}
|
||||
|
||||
- name: Install Playwright system deps
|
||||
run: bunx playwright install-deps chromium
|
||||
|
||||
- name: Install Playwright browsers
|
||||
if: steps.playwright-cache.outputs.cache-hit != 'true'
|
||||
run: bunx playwright install chromium
|
||||
|
||||
- name: E2E
|
||||
env:
|
||||
CI: '1'
|
||||
PLAYWRIGHT_HTML_OPEN: never
|
||||
run: bun run test:e2e -- --reporter=line
|
||||
|
||||
- name: Docker build
|
||||
run: docker build --pull -t analytical-panel-frontend:ci .
|
||||
Reference in New Issue
Block a user