Build: Frontend All Bundles #272
Workflow file for this run
This file contains 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: Frontend All Bundles" | |
on: | |
workflow_dispatch: | |
workflow_call: | |
inputs: | |
semver: | |
required: true | |
type: string | |
push: | |
branches: [ "main" ] | |
paths: [ "frontend" ] | |
pull_request: | |
branches: [ "main" ] | |
paths: [ "frontend" ] | |
concurrency: | |
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
pull-requests: read | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: 'Checkout' | |
uses: actions/checkout@v4 | |
- name: 'Setup node' | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 16.17.0 | |
cache: npm | |
cache-dependency-path: frontend/package-lock.json | |
- name: 'Install NPM Dependencies' | |
run: | | |
cd frontend | |
npm install | |
- name: 'Test' | |
run: | | |
cd frontend | |
npm test | |
- name: 'Build' | |
run: | | |
export NODE_OPTIONS="--max-old-space-size=4096" | |
cd frontend | |
npm run build | |
- name: 'Archive Web Basic Build Results' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: web-main-js | |
path: | | |
frontend/static/frontend/*main.js | |
frontend/static/frontend/*.wasm | |
- name: 'Archive Web Basic Selfhosted Build Results' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: web-basic-selfhosted-js | |
path: | | |
frontend/static/frontend/*basic.selfhosted.js | |
frontend/static/frontend/*.wasm | |
- name: 'Archive Web PRO Build Results' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: web-pro-js | |
path: | | |
frontend/static/frontend/*pro.js | |
frontend/static/frontend/*.wasm | |
- name: 'Archive Web PRO SelhostedBuild Results' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: web-pro-selfhosted-js | |
path: | | |
frontend/static/frontend/*pro.selfhosted.js | |
frontend/static/frontend/*.wasm | |
- name: 'Archive Mobile Build Results' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mobile-web.bundle | |
path: mobile/html/Web.bundle | |
# Invoke pre-release image build if this was not a tag push | |
# Docker images tagged only with short commit hash | |
- name: 'Invoke Coodinator Image CI' | |
if: inputs.semver == '' | |
uses: benc-uk/workflow-dispatch@v121 | |
with: | |
workflow: 'Docker: Coordinator' | |
token: ${{ secrets.PERSONAL_TOKEN }} | |
- name: 'Invoke Selfhosted Client App Build CI/CD workflow' | |
if: inputs.semver == '' | |
uses: benc-uk/workflow-dispatch@v121 | |
with: | |
workflow: 'Docker: Selfhosted Client' | |
token: ${{ secrets.PERSONAL_TOKEN }} | |
- name: 'Invoke Web Client App Build CI/CD workflow' | |
if: inputs.semver == '' | |
uses: benc-uk/workflow-dispatch@v121 | |
with: | |
workflow: 'Docker: Web Client' | |
token: ${{ secrets.PERSONAL_TOKEN }} |