Skip to content

Commit 59e07d9

Browse files
committed
chore: merge develop and adapt to ProjectContext.rawProjectConfig removal
Resolve api.ts conflict (keep auto_expose_new_tables alongside the Effect.succeed default-key update from develop) and read the auto_expose_new_tables flag via loadProjectConfig now that ProjectContext no longer exposes rawProjectConfig (#5281).
2 parents f24b3b1 + 022c72b commit 59e07d9

166 files changed

Lines changed: 3534 additions & 2159 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/setup/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ runs:
1111

1212
- name: Restore Bun toolchain cache
1313
id: bun-toolchain-cache
14-
uses: actions/cache@v4
14+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
1515
with:
1616
path: /opt/hostedtoolcache/bun
1717
key: bun-toolchain-${{ runner.os }}-${{ runner.arch }}-${{ env.BUN_VERSION }}
@@ -39,7 +39,7 @@ runs:
3939
run: bun --version
4040

4141
- name: Install Node.js
42-
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
42+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
4343
with:
4444
node-version-file: .nvmrc
4545
package-manager-cache: false
@@ -49,7 +49,7 @@ runs:
4949
run: npm install --global --force corepack && corepack enable
5050

5151
- name: Configure dependency cache
52-
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
52+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
5353
with:
5454
cache: pnpm
5555

.github/workflows/cli-go-api-sync.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ permissions:
1212
jobs:
1313
sync:
1414
name: Sync API Types
15-
runs-on: ubuntu-latest
15+
runs-on: blacksmith-2vcpu-ubuntu-2404
1616
steps:
1717
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1818

.github/workflows/cli-go-ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ permissions:
1919
jobs:
2020
test:
2121
name: Test
22-
runs-on: ubuntu-latest
22+
runs-on: blacksmith-8vcpu-ubuntu-2404
2323
steps:
2424
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2525

26-
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
26+
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
2727
with:
2828
go-version-file: apps/cli-go/go.mod
2929
cache: true
@@ -60,7 +60,7 @@ jobs:
6060
steps:
6161
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6262

63-
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
63+
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
6464
with:
6565
go-version-file: apps/cli-go/go.mod
6666
# Linter requires no cache
@@ -78,7 +78,7 @@ jobs:
7878
runs-on: ubuntu-latest
7979
steps:
8080
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
81-
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
81+
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
8282
with:
8383
go-version-file: apps/cli-go/go.mod
8484
cache: true
@@ -102,7 +102,7 @@ jobs:
102102
runs-on: ubuntu-latest
103103
steps:
104104
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
105-
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
105+
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
106106
with:
107107
go-version-file: apps/cli-go/go.mod
108108
cache: true
@@ -118,7 +118,7 @@ jobs:
118118
steps:
119119
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
120120

121-
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
121+
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
122122
with:
123123
go-version-file: apps/cli-go/go.mod
124124
cache: true

.github/workflows/cli-go-codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
# - https://gh.io/supported-runners-and-hardware-resources
3333
# - https://gh.io/using-larger-runners (GitHub.com only)
3434
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
35-
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
35+
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'blacksmith-8vcpu-ubuntu-2404' }}
3636
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
3737
permissions:
3838
# required for all workflows

.github/workflows/cli-go-mirror.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ permissions:
2222

2323
jobs:
2424
setup:
25-
runs-on: ubuntu-latest
25+
runs-on: blacksmith-2vcpu-ubuntu-2404
2626
outputs:
2727
tags: ${{ steps.list.outputs.tags }}
2828
curr: ${{ steps.curr.outputs.tags }}

.github/workflows/cli-go-pg-prove.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,12 @@ jobs:
7474
username: ${{ secrets.DOCKER_USERNAME }}
7575
password: ${{ secrets.DOCKER_PASSWORD }}
7676
- name: Merge multi-arch manifests
77+
env:
78+
IMAGE_TAG: ${{ needs.settings.outputs.image_tag }}
7779
run: |
78-
docker buildx imagetools create -t ${{ needs.settings.outputs.image_tag }} \
79-
${{ needs.settings.outputs.image_tag }}_amd64 \
80-
${{ needs.settings.outputs.image_tag }}_arm64
80+
docker buildx imagetools create -t "${IMAGE_TAG}" \
81+
"${IMAGE_TAG}_amd64" \
82+
"${IMAGE_TAG}_arm64"
8183
8284
publish:
8385
needs:

.github/workflows/cli-go-publish-migra.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,12 @@ jobs:
7474
username: ${{ secrets.DOCKER_USERNAME }}
7575
password: ${{ secrets.DOCKER_PASSWORD }}
7676
- name: Merge multi-arch manifests
77+
env:
78+
IMAGE_TAG: ${{ needs.settings.outputs.image_tag }}
7779
run: |
78-
docker buildx imagetools create -t "${{ needs.settings.outputs.image_tag }}" \
79-
"${{ needs.settings.outputs.image_tag }}_amd64" \
80-
"${{ needs.settings.outputs.image_tag }}_arm64"
80+
docker buildx imagetools create -t "${IMAGE_TAG}" \
81+
"${IMAGE_TAG}_amd64" \
82+
"${IMAGE_TAG}_arm64"
8183
8284
publish:
8385
needs:

.github/workflows/release-shared.yml

Lines changed: 61 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ on:
4545

4646
jobs:
4747
build:
48-
runs-on: large-linux-x86
48+
runs-on: blacksmith-32vcpu-ubuntu-2404
49+
env:
50+
BUN_SHELL: ${{ inputs.shell }}
51+
VERSION: ${{ inputs.version }}
4952
steps:
5053
- name: Checkout
5154
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
@@ -54,7 +57,7 @@ jobs:
5457
uses: ./.github/actions/setup
5558

5659
- name: Setup Go
57-
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
60+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
5861
with:
5962
go-version-file: apps/cli-go/go.mod
6063
cache: true
@@ -71,10 +74,10 @@ jobs:
7174
sudo apt-get install -y nfpm
7275
7376
- name: Sync versions
74-
run: pnpm exec bun apps/cli/scripts/sync-versions.ts --version ${{ inputs.version }}
77+
run: pnpm exec bun apps/cli/scripts/sync-versions.ts --version "${VERSION}"
7578

7679
- name: Build selected shell
77-
run: pnpm exec bun apps/cli/scripts/build.ts --version ${{ inputs.version }} --shell ${{ inputs.shell }}
80+
run: pnpm exec bun apps/cli/scripts/build.ts --version "${VERSION}" --shell "${BUN_SHELL}"
7881

7982
- name: Verify build artifacts
8083
run: |
@@ -95,11 +98,19 @@ jobs:
9598
9699
smoke-test:
97100
needs: build
101+
# macos-15-intel is the slowest smoke leg and the only one not on
102+
# Blacksmith (Blacksmith macOS is ARM-only). Skip it on prereleases
103+
# (PR smoke + develop -> beta) so beta wall-clock isn't gated by it;
104+
# stable releases on main still run the full matrix.
105+
if: ${{ !(matrix.runner == 'macos-15-intel' && inputs.prerelease) }}
98106
strategy:
99107
fail-fast: false
100108
matrix:
101-
runner: [ubuntu-latest, macos-latest, macos-15-intel, windows-latest]
109+
runner: [blacksmith-8vcpu-ubuntu-2404, blacksmith-6vcpu-macos-latest, macos-15-intel, blacksmith-8vcpu-windows-2025]
102110
runs-on: ${{ matrix.runner }}
111+
env:
112+
NPM_TAG: ${{ inputs.npm_tag }}
113+
VERSION: ${{ inputs.version }}
103114
steps:
104115
- name: Checkout
105116
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
@@ -128,13 +139,21 @@ jobs:
128139
run: chmod +x packages/cli-*/bin/supabase || true
129140

130141
- name: Run smoke tests
131-
run: pnpm run test:smoke -- --version ${{ inputs.version }} --tag ${{ inputs.npm_tag }}
142+
# Force bash so ${VERSION}/${NPM_TAG} expand identically across the
143+
# ubuntu/macos/windows matrix — windows-latest defaults to pwsh, which
144+
# treats those as empty PowerShell variables (env vars are `$env:VAR`).
145+
shell: bash
146+
run: pnpm run test:smoke -- --version "${VERSION}" --tag "${NPM_TAG}"
132147
working-directory: apps/cli
133148

134149
publish:
135150
needs: smoke-test
136151
if: ${{ !inputs.dry_run }}
137-
runs-on: ubuntu-latest
152+
runs-on: blacksmith-2vcpu-ubuntu-2404
153+
env:
154+
CHANNEL: ${{ inputs.channel }}
155+
NPM_TAG: ${{ inputs.npm_tag }}
156+
VERSION: ${{ inputs.version }}
138157
permissions:
139158
contents: write
140159
id-token: write
@@ -151,10 +170,10 @@ jobs:
151170
name: cli-build-${{ inputs.shell }}-${{ inputs.version }}
152171

153172
- name: Sync versions
154-
run: pnpm exec bun apps/cli/scripts/sync-versions.ts --version ${{ inputs.version }}
173+
run: pnpm exec bun apps/cli/scripts/sync-versions.ts --version "${VERSION}"
155174

156175
- name: Publish to npm
157-
run: pnpm exec bun apps/cli/scripts/publish.ts --tag ${{ inputs.npm_tag }}
176+
run: pnpm exec bun apps/cli/scripts/publish.ts --tag "${NPM_TAG}"
158177

159178
# Push the version tag to origin as soon as npm has the bytes, before any
160179
# downstream step that can fail. Without this, a failure in the GH-release
@@ -166,7 +185,7 @@ jobs:
166185
- name: Push version tag
167186
run: |
168187
set -euo pipefail
169-
tag="v${{ inputs.version }}"
188+
tag="v${VERSION}"
170189
git config user.name "github-actions[bot]"
171190
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
172191
if git ls-remote --tags origin "refs/tags/${tag}" | grep -q .; then
@@ -193,8 +212,8 @@ jobs:
193212
if: ${{ inputs.prerelease }}
194213
run: |
195214
set -euo pipefail
196-
tag="v${{ inputs.version }}"
197-
channel="${{ inputs.channel }}"
215+
tag="v${VERSION}"
216+
channel="${CHANNEL}"
198217
note_ref="refs/notes/semantic-release-${tag}"
199218
if git ls-remote origin "${note_ref}" | grep -q .; then
200219
echo "Channel note ${note_ref} already on origin; skipping push."
@@ -203,6 +222,17 @@ jobs:
203222
git push origin "${note_ref}"
204223
fi
205224
225+
# goreleaser used to publish both supabase_<version>_<os>_<arch>.tar.gz and
226+
# supabase_<os>_<arch>.tar.gz; setup-cli, install scripts, docs and various
227+
# third-party tools point at releases/latest/download/<unversioned>.tar.gz.
228+
# Re-publish the alias so those callers keep working. See supabase/cli#5257.
229+
- name: Create unversioned tarball aliases
230+
run: |
231+
set -euo pipefail
232+
for triple in darwin_arm64 darwin_amd64 linux_arm64 linux_amd64 windows_arm64 windows_amd64; do
233+
cp "dist/supabase_${VERSION}_${triple}.tar.gz" "dist/supabase_${triple}.tar.gz"
234+
done
235+
206236
- name: Create draft GitHub Release
207237
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2
208238
with:
@@ -223,17 +253,28 @@ jobs:
223253
dist/supabase_${{ inputs.version }}_linux_amd64.apk
224254
dist/supabase_${{ inputs.version }}_windows_amd64.zip
225255
dist/supabase_${{ inputs.version }}_windows_arm64.zip
256+
dist/supabase_${{ inputs.version }}_windows_amd64.tar.gz
257+
dist/supabase_${{ inputs.version }}_windows_arm64.tar.gz
226258
dist/checksums.txt
259+
dist/supabase_darwin_arm64.tar.gz
260+
dist/supabase_darwin_amd64.tar.gz
261+
dist/supabase_linux_arm64.tar.gz
262+
dist/supabase_linux_amd64.tar.gz
263+
dist/supabase_windows_arm64.tar.gz
264+
dist/supabase_windows_amd64.tar.gz
227265
228266
- name: Publish GitHub Release (immutable)
229267
env:
230268
GH_TOKEN: ${{ github.token }}
231-
run: gh release edit v${{ inputs.version }} --draft=false
269+
run: gh release edit "v${VERSION}" --draft=false
232270

233271
publish-homebrew:
234272
needs: publish
235273
if: ${{ !inputs.dry_run && inputs.publish_brew_scoop }}
236-
runs-on: ubuntu-latest
274+
runs-on: blacksmith-2vcpu-ubuntu-2404
275+
env:
276+
BREW_NAME: ${{ inputs.brew_name }}
277+
VERSION: ${{ inputs.version }}
237278
steps:
238279
- name: Checkout
239280
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
@@ -265,14 +306,17 @@ jobs:
265306
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
266307
267308
- name: Update Homebrew formula
268-
run: pnpm exec bun apps/cli/scripts/update-homebrew.ts --version ${{ inputs.version }} --name ${{ inputs.brew_name }}
309+
run: pnpm exec bun apps/cli/scripts/update-homebrew.ts --version "${VERSION}" --name "${BREW_NAME}"
269310
env:
270311
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
271312

272313
publish-scoop:
273314
needs: publish
274315
if: ${{ !inputs.dry_run && inputs.publish_brew_scoop }}
275-
runs-on: ubuntu-latest
316+
runs-on: blacksmith-2vcpu-ubuntu-2404
317+
env:
318+
SCOOP_NAME: ${{ inputs.scoop_name }}
319+
VERSION: ${{ inputs.version }}
276320
steps:
277321
- name: Checkout
278322
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
@@ -304,6 +348,6 @@ jobs:
304348
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
305349
306350
- name: Update Scoop manifest
307-
run: pnpm exec bun apps/cli/scripts/update-scoop.ts --version ${{ inputs.version }} --name ${{ inputs.scoop_name }}
351+
run: pnpm exec bun apps/cli/scripts/update-scoop.ts --version "${VERSION}" --name "${SCOOP_NAME}"
308352
env:
309353
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
with:
5656
app-id: ${{ secrets.APP_ID }}
5757
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
58-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
58+
- uses: useblacksmith/checkout@41cdeedae8edb2e684ba22896a5fd2a3cb85db6b # v1
5959
with:
6060
fetch-depth: 0
6161
token: ${{ steps.app-token.outputs.token }}
@@ -97,7 +97,7 @@ jobs:
9797
# Authorization header overrides the App token semantic-release puts in
9898
# the push URL — making the dry-push identify as `github-actions[bot]`
9999
# and get rejected by branch protection.
100-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
100+
- uses: useblacksmith/checkout@41cdeedae8edb2e684ba22896a5fd2a3cb85db6b # v1
101101
with:
102102
fetch-depth: 0
103103
persist-credentials: false

0 commit comments

Comments
 (0)