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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Setup node environment uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 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@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: jellyfin-web__prod path: | dist