Properly deal with contexts at various levels

memorize https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability
This commit is contained in:
Jacob Heider 2023-01-05 19:05:18 -05:00 committed by Jacob Heider
parent 2af6b64253
commit a22f2bb6e5
2 changed files with 9 additions and 3 deletions

View file

@ -121,6 +121,8 @@ jobs:
name: darwin+aarch64
- os: [self-hosted, linux, ARM64]
name: linux+aarch64
outputs:
HAS_SECRETS: ${{ secrets.AWS_S3_CACHE != '' }}
container: ${{ matrix.platform.container }}
steps:
- uses: actions/checkout@v3
@ -156,7 +158,7 @@ jobs:
stage:
needs: [test]
# this only works for PRs from our team to our repo (security! :( )
if: startsWith(github.ref, 'refs/pull/') && startsWith(github.repository, 'teaxyz/pantry.') && secrets.AWS_S3_CACHE != ''
if: startsWith(github.ref, 'refs/pull/') && startsWith(github.repository, 'teaxyz/pantry.') && needs.test.outputs.HAS_SECRETS
runs-on: ubuntu-latest
strategy:
matrix:

View file

@ -7,6 +7,8 @@ on:
jobs:
cd:
runs-on: ubuntu-latest
outputs:
HAS_SECRETS: ${{ secrets.AWS_S3_CACHE != '' }}
steps:
- uses: actions/checkout@v3
- run: >
@ -16,13 +18,15 @@ jobs:
curl https://app.tea.xyz/api/receiveWatcherProjects --fail -X PUT \
-H "content-type: application/json" -H "authorization: bearer ${{ secrets.TEA_API_TOKEN }}" -d @-
bottle-pr:
needs: [cd]
#FIXME: will fail (harmlessly) on non-merge/non-new-version runs, and won't work on 3rd-party PRs
if: ${{ secrets.AWS_S3_CACHE != '' }}
if: needs.cd.outputs.HAS_SECRETS
uses: ./.github/workflows/bottle.yml
secrets: inherit
bottle-standalone:
runs-on: ubuntu-latest
if: ${{ secrets.AWS_S3_CACHE == '' }}
needs: [cd]
if: ! needs.cd.outputs.HAS_SECRETS
steps:
- uses: actions/checkout@v3
- uses: technote-space/get-diff-action@v6