Skip to content

Commit 66ea87e

Browse files
committed
chore(ci): pass channel-specific env vars to vercel deploy
1 parent 8096cc5 commit 66ea87e

1 file changed

Lines changed: 37 additions & 8 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
- "@bigcommerce/catalyst-b2b-makeswift@latest"
1212
jobs:
1313
deploy-tag:
14-
name: Deploy `{{ github.ref_name }}` tag
14+
name: Deploy `${{ github.ref_name }}` tag
1515
runs-on: ubuntu-latest
1616
concurrency:
1717
group: ${{ github.workflow }}-${{ github.ref_name }}
@@ -21,23 +21,52 @@ jobs:
2121
- name: Install Vercel CLI
2222
run: npm install --global vercel@latest
2323

24-
- name: Parse Tag and Build Domain
24+
- name: Parse Tag and Build Configuration
2525
id: parse-tag
2626
run: |
2727
TAG="${{ github.ref_name }}"
2828
PACKAGE_NAME=$(echo "$TAG" | sed -E 's/^@bigcommerce\/([^@]+)@.*$/\1/')
29+
2930
case "$PACKAGE_NAME" in
30-
"catalyst-core") DOMAIN="catalyst-demo.site" ;;
31-
"catalyst-makeswift") DOMAIN="makeswift.catalyst-demo.site" ;;
32-
"catalyst-b2b-makeswift") DOMAIN="b2b-makeswift.catalyst-demo.site" ;;
33-
*) echo "Error: Unknown package name: $PACKAGE_NAME"; exit 1 ;;
31+
"catalyst-core")
32+
echo "domain=catalyst-demo.site" >> $GITHUB_OUTPUT
33+
echo "env_prefix=CORE" >> $GITHUB_OUTPUT
34+
echo "is_makeswift=false" >> $GITHUB_OUTPUT
35+
;;
36+
"catalyst-makeswift")
37+
echo "domain=makeswift.catalyst-demo.site" >> $GITHUB_OUTPUT
38+
echo "env_prefix=MAKESWIFT" >> $GITHUB_OUTPUT
39+
echo "is_makeswift=true" >> $GITHUB_OUTPUT
40+
;;
41+
"catalyst-b2b-makeswift")
42+
echo "domain=b2b-makeswift.catalyst-demo.site" >> $GITHUB_OUTPUT
43+
echo "env_prefix=B2B_MAKESWIFT" >> $GITHUB_OUTPUT
44+
echo "is_makeswift=true" >> $GITHUB_OUTPUT
45+
;;
46+
*)
47+
echo "Error: Unknown package name: $PACKAGE_NAME"
48+
exit 1
49+
;;
3450
esac
35-
echo "domain=$DOMAIN" >> $GITHUB_OUTPUT
3651
3752
- name: Deploy to Vercel
3853
id: deploy
54+
env:
55+
CHANNEL_ID: ${{ steps.parse-tag.outputs.env_prefix == 'CORE' && secrets.CORE_BIGCOMMERCE_CHANNEL_ID || steps.parse-tag.outputs.env_prefix == 'MAKESWIFT' && secrets.MAKESWIFT_BIGCOMMERCE_CHANNEL_ID || secrets.B2B_MAKESWIFT_BIGCOMMERCE_CHANNEL_ID }}
56+
STOREFRONT_TOKEN: ${{ steps.parse-tag.outputs.env_prefix == 'CORE' && secrets.CORE_BIGCOMMERCE_STOREFRONT_TOKEN || steps.parse-tag.outputs.env_prefix == 'MAKESWIFT' && secrets.MAKESWIFT_BIGCOMMERCE_STOREFRONT_TOKEN || secrets.B2B_MAKESWIFT_BIGCOMMERCE_STOREFRONT_TOKEN }}
57+
MAKESWIFT_KEY: ${{ steps.parse-tag.outputs.env_prefix == 'MAKESWIFT' && secrets.MAKESWIFT_SITE_API_KEY || secrets.B2B_MAKESWIFT_SITE_API_KEY }}
3958
run: |
40-
DEPLOYMENT_URL=$(vercel deploy --token=${{ secrets.VERCEL_TOKEN }})
59+
# Build deploy command with env vars
60+
DEPLOY_CMD="vercel deploy --token=${{ secrets.VERCEL_TOKEN }}"
61+
DEPLOY_CMD="$DEPLOY_CMD --env BIGCOMMERCE_CHANNEL_ID=$CHANNEL_ID"
62+
DEPLOY_CMD="$DEPLOY_CMD --env BIGCOMMERCE_STOREFRONT_TOKEN=$STOREFRONT_TOKEN"
63+
64+
# Add Makeswift-specific env var if applicable
65+
if [[ "${{ steps.parse-tag.outputs.is_makeswift }}" == "true" ]]; then
66+
DEPLOY_CMD="$DEPLOY_CMD --env MAKESWIFT_SITE_API_KEY=$MAKESWIFT_KEY"
67+
fi
68+
69+
DEPLOYMENT_URL=$(eval $DEPLOY_CMD)
4170
echo "deployment_url=$DEPLOYMENT_URL" >> $GITHUB_OUTPUT
4271
4372
- name: Set Vercel Domain Alias

0 commit comments

Comments
 (0)