diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c6741087..5885eeaf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,11 +55,15 @@ jobs: if: matrix.name == 'gcc-6' # Recent versions of Github's checkout action do not run on older Ubuntu versions because they use a too recent # Node.js version. Thus, we have to checkout the code manually. + # Doing so is a bit tricky when it comes to PRs from forks (see #249 for details). The general idea here is that + # we access Github's context information for the event triggering the action's execution and use some details on + # the PR's HEAD if given. Otherwise (for executions due to master updates), we still use the provided + # environment variables. run: | apt-get update apt-get install -y git git config --global --add safe.directory '*' - git clone "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" . + git clone $(awk -v a=${{github.event.pull_request.head.repo.clone_url}} -v b="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" 'BEGIN { if (a == "") { print b } else { print a } }') . git checkout $GITHUB_HEAD_REF - name: Setup (macOS)