Files @ r25011:61d28a13bb41
Branch filter:

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

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: Commit checker

on:
  pull_request:

jobs:
  commit-checker:
    name: Commit checker
    runs-on: ubuntu-latest

    steps:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        fetch-depth: 4

    - name: Get pull-request commits
      run: |
        set -x
        # actions/checkout did a merge checkout of the pull-request. As such, the first
        # commit is the merge commit. This means that on HEAD^ is the base branch, and
        # on HEAD^2 are the commits from the pull-request. We now check if those trees
        # have a common parent. If not, we fetch a few more commits till we do. In result,
        # the log between HEAD^ and HEAD^2 will be the commits in the pull-request.
        DEPTH=4
        while [ -z "$(git merge-base HEAD^ HEAD^2)" ]; do
            # Prevent infinite recursion
            if [ ${DEPTH} -gt 256 ]; then
                echo "No common parent between '${GITHUB_HEAD_REF}' and '${GITHUB_BASE_REF}'." >&2
                exit 1
            fi

            git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --deepen=${DEPTH} origin HEAD
            DEPTH=$(( ${DEPTH} * 4 ))
        done

        # Just to show which commits we are going to evaluate.
        git log --oneline HEAD^..HEAD^2

    - name: Checkout commit-checker
      uses: actions/checkout@v2
      with:
        repository: OpenTTD/OpenTTD-git-hooks
        path: git-hooks
        ref: master

    - name: Check commits
      run: |
        set -x
        HOOKS_DIR=./git-hooks/hooks GIT_DIR=.git ./git-hooks/hooks/check-commits.sh HEAD^..HEAD^2
        echo "Commit checks passed"