name: Pull Request ๐Ÿ“ฅ concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} cancel-in-progress: true on: pull_request_target: branches: - master - release* paths-ignore: - '**/*.md' merge_group: jobs: push-comment: name: Create comments โœ๏ธ if: ${{ always() && !cancelled() && github.repository == 'jellyfin/jellyfin-web' }} uses: ./.github/workflows/__job_messages.yml secrets: inherit with: commit: ${{ github.event.pull_request.head.sha }} in_progress: true comment: true build: name: Build ๐Ÿ—๏ธ if: ${{ always() && !cancelled() }} uses: ./.github/workflows/__package.yml with: commit: ${{ github.event.pull_request.head.sha }} automation: name: Automation ๐ŸŽ›๏ธ if: ${{ github.repository == 'jellyfin/jellyfin-web' }} uses: ./.github/workflows/__automation.yml secrets: inherit quality_checks: name: Quality checks ๐Ÿ‘Œ๐Ÿงช if: ${{ always() && !cancelled() }} uses: ./.github/workflows/__quality_checks.yml permissions: {} with: commit: ${{ github.event.pull_request.head.sha }} codeql: name: GitHub CodeQL ๐Ÿ”ฌ if: ${{ always() && !cancelled() }} uses: ./.github/workflows/__codeql.yml permissions: actions: read contents: read security-events: write with: commit: ${{ github.event.pull_request.head.sha }} deploy: name: Deploy ๐Ÿš€ uses: ./.github/workflows/__deploy.yml if: ${{ always() && !cancelled() && needs.build.result == 'success' && github.repository == 'jellyfin/jellyfin-web' }} needs: - push-comment - build permissions: contents: read deployments: write secrets: inherit with: # If the PR is from the master branch of a fork, append the fork's name to the branch name branch: ${{ github.event.pull_request.head.repo.full_name != github.repository && github.event.pull_request.head.ref == 'master' && format('{0}/{1}', github.event.pull_request.head.repo.full_name, github.event.pull_request.head.ref) || github.event.pull_request.head.ref }} comment: true commit: ${{ github.event.pull_request.head.sha }} run-eslint: name: Run eslint suggestions if: ${{ github.repository == 'jellyfin/jellyfin-web' }} runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: ${{ github.event.pull_request.head.sha }} - name: Setup node environment uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 with: node-version: 20 cache: npm check-latest: true - name: Install Node.js dependencies run: npm ci --no-audit - name: Run eslint uses: CatChen/eslint-suggestion-action@623ecbafb1dd3f127bc56596b1145e474fc26c6c # v4.1.11 with: github-token: ${{ secrets.GITHUB_TOKEN }}