48 lines
1.4 KiB
YAML
48 lines
1.4 KiB
YAML
name: wiki CI and deployment
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'apps/wiki/**'
|
|
- '.gitea/workflows/wiki.yml'
|
|
- 'Dockerfile'
|
|
- 'compose.yml'
|
|
- 'scripts/deploy.sh'
|
|
- 'scripts/infra.sh'
|
|
- 'scripts/integration.sh'
|
|
- 'pnpm-workspace.yaml'
|
|
pull_request:
|
|
paths:
|
|
- 'apps/wiki/**'
|
|
- '.gitea/workflows/wiki.yml'
|
|
- 'Dockerfile'
|
|
- 'compose.yml'
|
|
- 'scripts/deploy.sh'
|
|
- 'scripts/infra.sh'
|
|
- 'scripts/integration.sh'
|
|
- 'pnpm-workspace.yaml'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
verify-and-deploy:
|
|
runs-on: ces-control
|
|
timeout-minutes: 45
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Validate configuration
|
|
run: docker compose --env-file apps/wiki/.env.example config --quiet
|
|
- name: Build and verify Wiki
|
|
run: docker build --target integration -t "prompt-tests:${{ gitea.sha }}" .
|
|
- name: Build runtime
|
|
run: docker build --target runtime -t "prompt:${{ gitea.sha }}" .
|
|
- name: Integration stack
|
|
env:
|
|
PROMPT_IMAGE: prompt:${{ gitea.sha }}
|
|
PROMPT_TEST_IMAGE: prompt-tests:${{ gitea.sha }}
|
|
run: bash scripts/integration.sh
|
|
- name: Deploy Wiki
|
|
if: gitea.ref == 'refs/heads/main' && (gitea.event_name == 'push' || gitea.event_name == 'workflow_dispatch')
|
|
run: bash scripts/deploy.sh "${{ gitea.sha }}"
|