Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging 5.5 into master #335

Merged
merged 17 commits into from
Nov 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/create-gh-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ jobs:
.git
.github
output
node_modules
Common/build
Common/docs
Common/node_modules
Expand Down Expand Up @@ -102,20 +103,27 @@ jobs:
*/.git/*
*/.github/*
*/node_modules/*
/*/node_modules/*
*/output/*
/*/Common/build/*
/*/Common/docs/*
/*/Common/node_modules/*
/*/Docs/*
/*/Extras/*
/*/Frontend/Docs/*
/*/Frontend/node_modules/*
/*/Frontend/library/dist/*
/*/Frontend/library/types/*
/*/Frontend/ui-library/dist/*
/*/Frontend/ui-library/types/*
/*/Frontend/ui-library/node_modules/*
/*/Frontend/implementations/typescript/node_modules
/*/SFU/Docs/*
/*/Signalling/build/*
/*/Signalling/docs/*
/*/Signalling/node_modules/*
/*/SignallingWebServer/build/*
/*/SignallingWebServer/node_modules/*
/*/SS_Test/*

- name: "Make the release"
Expand Down
98 changes: 1 addition & 97 deletions .github/workflows/healthcheck-libraries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,100 +57,4 @@ jobs:

- name: Clean build of frontend implementation
working-directory: Frontend/implementations/typescript
run: npm install && npm run build

build-signalling-only:
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
with:
sparse-checkout: 'Signalling'
sparse-checkout-cone-mode: false

- uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE_VERSION }}"
registry-url: 'https://registry.npmjs.org'

- name: Build signalling using published packages only
working-directory: Signalling
run: npm install && npm run build && npm run lint

build-wilbur-only:
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
with:
sparse-checkout: 'SignallingWebServer'
sparse-checkout-cone-mode: false

- uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE_VERSION }}"
registry-url: 'https://registry.npmjs.org'

- name: Build Wilbur using published packages only
working-directory: SignallingWebServer
run: npm install && npm run build && npm run lint

build-frontend-only:
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
with:
sparse-checkout: 'Frontend/library'
sparse-checkout-cone-mode: false

- uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE_VERSION }}"
registry-url: 'https://registry.npmjs.org'

- name: Build Frontend/library using published packages only
working-directory: Frontend/library
run: npm install && npm run build && npm run lint && npm run test

build-frontend-ui-only:
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
with:
sparse-checkout: 'Frontend/ui-library'
sparse-checkout-cone-mode: false

- uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE_VERSION }}"
registry-url: 'https://registry.npmjs.org'

- name: Build Frontend/ui-library using published packages only
working-directory: Frontend/ui-library
run: npm install && npm run build && npm run lint

build-implementation-typescript-only:
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
with:
sparse-checkout: 'Frontend/implementations/typescript'
sparse-checkout-cone-mode: false

- uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE_VERSION }}"
registry-url: 'https://registry.npmjs.org'

- name: Build Frontend/implementations/typescript using published packages only
working-directory: Frontend/implementations/typescript
run: npm install && npm run build

run: npm install && npm run build
105 changes: 105 additions & 0 deletions .github/workflows/healthcheck-libs-with-public-deps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: Check health of libraries (public deps)

on:
workflow_dispatch:
push:
paths:
- "Common/**"
- "Signalling/**"
- "SignallingWebServer/**"
- "Frontend/library/**"
- "Frontend/ui-library/**"
- "Frontend/implementations/typescript/**"
pull_request:
paths:
- "Common/**"
- "Signalling/**"
- "SignallingWebServer/**"
- "Frontend/library/**"
- "Frontend/ui-library/**"
- "Frontend/implementations/typescript/**"

env:
NODE_VERSION: 18.17.x

jobs:
check-if-bypass:
runs-on: ubuntu-latest
outputs:
bypass: ${{ steps.checkbypass.outputs.bypass }}
steps:
- name: Checkout source code
uses: actions/checkout@v3
with:
fetch-depth: 5 # This should be enough history to contain the commit that triggered the PR

- name: Check commit message for push event
if: github.event_name == 'push'
run: |
COMMIT="${{ github.event.head_commit.message }}"
echo "Commit message: $COMMIT"
echo "COMMIT=$COMMIT" >> $GITHUB_ENV

- name: Check commit message for pull request event
if: github.event_name == 'pull_request'
run: |
# Get the latest commit SHA for the pull request
COMMIT_SHA="${{ github.event.pull_request.head.sha }}"
echo "Fetching commit message for PR commit: $COMMIT_SHA"
COMMIT_MESSAGE=$(git log -1 --pretty=%B "$COMMIT_SHA")
echo "Commit message: $COMMIT_MESSAGE"
echo "COMMIT=$COMMIT_MESSAGE" >> $GITHUB_ENV

- name: Check commit message for bypass
id: checkbypass
run: |
echo "$COMMIT"
if echo "$COMMIT" | grep -q "#bypass-publish-check"; then
echo "bypass=true" >> $GITHUB_OUTPUT
echo "bypass=true"
else
echo "bypass=false" >> $GITHUB_OUTPUT
echo "bypass=false"
fi

build-using-public-deps:
needs: check-if-bypass
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure' && needs.check-if-bypass.outputs.bypass == 'false' # Only run if bypass is false
runs-on: ubuntu-latest
steps:

- name: Checkout source code
uses: actions/checkout@v3

- uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE_VERSION }}"
registry-url: 'https://registry.npmjs.org'

- name: Remove NPM workspaces
run: rm package.json && rm package-lock.json

- name: Build signalling using published packages only
if: always()
working-directory: Signalling
run: npm install && npm run build && npm run lint

- name: Build Wilbur using published packages only
if: always()
working-directory: SignallingWebServer
run: npm install && npm run build && npm run lint

- name: Build Frontend/library using published packages only
if: always()
working-directory: Frontend/library
run: npm install && npm run build && npm run lint && npm run test

- name: Build Frontend/ui-library using published packages only
if: always()
working-directory: Frontend/ui-library
run: npm install && npm run build && npm run lint

- name: Build Frontend/implementations/typescript using published packages only
if: always()
working-directory: Frontend/implementations/typescript
run: npm install && npm run build
47 changes: 24 additions & 23 deletions .github/workflows/healthcheck-streaming.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,32 @@ on:
- "Extras/**"

jobs:
streaming-test-linux:
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
# Uncomment when we can Linux test to capture a non-black screenshot using software renderer.
# streaming-test-linux:
# if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
# runs-on: ubuntu-latest
# steps:
# - name: Checkout source code
# uses: actions/checkout@v3

- name: Create results directory
run: mkdir Extras/MinimalStreamTester/results

- name: Launch stream test in docker containers
uses: isbang/compose-action@v1.5.1
with:
compose-file: "Extras/MinimalStreamTester/docker-compose.yml"
up-flags: "--build --abort-on-container-exit --exit-code-from tester"

- name: Get short sha
id: vars
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
# - name: Create results directory
# run: mkdir Extras/MinimalStreamTester/results

# - name: Launch stream test in docker containers
# uses: isbang/compose-action@v1.5.1
# with:
# compose-file: "Extras/MinimalStreamTester/docker-compose.yml"
# up-flags: "--build --abort-on-container-exit --exit-code-from tester"

# - name: Get short sha
# id: vars
# run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT

- name: Upload results
uses: actions/upload-artifact@v4
with:
name: Results-${{ steps.vars.outputs.sha_short }}-Linux
path: Extras/MinimalStreamTester/results
# - name: Upload results
# uses: actions/upload-artifact@v4
# with:
# name: Results-${{ steps.vars.outputs.sha_short }}-Linux
# path: Extras/MinimalStreamTester/results

streaming-test-win:
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
Expand Down
Loading