Skip to content

Fix production health check patterns and webkit browser installation #124

Fix production health check patterns and webkit browser installation

Fix production health check patterns and webkit browser installation #124

Workflow file for this run

name: Build Web Application
on:
push:
branches: [ main, develop, 'feature/*', 'fix/*', 'copilot/*' ]
paths-ignore:
- 'docs/**'
- '*.md'
pull_request:
branches: [ main, develop ]
paths-ignore:
- 'docs/**'
- '*.md'
workflow_dispatch:
jobs:
build-web:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
- name: Install dependencies
run: |
for i in 1 2 3; do
yarn install --frozen-lockfile && break || sleep 10
done
- name: Build web application
run: ./scripts/build-web.sh
- name: Upload web artifacts
uses: actions/upload-artifact@v4
with:
name: web-build-${{ github.sha }}
path: deploy_*/
retention-days: 30
build-extensions:
runs-on: ubuntu-latest
needs: build-web
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
- name: Install dependencies
run: |
for i in 1 2 3; do
yarn install --frozen-lockfile && break || sleep 10
done
- name: Build browser extensions
run: ./scripts/build-extensions.sh
- name: Upload extension artifacts
uses: actions/upload-artifact@v4
with:
name: browser-extensions-${{ github.sha }}
path: |
extension/*.zip
extension/extension-build-info.txt
retention-days: 30
test:
runs-on: ubuntu-latest
needs: build-web
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
- name: Install dependencies
run: |
for i in 1 2 3; do
yarn install --frozen-lockfile && break || sleep 10
done
- name: Download web build artifacts
uses: actions/download-artifact@v4
with:
name: web-build-${{ github.sha }}
path: deploy_latest
- name: Setup build directory for E2E tests
run: |
# Copy build artifacts to build directory for serve command
if [ -d "deploy_latest" ]; then
cp -r deploy_latest/* ./build/ 2>/dev/null || cp -r deploy_latest/build/* ./build/ 2>/dev/null || yarn build
else
yarn build
fi
- name: Run tests
run: yarn test --watchAll=false --coverage
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run E2E tests
run: yarn test:e2e
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: test-results-${{ github.sha }}
path: |
coverage/
playwright-report/
retention-days: 7