Skip to content

Commit 4ed085f

Browse files
committed
chore: add deployment for native hosting
1 parent a161583 commit 4ed085f

1 file changed

Lines changed: 71 additions & 0 deletions

File tree

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Native Hosting
2+
3+
on:
4+
push:
5+
branches: [canary]
6+
pull_request:
7+
types: [opened, synchronize]
8+
9+
jobs:
10+
build-and-deploy:
11+
name: Build and Deploy
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
17+
- uses: pnpm/action-setup@v3
18+
19+
- name: Use Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version-file: '.nvmrc'
23+
cache: 'pnpm'
24+
25+
- name: Install dependencies
26+
run: pnpm install --frozen-lockfile
27+
28+
- name: Install Catalyst CLI
29+
run: pnpm add @bigcommerce/catalyst@alpha @opennextjs/cloudflare
30+
working-directory: core
31+
32+
- name: Update package scripts
33+
run: |
34+
jq '.scripts.build = "npm run generate && catalyst build --framework catalyst" |
35+
.scripts.dev = "npm run generate && catalyst dev" |
36+
.scripts.start = "catalyst start" |
37+
.scripts["deploy"] = "catalyst deploy"' \
38+
package.json > package.tmp.json
39+
mv package.tmp.json package.json
40+
working-directory: core
41+
42+
- name: Build Dependencies
43+
run: pnpm --filter "./packages/*" build
44+
45+
- name: Catalyst Build
46+
run: pnpm run build
47+
working-directory: core
48+
# These environment variables are required for the build step to succeed
49+
env:
50+
AUTH_SECRET: ${{ secrets.NATIVE_HOSTING_AUTH_SECRET }}
51+
BIGCOMMERCE_CHANNEL_ID: ${{ vars.NATIVE_HOSTING_BIGCOMMERCE_CHANNEL_ID }}
52+
BIGCOMMERCE_STORE_HASH: ${{ vars.NATIVE_HOSTING_BIGCOMMERCE_STORE_HASH }}
53+
BIGCOMMERCE_STOREFRONT_TOKEN: ${{ secrets.NATIVE_HOSTING_BIGCOMMERCE_STOREFRONT_TOKEN }}
54+
BIGCOMMERCE_PROJECT_UUID: ${{ secrets.NATIVE_HOSTING_BIGCOMMERCE_PROJECT_UUID }}
55+
OPEN_NEXT_DEBUG: true
56+
57+
- name: Catalyst Deploy
58+
run: |
59+
pnpm run deploy \
60+
--secret BIGCOMMERCE_STORE_HASH=${{ vars.NATIVE_HOSTING_BIGCOMMERCE_STORE_HASH }} \
61+
--secret BIGCOMMERCE_STOREFRONT_TOKEN=${{ secrets.NATIVE_HOSTING_BIGCOMMERCE_STOREFRONT_TOKEN }} \
62+
--secret BIGCOMMERCE_CHANNEL_ID=${{ vars.NATIVE_HOSTING_BIGCOMMERCE_CHANNEL_ID }} \
63+
--secret AUTH_SECRET=${{ secrets.NATIVE_HOSTING_AUTH_SECRET }} \
64+
--secret OPEN_NEXT_ERROR_LOG_LEVEL=debug
65+
working-directory: core
66+
# These environment variables are for the deploy command only
67+
# Added here to avoid polluting the run script with additional flags
68+
env:
69+
BIGCOMMERCE_ACCESS_TOKEN: ${{ secrets.NATIVE_HOSTING_BIGCOMMERCE_ACCESS_TOKEN }}
70+
BIGCOMMERCE_PROJECT_UUID: ${{ secrets.NATIVE_HOSTING_BIGCOMMERCE_PROJECT_UUID }}
71+
BIGCOMMERCE_STORE_HASH: ${{ vars.NATIVE_HOSTING_BIGCOMMERCE_STORE_HASH }}

0 commit comments

Comments
 (0)