Files @ r26728:d50c0d7b11c7
Branch filter:

Location: cpp/openttd-patchpack/source/.github/workflows/preview_push.yml

Rubidium
Fix: virtual call from constructor

That fills an instance variable that is only read from the Game Options window
and that is overwritten when the video driver is started. Since you cannot get
into the Game Options window without starting the video driver, it is just
pointless and wrong code that would never be noticed by the end user.
name: Preview push

on:
  pull_request_target:
    types:
    - synchronize

jobs:
  check_new_preview:
    name: Check preview needs update

    runs-on: ubuntu-20.04

    steps:
    - name: Check if earlier preview exists
      id: earlier_preview
      uses: octokit/request-action@v2.x
      with:
        route: GET /repos/{owner}/{repo}/deployments
        owner: ${{ github.event.repository.owner.login }}
        repo: ${{ github.event.repository.name }}
        environment: preview-pr-${{ github.event.number }}
        per_page: 1
      env:
        GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }}

    - if: toJson(fromJson(steps.earlier_preview.outputs.data)) != '[]'
      name: Check for preview label
      id: preview_label
      uses: octokit/request-action@v2.x
      with:
        route: GET /repos/{owner}/{repo}/issues/{issue_number}/labels
        owner: ${{ github.event.repository.owner.login }}
        repo: ${{ github.event.repository.name }}
        issue_number: ${{ github.event.number }}
      env:
        GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }}

    - if: toJson(fromJson(steps.earlier_preview.outputs.data)) != '[]' && contains(fromJson(steps.preview_label.outputs.data).*.name, 'preview')
      name: Create deployment
      id: deployment
      uses: octokit/request-action@v2.x
      with:
        route: POST /repos/{owner}/{repo}/deployments
        mediaType: |
          previews:
          - ant-man
          - flash
        owner: ${{ github.event.repository.owner.login }}
        repo: ${{ github.event.repository.name }}
        ref: ${{ github.event.pull_request.head.sha }}
        task: deploy:preview
        auto_merge: false
        required_contexts: "[]"
        environment: preview-pr-${{ github.event.number }}
        description: "Preview for Pull Request #${{ github.event.number }}"
      env:
        GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }}

    - if: toJson(fromJson(steps.earlier_preview.outputs.data)) != '[]' && contains(fromJson(steps.preview_label.outputs.data).*.name, 'preview')
      name: Trigger 'preview build'
      uses: peter-evans/repository-dispatch@v2
      with:
        token: ${{ secrets.PREVIEW_GITHUB_TOKEN }}
        event-type: "Preview build #${{ github.event.number }}"
        client-payload: '{"folder": "pr${{ github.event.number }}", "sha": "${{ github.event.pull_request.head.sha }}", "deployment_id": "${{ fromJson(steps.deployment.outputs.data).id }}"}'