Skip to content

Commit 1e707f5

Browse files
committed
Merge branch 'master' into capture-time
2 parents 1833e62 + d340133 commit 1e707f5

File tree

141 files changed

+19273
-19585
lines changed

Some content is hidden

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

141 files changed

+19273
-19585
lines changed

.github/workflows/create-gh-release.yml

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,41 @@ on:
66
paths: ['RELEASE_VERSION']
77

88
workflow_dispatch:
9-
inputs:
10-
commitsha:
11-
description: "Commit SHA for the release (if blank use latest on this branch)"
9+
inputs:
10+
commitsha:
11+
description: "Commit SHA for the release (if blank use latest on this branch)"
1212

1313
env:
1414
commitsha: "${{ github.event.inputs.commitsha || github.sha }}"
1515

1616
jobs:
17-
1817
build:
18+
# only run this on the main repo, not forks
1919
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
2020
runs-on: ubuntu-latest
2121
defaults:
2222
run:
2323
working-directory: ./
24-
2524
permissions:
2625
contents: write
26+
2727
steps:
2828
- name: "Checkout source code"
2929
uses: actions/checkout@v3
3030
with:
3131
ref: "${{ env.commitsha }}"
3232

33+
# triggers the public library check to make sure all the published items work
34+
- uses: convictional/trigger-workflow-and-wait@v1.6.1
35+
with:
36+
owner: ${{ github.repository_owner }}
37+
repo: PixelStreamingInfrastructure
38+
ref: ${{ github.ref_name }}
39+
github_user: ${{ secrets.WORKFLOW_USER }}
40+
github_token: ${{ secrets.WORKFLOW_TOKEN }}
41+
workflow_file_name: healthcheck-libs-with-public-deps.yml
42+
client_payload: '{ "commitsha": "${{ env.commitsha }}" }'
43+
3344
- name: Read the RELEASE_VERSION file
3445
id: getversion
3546
run: echo "version=$(cat RELEASE_VERSION)" >> $GITHUB_OUTPUT
@@ -90,7 +101,7 @@ jobs:
90101
Signalling/node_modules
91102
SignallingWebServer/build
92103
SignallingWebServer/node_modules
93-
SS_Test
104+
Extras/SS_Test
94105
95106
- name: Archive Release .zip
96107
uses: thedoctor0/zip-release@0.7.1
@@ -124,7 +135,6 @@ jobs:
124135
/*/Signalling/node_modules/*
125136
/*/SignallingWebServer/build/*
126137
/*/SignallingWebServer/node_modules/*
127-
/*/SS_Test/*
128138
129139
- name: "Make the release"
130140
uses: ncipollo/release-action@v1

.github/workflows/healthcheck-libraries.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,8 @@ jobs:
5757

5858
- name: Clean build of frontend implementation
5959
working-directory: Frontend/implementations/typescript
60-
run: npm install && npm run build
60+
run: npm install && npm run build
61+
62+
- name: Clean build of frontend implementation as ES6
63+
working-directory: Frontend/implementations/typescript
64+
run: npm install && npm run build:esm

.github/workflows/healthcheck-libs-with-public-deps.yml

Lines changed: 45 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -2,104 +2,55 @@ name: Check health of libraries (public deps)
22

33
on:
44
workflow_dispatch:
5-
push:
6-
paths:
7-
- "Common/**"
8-
- "Signalling/**"
9-
- "SignallingWebServer/**"
10-
- "Frontend/library/**"
11-
- "Frontend/ui-library/**"
12-
- "Frontend/implementations/typescript/**"
13-
pull_request:
14-
paths:
15-
- "Common/**"
16-
- "Signalling/**"
17-
- "SignallingWebServer/**"
18-
- "Frontend/library/**"
19-
- "Frontend/ui-library/**"
20-
- "Frontend/implementations/typescript/**"
5+
inputs:
6+
commitsha:
7+
description: "Commit SHA for the release (if blank use latest on this branch)"
218

229
env:
10+
commitsha: "${{ github.event.inputs.commitsha || github.sha }}"
2311
NODE_VERSION: 18.17.x
2412

2513
jobs:
26-
check-if-bypass:
27-
runs-on: ubuntu-latest
28-
outputs:
29-
bypass: ${{ steps.checkbypass.outputs.bypass }}
30-
steps:
31-
- name: Checkout source code
32-
uses: actions/checkout@v3
33-
with:
34-
fetch-depth: 5 # This should be enough history to contain the commit that triggered the PR
35-
36-
- name: Grab PR body
37-
if: github.event_name == 'pull_request'
38-
env:
39-
PR_BODY: ${{ github.event.pull_request.body }}
40-
run: |
41-
echo "BODY_CHECK<<EOF" >> $GITHUB_ENV
42-
echo "$PR_BODY" >> $GITHUB_ENV
43-
echo "EOF" >> $GITHUB_ENV
44-
45-
- name: Grab commit message for push event
46-
if: github.event_name == 'push'
47-
env:
48-
COMMIT: ${{ github.event.head_commit.message }}
49-
run: |
50-
echo "BODY_CHECK<<EOF" >> $GITHUB_ENV
51-
echo "$COMMIT" >> $GITHUB_ENV
52-
echo "EOF" >> $GITHUB_ENV
53-
54-
- name: Check if the body to check contains the bypass tag
55-
id: checkbypass
56-
run: |
57-
if echo "$BODY_CHECK" | grep -q "#bypass-publish-check"; then
58-
echo "bypass=true" >> $GITHUB_OUTPUT
59-
echo "bypass=true"
60-
else
61-
echo "bypass=false" >> $GITHUB_OUTPUT
62-
echo "bypass=flase"
63-
fi
64-
6514
build-using-public-deps:
66-
needs: check-if-bypass
67-
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure' && needs.check-if-bypass.outputs.bypass == 'false' # Only run if bypass is false
68-
runs-on: ubuntu-latest
69-
steps:
70-
71-
- name: Checkout source code
72-
uses: actions/checkout@v3
73-
74-
- uses: actions/setup-node@v4
75-
with:
76-
node-version: "${{ env.NODE_VERSION }}"
77-
registry-url: 'https://registry.npmjs.org'
78-
79-
- name: Remove NPM workspaces
80-
run: rm package.json && rm package-lock.json
81-
82-
- name: Build signalling using published packages only
83-
if: always()
84-
working-directory: Signalling
85-
run: npm install && npm run build && npm run lint
86-
87-
- name: Build Wilbur using published packages only
88-
if: always()
89-
working-directory: SignallingWebServer
90-
run: npm install && npm run build && npm run lint
91-
92-
- name: Build Frontend/library using published packages only
93-
if: always()
94-
working-directory: Frontend/library
95-
run: npm install && npm run build && npm run lint && npm run test
96-
97-
- name: Build Frontend/ui-library using published packages only
98-
if: always()
99-
working-directory: Frontend/ui-library
100-
run: npm install && npm run build && npm run lint
15+
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
16+
runs-on: ubuntu-latest
17+
outputs:
18+
continue: ${{ steps.set_output.outputs.continue }}
19+
steps:
20+
- name: Checkout source code
21+
uses: actions/checkout@v3
22+
with:
23+
ref: "${{ env.commitsha }}"
24+
25+
- uses: actions/setup-node@v4
26+
with:
27+
node-version: "${{ env.NODE_VERSION }}"
28+
registry-url: 'https://registry.npmjs.org'
29+
30+
- name: Remove NPM workspaces
31+
run: rm package.json && rm package-lock.json
32+
33+
- name: Build signalling using published packages only
34+
if: always()
35+
working-directory: Signalling
36+
run: npm install && npm run build && npm run lint
37+
- name: Build Wilbur using published packages only
38+
if: always()
39+
working-directory: SignallingWebServer
40+
run: npm install && npm run build && npm run lint
41+
- name: Build Frontend/library using published packages only
42+
if: always()
43+
working-directory: Frontend/library
44+
run: npm install && npm run build && npm run lint && npm run test
45+
- name: Build Frontend/ui-library using published packages only
46+
if: always()
47+
working-directory: Frontend/ui-library
48+
run: npm install && npm run build && npm run lint
49+
- name: Build Frontend/implementations/typescript using published packages only
50+
if: always()
51+
working-directory: Frontend/implementations/typescript
52+
run: npm install && npm run build
53+
54+
- id: set_output
55+
run: echo "continue=true" >> $GITHUB_ENV
10156

102-
- name: Build Frontend/implementations/typescript using published packages only
103-
if: always()
104-
working-directory: Frontend/implementations/typescript
105-
run: npm install && npm run build

.github/workflows/healthcheck-signalling-protocol.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ on:
77
- "Common/**"
88
- "Signalling/**"
99
- "SignallingWebServer/**"
10-
- "SS_Test/**"
10+
- "Extras/SS_Test/**"
1111
pull_request:
1212
paths:
1313
- "Common/**"
1414
- "Signalling/**"
1515
- "SignallingWebServer/**"
16-
- "SS_Test/**"
16+
- "Extras/SS_Test/**"
1717

1818
jobs:
1919
signalling-protocol-test:
@@ -26,6 +26,6 @@ jobs:
2626
- name: Launch signalling tests in docker containers
2727
uses: isbang/compose-action@v1.5.1
2828
with:
29-
compose-file: "SS_Test/docker-compose.yml"
29+
compose-file: "Extras/SS_Test/docker-compose.yml"
3030
up-flags: "--build --abort-on-container-exit --exit-code-from tester"
3131

.github/workflows/publish-signalling-library-to-npm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232

3333
- id: get-package-json
3434
run: |
35-
package_content=`cat Signalling/package.json`
35+
package_content=`cat package.json`
3636
echo "json<<EOF" >> $GITHUB_OUTPUT
3737
echo $package_content >> $GITHUB_OUTPUT
3838
echo 'EOF' >> $GITHUB_OUTPUT

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,6 @@ SignallingWebServer/Public/
88
SignallingWebServer/certificates
99
.vscode
1010
coverage/
11-
common/types/*
11+
common/types/*
12+
.nx/cache
13+
.nx/workspace-data

.lintstagedrc.mjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default {
2+
"*.json": "prettier --write"
3+
}

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ If you have a solution to a problem you've encountered or to any other open issu
4949
- All TypeScript should adhere to the following [linting rules](https://github.com/EpicGamesExt/PixelStreamingInfrastructure/blob/master/Frontend/library/.eslintrc.js).
5050
- Names should follow US English spelling.
5151
- All public functions/API should have comments.
52-
- Code formatting should adhere to the following [whitespace and indentation rules](https://github.com/EpicGamesExt/PixelStreamingInfrastructure/blob/master/Frontend/library/.prettierrc.json).
52+
- Code formatting should adhere to the following [whitespace and indentation rules](https://github.com/EpicGamesExt/PixelStreamingInfrastructure/blob/master/.prettierrc.json).
5353
- All new features should have accompanying unit tests and documentation when they are submitted.
5454
- Prefer early returns in `if` statements to decrease indentation.
5555
- Prefer functions to not exceed ~20 lines.
@@ -65,4 +65,4 @@ Documentation should be broken up into separate `.md` files per directory, ideal
6565

6666
## Legal
6767

68-
© 2004-2024, Epic Games, Inc. Unreal and its logo are Epic’s trademarks or registered trademarks in the US and elsewhere.
68+
© 2004-2025, Epic Games, Inc. Unreal and its logo are Epic’s trademarks or registered trademarks in the US and elsewhere.

Common/.eslintrc.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
module.exports = {
44
root: true,
55
parser: '@typescript-eslint/parser',
6-
parserOptions: { project: './tsconfig.esm.json' },
6+
parserOptions: {
7+
project: './tsconfig.cjs.json',
8+
tsconfigRootDir: __dirname,
9+
},
710
plugins: [
811
'@typescript-eslint',
912
'eslint-plugin-tsdoc',

0 commit comments

Comments
 (0)