feat(v2-ui): schema/question domain entities + widget-selection mapping #356
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Extralit frontend package | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| workflow_call: | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| - feat/** | |
| - releases/** | |
| paths: | |
| - "extralit-frontend/**" | |
| - ".github/workflows/extralit-frontend.yml" | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| name: Build extralit-frontend | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: extralit-frontend | |
| steps: | |
| - name: Checkout Code 🛎 | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js ⚙️ | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| - name: Install dependencies 📦 | |
| run: | | |
| npm install | |
| - name: Check generated v2 API types are current 🔒 | |
| run: | | |
| npm run gen:api:types | |
| git diff --exit-code -- v2/infrastructure/api/generated | |
| - name: Run lint 🧹 | |
| continue-on-error: true | |
| run: | | |
| npm run lint | |
| - name: Run tests with coverage 🧪 | |
| id: run-tests | |
| run: | | |
| npm run test:coverage | |
| - name: Upload frontend test coverage | |
| if: always() | |
| uses: codecov/codecov-action@v5.4.3 | |
| with: | |
| files: ./coverage/lcov.info | |
| flags: frontend | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: false | |
| - name: Build package 📦 | |
| env: | |
| # Nuxt 4 SPA (ssr:false) ships as static files served at the site root, so build at | |
| # base "/". (The Nuxt 2 "@@baseUrl@@" placeholder breaks Nuxt 4's prerender crawler; | |
| # parameterizable sub-path hosting is a separate follow-up.) | |
| BASE_URL: "/" | |
| run: | | |
| # `nuxi generate` prerenders the SPA shell to .output/public (index.html + _nuxt | |
| # assets); `nuxi build` only emits a Nitro server with no static index.html. | |
| npm run generate | |
| - name: Upload frontend statics as artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: extralit-frontend | |
| path: extralit-frontend/.output/public |