Files
@ r25011:61d28a13bb41
Branch filter:
Location: cpp/openttd-patchpack/source/.github/workflows/preview_label.yml - annotation
r25011:61d28a13bb41
2.3 KiB
text/x-yaml
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.
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.
r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e r24442:8bceb6cadb9e | 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 }}"}'
|