name: Build concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true on: push: branches: [ master, release* ] pull_request: branches: [ master, release* ] workflow_dispatch: jobs: run-build-prod: name: Run production build runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Setup node environment uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 20 check-latest: true cache: npm - name: Install Node.js dependencies run: npm ci --no-audit - name: Run a production build env: JELLYFIN_VERSION: ${{ github.event.pull_request.head.sha || github.sha }} run: npm run build:production - name: Update config.json for testing run: | jq '.multiserver=true | .servers=["https://demo.jellyfin.org/unstable"]' dist/config.json > dist/config.tmp.json mv dist/config.tmp.json dist/config.json - name: Upload artifact uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 with: name: jellyfin-web__prod path: | dist