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