Skip to content

Update helmet Content Security Policy to allow websocket connections to sources other than the location where the frontend is hosted #337

Update helmet Content Security Policy to allow websocket connections to sources other than the location where the frontend is hosted

Update helmet Content Security Policy to allow websocket connections to sources other than the location where the frontend is hosted #337

name: Check health of frontend
on:
workflow_dispatch:
push:
paths:
- "Common/**"
- "Frontend/**"
- "Signalling/**"
- "SignallingWebServer/**"
- "Extras/**"
pull_request:
paths:
- "Common/**"
- "Frontend/**"
- "Signalling/**"
- "SignallingWebServer/**"
- "Extras/**"
jobs:
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/FrontendTests/results
- name: Launch frontend tests in docker containers
uses: isbang/[email protected]
with:
compose-file: "Extras/FrontendTests/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/FrontendTests/results
# streaming-test-win:
# if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure'
# runs-on: windows-latest
# steps:
# - name: Checkout source code
# uses: actions/checkout@v3
#
# - uses: actions/setup-node@v4
# with:
# node-version: 'v18.17.0'
#
# - name: Download streamer
# uses: robinraju/release-downloader@v1
# with:
# repository: 'EpicGamesExt/PixelStreamingInfrastructure'
# tag: 'minimal-streamer'
# fileName: 'Minimal-PixelStreamer-5.5.7z'
#
# - name: Extract streamer
# run: 7z x -oStreamer Minimal-PixelStreamer-5.5.7z
#
# - name: Build Common
# working-directory: Common
# run: |
# npm install
# npm run build
#
# - name: Build Signalling
# working-directory: Signalling
# run: |
# npm install
# npm run build
#
# - name: Build Wilbur
# working-directory: SignallingWebServer
# run: |
# npm install
# npm run build
#
# - name: Build Frontend lib
# working-directory: Frontend/library
# run: |
# npm install
# npm run build
#
# - name: Build Frontend ui lib
# working-directory: Frontend/ui-library
# run: |
# npm install
# npm run build
#
# - name: Build Frontend implementation
# working-directory: Frontend/implementations/typescript
# run: |
# $Env:WEBPACK_OUTPUT_PATH='${{ github.workspace }}\www'
# npm install
# npm run build
#
# - name: Run Signalling
# working-directory: SignallingWebServer
# run: Start-Process "npm" -ArgumentList "run","start","--","--rest_api","--player_port 999","--http_root ${{ github.workspace }}\www"
#
# - name: Run Streamer
# working-directory: Streamer
# run: Start-Process ".\Minimal\Binaries\Win64\Minimal-Win64-Shipping-Cmd.exe" -ArgumentList "-warp","-dx12","-windowed","-res=1920","-resy=720","-PixelStreamingURL=ws://localhost:8888","-RenderOffScreen","-AllowSoftwaRerendering","-PixelStreamingEncoderCodec=vp8"
#
# - name: Prepare test
# working-directory: Extras\MinimalStreamTester
# run: |
# npm install
# npx playwright install --with-deps
# npx playwright install chrome
#
# - name: Wait for signalling to come up
# run: curl --retry 10 --retry-delay 20 --retry-connrefused http://localhost:999/api/status
#
# - name: Wait for streamer to come up
# run: curl --retry 10 --retry-delay 20 --retry-connrefused http://localhost:999/api/streamers/DefaultStreamer
#
# - name: Test if we can stream
# working-directory: Extras\MinimalStreamTester
# run: |
# $Env:PIXELSTREAMING_URL = 'http://localhost:999'
# npx playwright test
#
# - name: Get short sha
# id: vars
# run: echo "sha_short=$(git rev-parse --short HEAD)" >> $Env:GITHUB_OUTPUT
#
# - name: Upload results
# uses: actions/upload-artifact@v4
# with:
# name: Results-${{ steps.vars.outputs.sha_short }}-Win
# path: Extras\MinimalStreamTester\playwright-report