Skip to content

Commit 36969cd

Browse files
authored
Merge branch 'Sofie-Automation:main' into contribute/log-adlib-action-validation-errors
2 parents 1a78d40 + 7ef4508 commit 36969cd

510 files changed

Lines changed: 50466 additions & 7668 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/workflows/deploy-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,4 @@ jobs:
8686
steps:
8787
- name: Deploy to GitHub Pages
8888
id: deployment
89-
uses: actions/deploy-pages@v4
89+
uses: actions/deploy-pages@v5

.github/workflows/node.yaml

Lines changed: 30 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
CI: true
9797
- name: Send coverage
9898
if: ((github.event_name == 'pull_request') && (!startsWith(github.head_ref, 'release'))) || ((github.event_name == 'push') && (!startsWith(github.ref_name, 'release')))
99-
uses: codecov/codecov-action@v5
99+
uses: codecov/codecov-action@v6
100100
env:
101101
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
102102

@@ -161,7 +161,7 @@ jobs:
161161
cd meteor/bundle/programs/server
162162
meteor npm install
163163
- name: Set up Docker Buildx
164-
uses: docker/setup-buildx-action@v3
164+
uses: docker/setup-buildx-action@v4
165165

166166
# Check how the image should be built and pushed
167167
- name: Determine if images should be published to DockerHub
@@ -196,7 +196,7 @@ jobs:
196196
# No-push build if no destination
197197
- name: Build without push
198198
if: steps.check-build-and-push.outputs.enable != 'true'
199-
uses: docker/build-push-action@v6
199+
uses: docker/build-push-action@v7
200200
with:
201201
context: .
202202
file: ./meteor/Dockerfile.circle
@@ -207,7 +207,7 @@ jobs:
207207
- name: Get the Docker tag for GHCR
208208
id: ghcr-tag
209209
if: steps.check-build-and-push.outputs.enable == 'true'
210-
uses: docker/metadata-action@v5
210+
uses: docker/metadata-action@v6
211211
with:
212212
images: |
213213
ghcr.io/${{ github.repository }}-server-core
@@ -218,14 +218,14 @@ jobs:
218218
type=raw,value=latest,enable={{is_default_branch}}
219219
- name: Login to GitHub Container Registry
220220
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true'
221-
uses: docker/login-action@v3
221+
uses: docker/login-action@v4
222222
with:
223223
registry: ghcr.io
224224
username: ${{ github.repository_owner }}
225225
password: ${{ secrets.GITHUB_TOKEN }}
226226
- name: Build and push to GHCR
227227
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
228-
uses: docker/build-push-action@v6
228+
uses: docker/build-push-action@v7
229229
with:
230230
context: .
231231
file: ./meteor/Dockerfile.circle
@@ -239,7 +239,7 @@ jobs:
239239
- name: Get the Docker tag for DockerHub
240240
id: dockerhub-tag
241241
if: steps.check-build-and-push.outputs.enable == 'true'
242-
uses: docker/metadata-action@v5
242+
uses: docker/metadata-action@v6
243243
with:
244244
images: |
245245
${{ secrets.DOCKERHUB_IMAGE_PREFIX }}server-core
@@ -250,13 +250,13 @@ jobs:
250250
type=raw,value=latest,enable={{is_default_branch}}
251251
- name: Login to DockerHub
252252
if: steps.check-build-and-push.outputs.enable == 'true' && steps.dockerhub.outputs.dockerhub-publish == '1'
253-
uses: docker/login-action@v3
253+
uses: docker/login-action@v4
254254
with:
255255
username: ${{ secrets.DOCKERHUB_USERNAME }}
256256
password: ${{ secrets.DOCKERHUB_TOKEN }}
257257
- name: Build and push to DockerHub
258258
if: steps.check-build-and-push.outputs.enable == 'true' && steps.dockerhub.outputs.dockerhub-publish == '1'
259-
uses: docker/build-push-action@v6
259+
uses: docker/build-push-action@v7
260260
with:
261261
context: .
262262
file: ./meteor/Dockerfile.circle
@@ -265,35 +265,6 @@ jobs:
265265
labels: ${{ steps.dockerhub-tag.outputs.labels }}
266266
tags: ${{ steps.dockerhub-tag.outputs.tags }}
267267

268-
# Trivy scanning
269-
- name: Get image for Trivy scanning
270-
id: trivy-image
271-
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
272-
run: |
273-
image=$(echo ${{ steps.ghcr-tag.outputs.tags }} | head -n 1)
274-
echo "image=$image" >> $GITHUB_OUTPUT
275-
- name: Trivy scanning
276-
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
277-
uses: aquasecurity/trivy-action@0.33.1
278-
env:
279-
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db
280-
with:
281-
image-ref: "${{ steps.trivy-image.outputs.image }}"
282-
format: "table"
283-
output: trivy-scan-result.txt
284-
ignore-unfixed: true
285-
severity: "CRITICAL,HIGH"
286-
- name: Post all Trivy scan results to Github Summary as a table
287-
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
288-
env:
289-
CODE_BLOCK: "```"
290-
run: |
291-
echo "# Trivy scan results ~ core" >> $GITHUB_STEP_SUMMARY
292-
293-
echo $CODE_BLOCK >> $GITHUB_STEP_SUMMARY
294-
cat trivy-scan-result.txt >> $GITHUB_STEP_SUMMARY
295-
echo $CODE_BLOCK >> $GITHUB_STEP_SUMMARY
296-
297268
build-gateways:
298269
# TODO - should this be dependant on tests or something passing if we are on a tag?
299270
name: Build gateways
@@ -334,7 +305,7 @@ jobs:
334305
yarn run pinst --disable
335306
yarn workspaces focus ${{ matrix.gateway-name }} --production
336307
- name: Set up Docker Buildx
337-
uses: docker/setup-buildx-action@v3
308+
uses: docker/setup-buildx-action@v4
338309

339310
# Check how the image should be built and pushed
340311
- name: Determine if images should be published to DockerHub
@@ -369,7 +340,7 @@ jobs:
369340
# No-push build if no destination
370341
- name: Build without push
371342
if: steps.check-build-and-push.outputs.enable != 'true'
372-
uses: docker/build-push-action@v6
343+
uses: docker/build-push-action@v7
373344
with:
374345
context: ./packages
375346
file: ./packages/${{ matrix.gateway-name }}/Dockerfile.circle
@@ -380,7 +351,7 @@ jobs:
380351
- name: Get the Docker tag for GHCR
381352
id: ghcr-tag
382353
if: steps.check-build-and-push.outputs.enable == 'true'
383-
uses: docker/metadata-action@v5
354+
uses: docker/metadata-action@v6
384355
with:
385356
images: |
386357
ghcr.io/${{ github.repository }}-${{ matrix.gateway-name }}
@@ -391,14 +362,14 @@ jobs:
391362
type=raw,value=latest,enable={{is_default_branch}}
392363
- name: Login to GitHub Container Registry
393364
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true'
394-
uses: docker/login-action@v3
365+
uses: docker/login-action@v4
395366
with:
396367
registry: ghcr.io
397368
username: ${{ github.repository_owner }}
398369
password: ${{ secrets.GITHUB_TOKEN }}
399370
- name: Build and push to GHCR
400371
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
401-
uses: docker/build-push-action@v6
372+
uses: docker/build-push-action@v7
402373
with:
403374
context: ./packages
404375
file: ./packages/${{ matrix.gateway-name }}/Dockerfile.circle
@@ -411,7 +382,7 @@ jobs:
411382
- name: Get the Docker tag for DockerHub
412383
id: dockerhub-tag
413384
if: steps.check-build-and-push.outputs.enable == 'true'
414-
uses: docker/metadata-action@v5
385+
uses: docker/metadata-action@v6
415386
with:
416387
images: |
417388
${{ secrets.DOCKERHUB_IMAGE_PREFIX }}${{ matrix.gateway-name }}
@@ -422,13 +393,13 @@ jobs:
422393
type=raw,value=latest,enable={{is_default_branch}}
423394
- name: Login to DockerHub
424395
if: steps.check-build-and-push.outputs.enable == 'true' && steps.dockerhub.outputs.dockerhub-publish == '1'
425-
uses: docker/login-action@v3
396+
uses: docker/login-action@v4
426397
with:
427398
username: ${{ secrets.DOCKERHUB_USERNAME }}
428399
password: ${{ secrets.DOCKERHUB_TOKEN }}
429400
- name: Build and push to DockerHub
430401
if: steps.check-build-and-push.outputs.enable == 'true' && steps.dockerhub.outputs.dockerhub-publish == '1'
431-
uses: docker/build-push-action@v6
402+
uses: docker/build-push-action@v7
432403
with:
433404
context: ./packages
434405
file: ./packages/${{ matrix.gateway-name }}/Dockerfile.circle
@@ -437,59 +408,11 @@ jobs:
437408
labels: ${{ steps.dockerhub-tag.outputs.labels }}
438409
tags: "${{ steps.dockerhub-tag.outputs.tags }}"
439410

440-
# Trivy scanning
441-
- name: Get image for Trivy scanning
442-
id: trivy-image
443-
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
444-
run: |
445-
image=$(echo ${{ steps.ghcr-tag.outputs.tags }} | head -n 1)
446-
echo "image=$image" >> $GITHUB_OUTPUT
447-
- name: Trivy scanning
448-
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
449-
uses: aquasecurity/trivy-action@0.33.1
450-
env:
451-
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db
452-
with:
453-
image-ref: "${{ steps.trivy-image.outputs.image }}"
454-
format: "table"
455-
output: ${{ matrix.gateway-name }}-trivy-scan-result.txt
456-
ignore-unfixed: true
457-
severity: "CRITICAL,HIGH"
458-
- name: Post all Trivy scan results to Github Summary as a table
459-
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0
460-
env:
461-
CODE_BLOCK: "```"
462-
run: |
463-
echo "# Trivy scan results ~ ${{ matrix.gateway-name }}" >> $GITHUB_STEP_SUMMARY
464-
465-
echo $CODE_BLOCK >> $GITHUB_STEP_SUMMARY
466-
cat ${{ matrix.gateway-name }}-trivy-scan-result.txt >> $GITHUB_STEP_SUMMARY
467-
echo $CODE_BLOCK >> $GITHUB_STEP_SUMMARY
468-
469411
lint-packages:
470-
name: Lint Package ${{ matrix.package-name }}
412+
name: Lint Packages
471413
runs-on: ubuntu-latest
472414
timeout-minutes: 15
473415

474-
strategy:
475-
fail-fast: false
476-
matrix:
477-
package-name:
478-
- blueprints-integration
479-
- server-core-integration
480-
- playout-gateway
481-
- mos-gateway
482-
- corelib
483-
- shared-lib
484-
- meteor-lib
485-
- job-worker
486-
- openapi
487-
- live-status-gateway
488-
- live-status-gateway-api
489-
include:
490-
- package-name: webui
491-
tsconfig-name: tsconfig.json
492-
493416
steps:
494417
- uses: actions/checkout@v6
495418
with:
@@ -498,30 +421,32 @@ jobs:
498421
uses: actions/setup-node@v6
499422
with:
500423
node-version-file: ".node-version"
424+
- uses: ./.github/actions/setup-meteor
501425
- name: restore node_modules
502426
uses: actions/cache@v5
503427
with:
504428
path: |
429+
node_modules
430+
meteor/node_modules
505431
packages/node_modules
506-
key: ${{ runner.os }}-${{ hashFiles('packages/yarn.lock') }}
432+
key: ${{ runner.os }}-${{ hashFiles('yarn.lock', 'meteor/yarn.lock', 'meteor/.meteor/release', 'packages/yarn.lock') }}
507433
- name: Prepare Environment
508434
run: |
509435
corepack enable
510436
511-
cd packages
512-
yarn config set cacheFolder /home/runner/${{ matrix.package-name }}-cache
437+
yarn config set cacheFolder /home/runner/publish-docs-cache
513438
yarn install
514439
515-
if [ "${{ matrix.package-name }}" = "openapi" ]; then
516-
yarn workspace @sofie-automation/openapi run build
517-
else
518-
yarn build:single ${{ matrix.package-name }}/${{ matrix.tsconfig-name || 'tsconfig.build.json' }}
519-
fi
440+
# setup zodern:types. No linters are setup, so this simply installs the packages
441+
yarn meteor lint
442+
443+
cd packages
444+
yarn build:all
520445
env:
521446
CI: true
522447
- name: Run typecheck and linter
523448
run: |
524-
cd packages/${{ matrix.package-name }}
449+
cd packages
525450
yarn lint
526451
env:
527452
CI: true
@@ -605,7 +530,7 @@ jobs:
605530
CI: true
606531
- name: Send coverage
607532
if: (matrix.node-version == '22.x' || matrix.send-coverage == true) && (((github.event_name == 'pull_request') && (!startsWith(github.head_ref, 'release'))) || ((github.event_name == 'push') && (!startsWith(github.ref_name, 'release'))))
608-
uses: codecov/codecov-action@v5
533+
uses: codecov/codecov-action@v6
609534
env:
610535
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
611536

.github/workflows/publish-libs.yml

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
fi
4444
4545
lint-packages:
46-
name: Lint Lib
46+
name: Lint packages
4747
runs-on: ubuntu-latest
4848
continue-on-error: true
4949
timeout-minutes: 15
@@ -52,15 +52,6 @@ jobs:
5252

5353
if: ${{ needs.check-publish.outputs.can-publish == '1' }}
5454

55-
strategy:
56-
fail-fast: false
57-
matrix:
58-
package-name:
59-
- blueprints-integration
60-
- server-core-integration
61-
- shared-lib
62-
- live-status-gateway-api
63-
6455
steps:
6556
- uses: actions/checkout@v6
6657
with:
@@ -69,18 +60,24 @@ jobs:
6960
uses: actions/setup-node@v6
7061
with:
7162
node-version-file: ".node-version"
63+
- uses: ./.github/actions/setup-meteor
7264
- name: Prepare Environment
7365
run: |
7466
corepack enable
7567
76-
cd packages
68+
yarn config set cacheFolder /home/runner/publish-docs-cache
7769
yarn install
78-
yarn build:single ${{ matrix.package-name }}/tsconfig.build.json
70+
71+
# setup zodern:types. No linters are setup, so this simply installs the packages
72+
yarn meteor lint
73+
74+
cd packages
75+
yarn build:all
7976
env:
8077
CI: true
8178
- name: Run typecheck and linter
8279
run: |
83-
cd packages/${{ matrix.package-name }}
80+
cd packages
8481
yarn lint
8582
env:
8683
CI: true
@@ -199,7 +196,7 @@ jobs:
199196
yarn install --no-immutable
200197
201198
- name: Upload release artifact
202-
uses: actions/upload-artifact@v6
199+
uses: actions/upload-artifact@v7
203200
with:
204201
name: publish-dist
205202
path: |
@@ -234,7 +231,7 @@ jobs:
234231
node-version-file: ".node-version"
235232

236233
- name: Download release artifact
237-
uses: actions/download-artifact@v7
234+
uses: actions/download-artifact@v8
238235
with:
239236
name: publish-dist
240237

0 commit comments

Comments
 (0)