1
0
forked from baron/baron-sso

feat: integrate orgfront and expose internal ids

This commit is contained in:
2026-04-30 09:33:39 +09:00
parent 02375af08d
commit 9ce7a67f58
116 changed files with 22992 additions and 33 deletions

View File

@@ -10,7 +10,7 @@ on:
workflow_dispatch:
inputs:
run_lint:
description: "Run lint/format checks for Go, Flutter, adminfront, devfront"
description: "Run lint/format checks for Go, Flutter, adminfront, devfront, orgfront"
required: true
type: boolean
default: true
@@ -39,6 +39,11 @@ on:
required: true
type: boolean
default: true
run_orgfront_tests:
description: "Run orgfront Playwright tests"
required: true
type: boolean
default: true
jobs:
lint:
@@ -56,6 +61,7 @@ jobs:
cache-dependency-path: |
adminfront/package-lock.json
devfront/package-lock.json
orgfront/package-lock.json
- name: i18n resource check
run: |
@@ -104,6 +110,17 @@ jobs:
npx biome check . --formatter-enabled=false --organize-imports-enabled=false
npx biome check . --linter-enabled=false --organize-imports-enabled=false
- name: Install orgfront dependencies
run: |
cd orgfront
npm ci
- name: Biome check orgfront (lint + format)
run: |
cd orgfront
npx biome check . --formatter-enabled=false --organize-imports-enabled=false
npx biome check . --linter-enabled=false --organize-imports-enabled=false
- name: Lint Go backend
run: |
docker run --rm \
@@ -809,3 +826,186 @@ jobs:
devfront/playwright-report
devfront/test-results
if-no-files-found: ignore
orgfront-tests:
needs: lint
if: ${{ always() && (github.event_name != 'workflow_dispatch' || inputs.run_orgfront_tests == true) }}
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "24"
cache: "npm"
cache-dependency-path: orgfront/package-lock.json
- name: Get Playwright version
id: playwright-version
run: |
cd orgfront
echo "version=$(npm list @playwright/test | grep @playwright/test | awk -F@ '{print $NF}')" >> "$GITHUB_OUTPUT"
- name: Cache Playwright Browsers
uses: actions/cache@v4
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.version }}
restore-keys: |
${{ runner.os }}-playwright-
- name: Install orgfront dependencies
run: |
mkdir -p reports
set +e
cd orgfront
npm ci 2>&1 | tee ../reports/orgfront-install.log
install_exit_code=${PIPESTATUS[0]}
cd ..
set -e
if [ "$install_exit_code" -ne 0 ]; then
{
echo "# OrgFront Test Failure Report"
echo
echo "- Workflow: \`${GITHUB_WORKFLOW:-Code Check}\`"
echo "- Job: \`orgfront-tests\`"
echo "- Reason: \`Dependency install failed\`"
echo "- Exit Code: \`$install_exit_code\`"
echo
echo "## Command"
echo "\`cd orgfront && npm ci\`"
echo
echo "## Install Log Tail (last 200 lines)"
echo '```text'
tail -n 200 reports/orgfront-install.log
echo '```'
} > reports/orgfront-test-failure-report.md
exit 1
fi
- name: Provision browsers for orgfront tests
run: |
set +e
cd orgfront
npx playwright install --with-deps 2>&1 | tee ../reports/orgfront-provision.log
provision_exit_code=${PIPESTATUS[0]}
cd ..
set -e
if [ "$provision_exit_code" -ne 0 ]; then
{
echo "# OrgFront Test Failure Report"
echo
echo "- Workflow: \`${GITHUB_WORKFLOW:-Code Check}\`"
echo "- Job: \`orgfront-tests\`"
echo "- Reason: \`Browser provisioning failed\`"
echo "- Exit Code: \`$provision_exit_code\`"
echo
echo "## Command"
echo "\`cd orgfront && npx playwright install --with-deps\`"
echo
echo "## Provision Log Tail (last 200 lines)"
echo '```text'
tail -n 200 reports/orgfront-provision.log
echo '```'
} > reports/orgfront-test-failure-report.md
exit 1
fi
- name: Run orgfront tests
env:
PLAYWRIGHT_WORKERS: 2
run: |
mkdir -p reports
set +e
cd orgfront
npm test 2>&1 | tee ../reports/orgfront-test.log
test_exit_code=${PIPESTATUS[0]}
cd ..
set -e
if [ "$test_exit_code" -ne 0 ]; then
{
echo "# OrgFront Test Failure Report"
echo
echo "- Workflow: \`${GITHUB_WORKFLOW:-Code Check}\`"
echo "- Job: \`orgfront-tests\`"
echo "- Exit Code: \`$test_exit_code\`"
echo
echo "## Commands"
echo "1. \`cd orgfront\`"
echo "2. \`npm ci\`"
echo "3. \`npx playwright install --with-deps\`"
echo "4. \`npm test\`"
echo
echo "## Log Tail (last 200 lines)"
echo '```text'
tail -n 200 reports/orgfront-test.log
echo '```'
} > reports/orgfront-test-failure-report.md
fi
exit "$test_exit_code"
- name: Ensure orgfront failure report exists
if: ${{ failure() }}
run: |
mkdir -p reports
if [ -f reports/orgfront-test-failure-report.md ]; then
exit 0
fi
{
echo "# OrgFront Test Failure Report"
echo
echo "- Workflow: \`${GITHUB_WORKFLOW:-Code Check}\`"
echo "- Job: \`orgfront-tests\`"
echo "- Reason: \`Job failed before detailed report generation\`"
echo
if [ -f reports/orgfront-install.log ]; then
echo "## Install Log Tail (last 200 lines)"
echo '```text'
tail -n 200 reports/orgfront-install.log
echo '```'
echo
fi
if [ -f reports/orgfront-provision.log ]; then
echo "## Provision Log Tail (last 200 lines)"
echo '```text'
tail -n 200 reports/orgfront-provision.log
echo '```'
echo
fi
if [ -f reports/orgfront-test.log ]; then
echo "## Test Log Tail (last 200 lines)"
echo '```text'
tail -n 200 reports/orgfront-test.log
echo '```'
fi
} > reports/orgfront-test-failure-report.md
- name: Publish orgfront failure summary
if: ${{ failure() }}
run: |
if [ -f reports/orgfront-test-failure-report.md ]; then
cat reports/orgfront-test-failure-report.md >> "$GITHUB_STEP_SUMMARY"
fi
- name: Upload orgfront failure report artifact
if: ${{ failure() }}
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: orgfront-test-failure-report
path: |
reports/orgfront-test-failure-report.md
reports/orgfront-install.log
reports/orgfront-provision.log
reports/orgfront-test.log
orgfront/playwright-report
orgfront/test-results
if-no-files-found: ignore