-
Notifications
You must be signed in to change notification settings - Fork 390
57 lines (43 loc) · 1.95 KB
/
dogfooding.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: Dogfooding Check
on:
pull_request_review:
types: [submitted, edited]
pull_request_target:
types:
- opened
branches:
- '*'
jobs:
check_dogfooding:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
if: github.event.pull_request.base.ref == 'master' && github.event.pull_request.head.ref == 'release-please--branches--master'
with:
ref: master # used to identify the current RC version via git describe --tags --exclude rc*
fetch-depth: 0
- if: github.event.pull_request.base.ref == 'master' && github.event.pull_request.head.ref == 'release-please--branches--master'
run: |
set -ex
MAIN_RELEASE_VERSION=$(node -e "console.log('${{ github.event.pull_request.title }}'.split(' ').reverse().find(x => x.match(/[0-9]+[.][0-9]+[.][0-9]+/)))")
RELEASE_VERSION=$MAIN_RELEASE_VERSION-rc.$(node -e "console.log('$(git describe --tags --exclude rc*)'.split('-')[1])")
PROD_VERSION=$(curl 'https://auth.supabase.io/auth/v1/health' | jq -r .version)
STAGING_VERSION=$(curl 'https://alt.supabase.green/auth/v1/health' | jq -r .version)
echo "Expecting RC version $RELEASE_VERSION to be up on prod and staging."
if [ "$PROD_VERSION" != "$STAGING_VERSION" ]
then
echo "Versions on prod and staging don't match!"
exit 1
fi
if [ "$PROD_VERSION" != "$RELEASE_VERSION" ]
then
echo "Version on prod $PROD_VERSION is not the latest release candidate. Please release this RC first to proof the release before merging this PR."
exit 1
fi
echo "Release away!"
exit 0
- if: github.event.pull_request.base.ref != 'master' || github.event.pull_request.head.ref != 'release-please--branches--master'
run: |
set -ex
echo "This PR is not subject to dogfooding checks."
exit 0