4646 # setup zodern:types. No linters are setup, so this simply installs the packages
4747 meteor lint
4848
49- meteor yarn ci:lint
49+ meteor npm run ci:lint
5050 env :
5151 CI : true
5252
@@ -85,12 +85,12 @@ jobs:
8585 # setup zodern:types. No linters are setup, so this simply installs the packages
8686 meteor lint
8787
88- NODE_OPTIONS="--max-old-space-size=6144" meteor yarn unitci --force-exit
88+ NODE_OPTIONS="--max-old-space-size=6144" meteor npm run unitci --force-exit
8989 env :
9090 CI : true
9191 - name : Send coverage
9292 if : ((github.event_name == 'pull_request') && (!startsWith(github.head_ref, 'release'))) || ((github.event_name == 'push') && (!startsWith(github.ref_name, 'release')))
93- uses : codecov/codecov-action@v4
93+ uses : codecov/codecov-action@v5
9494 env :
9595 CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
9696
@@ -184,11 +184,18 @@ jobs:
184184 run : |
185185 cd meteor
186186 yarn inject-git-hash
187+ - name : Prepare webui for meteor build
188+ if : steps.check-build-and-push.outputs.enable == 'true'
189+ run : |
190+ rm -Rf meteor/public
191+ cp -R packages/webui/dist meteor/public
187192 - name : Meteor Build
188193 if : steps.check-build-and-push.outputs.enable == 'true'
189194 run : |
190195 cd meteor
191196 NODE_OPTIONS="--max-old-space-size=4096" METEOR_DEBUG_BUILD=1 meteor build --allow-superuser --directory .
197+ mv bundle/programs/web.browser/assets/ bundle/programs/web.browser/app/assets/ || true
198+
192199 - name : Meteor Bundle NPM Build
193200 if : steps.check-build-and-push.outputs.enable == 'true'
194201 run : |
@@ -239,7 +246,9 @@ jobs:
239246 echo "image=$image" >> $GITHUB_OUTPUT
240247 - name : Trivy scanning
241248 if : steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
242- uses :
aquasecurity/[email protected] 249+ uses :
aquasecurity/[email protected] 250+ env :
251+ TRIVY_DB_REPOSITORY : public.ecr.aws/aquasecurity/trivy-db
243252 with :
244253 image-ref : " ${{ steps.trivy-image.outputs.image }}"
245254 format : " table"
@@ -388,7 +397,9 @@ jobs:
388397 echo "image=$image" >> $GITHUB_OUTPUT
389398 - name : Trivy scanning
390399 if : steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
391- uses :
aquasecurity/[email protected] 400+ uses :
aquasecurity/[email protected] 401+ env :
402+ TRIVY_DB_REPOSITORY : public.ecr.aws/aquasecurity/trivy-db
392403 with :
393404 image-ref : " ${{ steps.trivy-image.outputs.image }}"
394405 format : " table"
@@ -422,9 +433,11 @@ jobs:
422433 - mos-gateway
423434 - corelib
424435 - shared-lib
436+ - meteor-lib
425437 - job-worker
426438 - openapi
427439 - live-status-gateway
440+ - webui
428441
429442 steps :
430443 - uses : actions/checkout@v4
@@ -467,7 +480,7 @@ jobs:
467480 - blueprints-integration
468481 - server-core-integration
469482 - shared-lib
470- node-version : [14.x, 16 .x, 18 .x, 20 .x]
483+ node-version : [14.x, 18 .x, 20 .x, 22 .x]
471484 include :
472485 # include additional configs, to run certain packages only for a certain version of node
473486 - node-version : 14.x
@@ -477,19 +490,28 @@ jobs:
477490 package-name : job-worker
478491 send-coverage : true
479492 # manual openapi to avoid testing for 14.x
480- - node-version : 16.x
481- package-name : openapi
482493 - node-version : 18.x
483494 package-name : openapi
484495 - node-version : 20.x
485496 package-name : openapi
497+ - node-version : 22.x
498+ package-name : openapi
486499 # No tests for the gateways yet
487500 # - node-version: 18.x
488501 # package-name: playout-gateway
489502 # - node-version: 18.x
490503 # package-name: mos-gateway
491504 - node-version : 18.x
492505 package-name : live-status-gateway
506+ send-coverage : true
507+ - node-version : 18.x
508+ package-name : webui
509+ # manual meteor-lib as it only needs a couple of versions
510+ - node-version : 18.x
511+ package-name : meteor-lib
512+ send-coverage : true
513+ - node-version : 14.x
514+ package-name : meteor-lib
493515
494516 steps :
495517 - uses : actions/checkout@v4
@@ -520,7 +542,7 @@ jobs:
520542 env :
521543 CI : true
522544 - name : Send coverage
523- if : (matrix.node-version == '16 .x' || matrix.send-coverage == true) && ((github.event_name == 'pull_request') && ((!startsWith(github.head_ref, 'release'))) || ((github.event_name == 'push') && (!startsWith(github.ref_name, 'release'))))
545+ if : (matrix.node-version == '18 .x' || matrix.send-coverage == true) && ((github.event_name == 'pull_request') && ((!startsWith(github.head_ref, 'release'))) || ((github.event_name == 'push') && (!startsWith(github.ref_name, 'release'))))
524546 uses : codecov/codecov-action@v4
525547 env :
526548 CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
@@ -569,13 +591,17 @@ jobs:
569591 yarn
570592 env :
571593 CI : true
572- - name : Run generator
594+ - name : Build OpenAPI client library
595+ run : |
596+ cd packages/openapi
597+ yarn build
598+ env :
599+ CI : true
600+ - name : Generate OpenAPI docs and server
573601 run : |
574602 cd packages/openapi
575-
576603 yarn gendocs
577604 yarn genserver
578- yarn genclient:ts
579605 env :
580606 CI : true
581607
@@ -664,7 +690,7 @@ jobs:
664690 else
665691 # make dependencies of `determine-npm-tag` available
666692 yarn install --mode=skip-build
667-
693+
668694 cd packages
669695 PACKAGE_NAME="@sofie-automation/shared-lib"
670696 PUBLISHED_VERSION=$(yarn npm info --json $PACKAGE_NAME | jq -c '.version' -r)
@@ -682,6 +708,13 @@ jobs:
682708 yarn build
683709 env :
684710 CI : true
711+ - name : Build OpenAPI client library
712+ if : ${{ steps.do-publish.outputs.tag }}
713+ run : |
714+ cd packages/openapi
715+ yarn build
716+ env :
717+ CI : true
685718 - name : Modify dependencies to use npm packages
686719 run : node scripts/prepublish.js
687720 - name : Publish to NPM
0 commit comments