Update RELEASE_VERSION #58
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: Releases | |
on: | |
push: | |
branches: ['UE5.5'] | |
paths: ['RELEASE_VERSION'] | |
workflow_dispatch: | |
inputs: | |
commitsha: | |
description: "Commit SHA for the release (if blank use latest on this branch)" | |
env: | |
commitsha: "${{ github.event.inputs.commitsha || github.sha }}" | |
jobs: | |
build: | |
# only run this on the main repo, not forks | |
if: github.repository == 'EpicGamesExt/PixelStreamingInfrastructure' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./ | |
permissions: | |
contents: write | |
steps: | |
- name: "Checkout source code" | |
uses: actions/checkout@v3 | |
with: | |
ref: "${{ env.commitsha }}" | |
# triggers the public library check to make sure all the published items work | |
- uses: convictional/[email protected] | |
with: | |
owner: ${{ github.repository_owner }} | |
repo: PixelStreamingInfrastructure | |
ref: ${{ github.ref_name }} | |
github_user: ${{ secrets.WORKFLOW_USER }} | |
github_token: ${{ secrets.WORKFLOW_TOKEN }} | |
workflow_file_name: healthcheck-libs-with-public-deps.yml | |
client_payload: '{ "commitsha": "${{ env.commitsha }}" }' | |
- name: Read the RELEASE_VERSION file | |
id: getversion | |
run: echo "version=$(cat RELEASE_VERSION)" >> $GITHUB_OUTPUT | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '18.17.0' | |
registry-url: 'https://registry.npmjs.org' | |
- name: Build common library | |
working-directory: ./Common | |
run: npm install && npm run build | |
- name: Build frontend library | |
working-directory: ./Frontend/library | |
run: npm install && npm run build | |
- name: Build frontend ui-library | |
working-directory: ./Frontend/ui-library | |
run: npm install && npm run build | |
- name: Install implementations/typescript deps | |
working-directory: ./Frontend/implementations/typescript | |
run: npm install && npm run build | |
- name: Move all content into output directory for archiving | |
run: items=(*) && mkdir PixelStreamingInfrastructure-${{ github.ref_name }}-${{ steps.getversion.outputs.version }} && mv ${items[*]} PixelStreamingInfrastructure-${{ github.ref_name }}-${{ steps.getversion.outputs.version }}/ | |
- name: Archive Release tar.gz | |
uses: thedoctor0/[email protected] | |
with: | |
directory: '.' | |
path: 'PixelStreamingInfrastructure-${{ github.ref_name }}-${{ steps.getversion.outputs.version }}' | |
type: 'tar' | |
filename: '${{ github.ref_name }}-${{ steps.getversion.outputs.version }}.tar.gz' | |
exclusions: >- | |
.git | |
.github | |
output | |
node_modules | |
Common/build | |
Common/docs | |
Common/node_modules | |
Docs | |
Extras | |
Frontend/Docs | |
Frontend/implementations/typescript/node_modules | |
Frontend/library/dist | |
Frontend/library/node_modules | |
Frontend/library/types | |
Frontend/ui-library/dist | |
Frontend/ui-library/node_modules | |
Frontend/ui-library/types | |
SFU/Docs | |
SFU/node_modules | |
Signalling/build | |
Signalling/docs | |
Signalling/node_modules | |
SignallingWebServer/build | |
SignallingWebServer/node_modules | |
SS_Test | |
- name: Archive Release .zip | |
uses: thedoctor0/[email protected] | |
with: | |
directory: '.' | |
path: 'PixelStreamingInfrastructure-${{ github.ref_name }}-${{ steps.getversion.outputs.version }}' | |
type: 'zip' | |
filename: '${{ github.ref_name }}-${{ steps.getversion.outputs.version }}.zip' | |
exclusions: >- | |
*/.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" | |
uses: ncipollo/release-action@v1 | |
with: | |
tag: "${{ github.ref_name }}-${{ steps.getversion.outputs.version }}" | |
artifacts: "${{ github.ref_name }}-${{ steps.getversion.outputs.version }}.zip,${{ github.ref_name }}-${{ steps.getversion.outputs.version }}.tar.gz" | |
generateReleaseNotes: true | |
commit: "${{ env.commitsha }}" |