forked from nrkno/sofie-core
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'release52' into feat/templateAdlibs
- Loading branch information
Showing
1,412 changed files
with
38,813 additions
and
17,097 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -184,11 +184,18 @@ jobs: | |
run: | | ||
cd meteor | ||
yarn inject-git-hash | ||
- name: Prepare webui for meteor build | ||
if: steps.check-build-and-push.outputs.enable == 'true' | ||
run: | | ||
rm -Rf meteor/public | ||
cp -R packages/webui/dist meteor/public | ||
- name: Meteor Build | ||
if: steps.check-build-and-push.outputs.enable == 'true' | ||
run: | | ||
cd meteor | ||
NODE_OPTIONS="--max-old-space-size=4096" METEOR_DEBUG_BUILD=1 meteor build --allow-superuser --directory . | ||
mv bundle/programs/web.browser/assets/ bundle/programs/web.browser/app/assets/ || true | ||
- name: Meteor Bundle NPM Build | ||
if: steps.check-build-and-push.outputs.enable == 'true' | ||
run: | | ||
|
@@ -212,7 +219,7 @@ jobs: | |
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Build and push to GHCR | ||
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0 | ||
uses: docker/build-push-action@v5 | ||
uses: docker/build-push-action@v6 | ||
with: | ||
context: . | ||
file: ./meteor/Dockerfile.circle | ||
|
@@ -223,7 +230,7 @@ jobs: | |
github-token: ${{ github.token }} | ||
- name: Build and push to DockerHub | ||
if: steps.check-build-and-push.outputs.enable == 'true' && steps.dockerhub.outputs.dockerhub-publish == '1' | ||
uses: docker/build-push-action@v5 | ||
uses: docker/build-push-action@v6 | ||
with: | ||
context: . | ||
file: ./meteor/Dockerfile.circle | ||
|
@@ -239,7 +246,9 @@ jobs: | |
echo "image=$image" >> $GITHUB_OUTPUT | ||
- name: Trivy scanning | ||
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0 | ||
uses: aquasecurity/[email protected] | ||
uses: aquasecurity/[email protected] | ||
env: | ||
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db | ||
with: | ||
image-ref: "${{ steps.trivy-image.outputs.image }}" | ||
format: "table" | ||
|
@@ -362,7 +371,7 @@ jobs: | |
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Build and push to GHCR | ||
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0 | ||
uses: docker/build-push-action@v5 | ||
uses: docker/build-push-action@v6 | ||
with: | ||
context: ./packages | ||
file: ./packages/${{ matrix.gateway-name }}/Dockerfile.circle | ||
|
@@ -372,7 +381,7 @@ jobs: | |
tags: "${{ steps.ghcr-tag.outputs.tags }}" | ||
- name: Build and push to DockerHub | ||
if: steps.check-build-and-push.outputs.enable == 'true' && steps.dockerhub.outputs.dockerhub-publish == '1' | ||
uses: docker/build-push-action@v5 | ||
uses: docker/build-push-action@v6 | ||
with: | ||
context: ./packages | ||
file: ./packages/${{ matrix.gateway-name }}/Dockerfile.circle | ||
|
@@ -388,7 +397,9 @@ jobs: | |
echo "image=$image" >> $GITHUB_OUTPUT | ||
- name: Trivy scanning | ||
if: steps.check-build-and-push.outputs.enable == 'true' && steps.check-ghcr.outputs.enable == 'true' && steps.ghcr-tag.outputs.tags != 0 | ||
uses: aquasecurity/[email protected] | ||
uses: aquasecurity/[email protected] | ||
env: | ||
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db | ||
with: | ||
image-ref: "${{ steps.trivy-image.outputs.image }}" | ||
format: "table" | ||
|
@@ -422,9 +433,11 @@ jobs: | |
- mos-gateway | ||
- corelib | ||
- shared-lib | ||
- meteor-lib | ||
- job-worker | ||
- openapi | ||
- live-status-gateway | ||
- webui | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -467,7 +480,7 @@ jobs: | |
- blueprints-integration | ||
- server-core-integration | ||
- shared-lib | ||
node-version: [14.x, 16.x, 18.x, 20.x] | ||
node-version: [14.x, 18.x, 20.x, 22.x] | ||
include: | ||
# include additional configs, to run certain packages only for a certain version of node | ||
- node-version: 14.x | ||
|
@@ -477,19 +490,28 @@ jobs: | |
package-name: job-worker | ||
send-coverage: true | ||
# manual openapi to avoid testing for 14.x | ||
- node-version: 16.x | ||
package-name: openapi | ||
- node-version: 18.x | ||
package-name: openapi | ||
- node-version: 20.x | ||
package-name: openapi | ||
- node-version: 22.x | ||
package-name: openapi | ||
# No tests for the gateways yet | ||
# - node-version: 18.x | ||
# package-name: playout-gateway | ||
# - node-version: 18.x | ||
# package-name: mos-gateway | ||
- node-version: 18.x | ||
package-name: live-status-gateway | ||
send-coverage: true | ||
- node-version: 18.x | ||
package-name: webui | ||
# manual meteor-lib as it only needs a couple of versions | ||
- node-version: 18.x | ||
package-name: meteor-lib | ||
send-coverage: true | ||
- node-version: 14.x | ||
package-name: meteor-lib | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -520,7 +542,7 @@ jobs: | |
env: | ||
CI: true | ||
- name: Send coverage | ||
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')))) | ||
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')))) | ||
uses: codecov/codecov-action@v4 | ||
env: | ||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | ||
|
@@ -569,13 +591,17 @@ jobs: | |
yarn | ||
env: | ||
CI: true | ||
- name: Run generator | ||
- name: Build OpenAPI client library | ||
run: | | ||
cd packages/openapi | ||
yarn build | ||
env: | ||
CI: true | ||
- name: Generate OpenAPI docs and server | ||
run: | | ||
cd packages/openapi | ||
yarn gendocs | ||
yarn genserver | ||
yarn genclient:ts | ||
env: | ||
CI: true | ||
|
||
|
@@ -622,7 +648,7 @@ jobs: | |
CI: true | ||
- name: Publish | ||
if: github.ref == 'refs/heads/master' # always publish for just the master branch | ||
uses: peaceiris/actions-gh-pages@v3 | ||
uses: peaceiris/actions-gh-pages@v4 | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
publish_dir: ./packages/documentation/build | ||
|
@@ -664,7 +690,7 @@ jobs: | |
else | ||
# make dependencies of `determine-npm-tag` available | ||
yarn install --mode=skip-build | ||
cd packages | ||
PACKAGE_NAME="@sofie-automation/shared-lib" | ||
PUBLISHED_VERSION=$(yarn npm info --json $PACKAGE_NAME | jq -c '.version' -r) | ||
|
@@ -682,6 +708,13 @@ jobs: | |
yarn build | ||
env: | ||
CI: true | ||
- name: Build OpenAPI client library | ||
if: ${{ steps.do-publish.outputs.tag }} | ||
run: | | ||
cd packages/openapi | ||
yarn build | ||
env: | ||
CI: true | ||
- name: Modify dependencies to use npm packages | ||
run: node scripts/prepublish.js | ||
- name: Publish to NPM | ||
|
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
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,21 +6,29 @@ on: | |
|
||
jobs: | ||
trivy: | ||
if: ${{ github.repository_owner == 'nrkno' }} | ||
|
||
name: Trivy scan | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
image: ["server-core", "playout-gateway", "mos-gateway"] | ||
timeout-minutes: 15 | ||
|
||
steps: | ||
- name: Run Trivy vulnerability scanner (json) | ||
uses: aquasecurity/[email protected] | ||
uses: aquasecurity/[email protected] | ||
env: | ||
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db | ||
with: | ||
image-ref: ghcr.io/nrkno/sofie-core-${{ matrix.image }}:latest | ||
format: json | ||
output: '${{ matrix.image }}-trivy-scan-results.json' | ||
|
||
- name: Run Trivy vulnerability scanner (table) | ||
uses: aquasecurity/[email protected] | ||
uses: aquasecurity/[email protected] | ||
env: | ||
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db | ||
with: | ||
image-ref: ghcr.io/nrkno/sofie-core-${{ matrix.image }}:latest | ||
output: '${{ matrix.image }}-trivy-scan-results.txt' | ||
|
@@ -36,7 +44,9 @@ jobs: | |
echo $CODE_BLOCK >> $GITHUB_STEP_SUMMARY | ||
- name: Run Trivy in GitHub SBOM mode and submit results to Dependency Graph | ||
uses: aquasecurity/[email protected] | ||
uses: aquasecurity/[email protected] | ||
env: | ||
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db | ||
with: | ||
format: 'github' | ||
output: 'dependency-results-${{ matrix.image }}.sbom.json' | ||
|
@@ -54,7 +64,7 @@ jobs: | |
echo ${{ env.SUMMARY }} | ||
- name: Send Slack Notification | ||
uses: slackapi/slack-github-action@v1.25.0 | ||
uses: slackapi/slack-github-action@v1.27.0 | ||
with: | ||
payload: | | ||
{ | ||
|
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,11 +18,14 @@ Follow these instructions to start up Sofie Core in development mode. (For produ | |
|
||
### Prerequisites | ||
|
||
- Install [Node.js](https://nodejs.org) 18 (14 should also work) (using [nvm](https://github.com/nvm-sh/nvm) or [nvm-windows](https://github.com/coreybutler/nvm-windows) is the recommended way to install Node.js) | ||
- If on Windows: `npm install --global windows-build-tools` | ||
- Install [Meteor](https://www.meteor.com/install) (`npm install --global meteor`) | ||
- Install [Node.js](https://nodejs.org) 14 (using [nvm](https://github.com/nvm-sh/nvm) or [nvm-windows](https://github.com/coreybutler/nvm-windows) is the recommended way to install Node.js) | ||
- Install [Meteor](https://www.meteor.com/install) (`npm install --global meteor@2`) | ||
- Install [Node.js](https://nodejs.org) 18 (using the same method you used above, you can uninstall node 14 if needed) | ||
- Install an older version of corepack (`npm install --global [email protected]`) | ||
- Enable [corepack](https://nodejs.org/api/corepack.html#corepack) (`corepack enable`) as administrator/root. If `corepack` is not found, you may need to install it first with `npm install --global corepack` | ||
|
||
- If on Windows, you may need to `npm install --global windows-build-tools` but this is not always necessary | ||
|
||
### Quick Start | ||
|
||
```bash | ||
|
@@ -33,6 +36,8 @@ yarn start | |
|
||
> 💡 First startup may take a while, especially on Windows. To speed things up, consider adding `%LOCALAPPDATA%\.meteor` and the directory where you cloned `server-core` to your Windows Defender virus protection exclusions. | ||
The Sofie ui (served by Vite) can be accessed at `http://localhost:3005`. The meteor http server can be access directly at `http://localhost:3000` | ||
|
||
### Slightly more Involved Start | ||
|
||
1. Clone the repository (for development, it is recommended to base your work on the latest unstable release branch) | ||
|
Oops, something went wrong.