diff --git a/.github/workflows/send-screenshots-to-pixeleagle.yml b/.github/workflows/send-screenshots-to-pixeleagle.yml index 2f15774d64d47..4372d75ec865a 100644 --- a/.github/workflows/send-screenshots-to-pixeleagle.yml +++ b/.github/workflows/send-screenshots-to-pixeleagle.yml @@ -16,18 +16,33 @@ on: required: true type: string +env: + # Unfortunately, we can't check secrets in `if:` conditionals. However, Github's own documentation + # suggests a workaround: Putting the secret in an environment variable, and checking that instead. + PIXELEAGLE_TOKEN_EXISTS: ${{ secrets.PIXELEAGLE_TOKEN != '' }} + jobs: send-to-pixel-eagle: name: Send screenshots to Pixel Eagle runs-on: ubuntu-24.04 + # Pixel Eagle is irrelevant for most forks, even of those that allow workflows to run. Thus, we + # disable this job for any forks. Any forks where Pixel Eagle is relevant can comment out the + # `if:` conditional below. + if: ${{ github.repository == 'bevyengine/bevy' }} steps: + - name: Notify user on non-existent token + if: ${{ ! fromJSON(env.PIXELEAGLE_TOKEN_EXISTS) }} + run: | + echo "The PIXELEAGLE_TOKEN secret does not exist, so uploading screenshots to Pixel Eagle was skipped." >> $GITHUB_STEP_SUMMARY - name: Download artifact + if: ${{ fromJSON(env.PIXELEAGLE_TOKEN_EXISTS) }} uses: actions/download-artifact@v4 with: pattern: ${{ inputs.artifact }} - name: Send to Pixel Eagle + if: ${{ fromJSON(env.PIXELEAGLE_TOKEN_EXISTS) }} env: project: B04F67C0-C054-4A6F-92EC-F599FEC2FD1D run: |