Fix duplicated source code in built libraries #265
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
name: Check health of libraries | |
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: | |
build-using-local-deps: | |
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure' | |
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: Clean build and lint checks on common library | |
working-directory: Common | |
run: npm install && npm run build && npm run lint | |
- name: Clean build and lint checks on signalling library | |
working-directory: Signalling | |
run: npm install && npm run build && npm run lint | |
- name: Clean build and lint checks on wilbur | |
working-directory: SignallingWebServer | |
run: npm install && npm run build && npm run lint | |
- name: Clean build, lint and unit tests on frontend library | |
working-directory: Frontend/library | |
run: npm install && npm run build && npm run lint && npm run test | |
- name: Clean build and lint checks on frontend ui library | |
working-directory: Frontend/ui-library | |
run: npm install && npm run build && npm run lint | |
- 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 | |