Files @ r25011:61d28a13bb41
Branch filter:

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

Patric Stout
Remove: [Video] no longer draw in a thread

Drawing in a thread is a bit odd, and often leads to surprising
issues. For example, OpenGL would only allow it if you move the
full context to the thread. Which is not always easily done on
all OSes.
In general, the advise is to handle system events and drawing
from the main thread, and do everything else in other threads.
So, let's be more like other games.

Additionally, putting the drawing routine in a thread was only
done for a few targets.

Upcoming commit will move the GameLoop in a thread, which will
work for all targets.
name: Preview label

on:
  pull_request_target:
    types:
    - labeled

env:
  TEAM_CORE_DEVELOPER: core-developers

jobs:
  check_preview_label:
    name: Check for preview label
    if: github.event.action == 'labeled' && github.event.label.name == 'preview'

    runs-on: ubuntu-20.04

    steps:
    - name: Check if label was added by core developer
      id: core_developer
      continue-on-error: true
      uses: octokit/request-action@v2.x
      with:
        route: GET /orgs/OpenTTD/teams/${{ env.TEAM_CORE_DEVELOPER }}/memberships/${{ github.event.sender.login }}
      env:
        GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }}

    - if: steps.core_developer.outcome == 'failure'
      name: Remove preview label if not core developer
      uses: octokit/request-action@v2.x
      with:
        route: DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/preview
        owner: ${{ github.event.repository.owner.login }}
        repo: ${{ github.event.repository.name }}
        issue_number: ${{ github.event.number }}
      env:
        GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }}

    - if: steps.core_developer.outcome == 'success'
      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: steps.core_developer.outcome == 'success'
      name: Trigger 'preview build'
      uses: peter-evans/repository-dispatch@v1
      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 }}"}'