1111 - " @bigcommerce/catalyst-b2b-makeswift@latest"
1212jobs :
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,25 +21,61 @@ jobs:
2121 - name : Install Vercel CLI
2222 run : npm install --global vercel@latest
2323
24- - name : Parse Tag and Build Domain
25- id : parse-tag
24+ - name : Configure catalyst-core deployment
25+ if : contains(github.ref_name, 'catalyst-core@')
2626 run : |
27- TAG="${{ github.ref_name }}"
28- PACKAGE_NAME=$(echo "$TAG" | sed -E 's/^@bigcommerce\/([^@]+)@.*$/\1/')
29- 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 ;;
34- esac
35- echo "domain=$DOMAIN" >> $GITHUB_OUTPUT
27+ echo "DOMAIN=catalyst-demo.site" >> $GITHUB_ENV
28+ echo "CHANNEL_ID=${{ vars.CORE_BIGCOMMERCE_CHANNEL_ID }}" >> $GITHUB_ENV
29+ echo "STOREFRONT_TOKEN=${{ secrets.CORE_BIGCOMMERCE_STOREFRONT_TOKEN }}" >> $GITHUB_ENV
30+
31+ - name : Configure catalyst-makeswift deployment
32+ if : contains(github.ref_name, 'catalyst-makeswift@')
33+ run : |
34+ echo "DOMAIN=makeswift.catalyst-demo.site" >> $GITHUB_ENV
35+ echo "CHANNEL_ID=${{ vars.MAKESWIFT_BIGCOMMERCE_CHANNEL_ID }}" >> $GITHUB_ENV
36+ echo "STOREFRONT_TOKEN=${{ secrets.MAKESWIFT_BIGCOMMERCE_STOREFRONT_TOKEN }}" >> $GITHUB_ENV
37+ echo "MAKESWIFT_KEY=${{ secrets.MAKESWIFT_SITE_API_KEY }}" >> $GITHUB_ENV
38+
39+ - name : Configure catalyst-b2b-makeswift deployment
40+ if : contains(github.ref_name, 'catalyst-b2b-makeswift@')
41+ run : |
42+ echo "DOMAIN=b2b-makeswift.catalyst-demo.site" >> $GITHUB_ENV
43+ echo "CHANNEL_ID=${{ vars.B2B_MAKESWIFT_BIGCOMMERCE_CHANNEL_ID }}" >> $GITHUB_ENV
44+ echo "STOREFRONT_TOKEN=${{ secrets.B2B_MAKESWIFT_BIGCOMMERCE_STOREFRONT_TOKEN }}" >> $GITHUB_ENV
45+ echo "MAKESWIFT_KEY=${{ secrets.B2B_MAKESWIFT_SITE_API_KEY }}" >> $GITHUB_ENV
46+ echo "B2B_API_HOST=${{ vars.B2B_API_HOST }}" >> $GITHUB_ENV
47+ echo "BIGCOMMERCE_ACCESS_TOKEN=${{ secrets.B2B_BIGCOMMERCE_ACCESS_TOKEN }}" >> $GITHUB_ENV
3648
3749 - name : Deploy to Vercel
3850 id : deploy
51+ timeout-minutes : 15
52+ env :
53+ VERCEL_TOKEN : ${{ secrets.VERCEL_TOKEN }}
3954 run : |
40- DEPLOYMENT_URL=$(vercel deploy --token=${{ secrets.VERCEL_TOKEN }})
55+ DEPLOY_ARGS=(
56+ --token="$VERCEL_TOKEN"
57+ --env BIGCOMMERCE_CHANNEL_ID="$CHANNEL_ID"
58+ --env BIGCOMMERCE_STOREFRONT_TOKEN="$STOREFRONT_TOKEN"
59+ )
60+
61+ if [[ -n "$MAKESWIFT_KEY" ]]; then
62+ DEPLOY_ARGS+=(--env MAKESWIFT_SITE_API_KEY="$MAKESWIFT_KEY")
63+ fi
64+
65+ if [[ -n "$B2B_API_HOST" ]]; then
66+ DEPLOY_ARGS+=(--env B2B_API_HOST="$B2B_API_HOST")
67+ fi
68+
69+ if [[ -n "$BIGCOMMERCE_ACCESS_TOKEN" ]]; then
70+ DEPLOY_ARGS+=(--env BIGCOMMERCE_ACCESS_TOKEN="$BIGCOMMERCE_ACCESS_TOKEN")
71+ fi
72+
73+ DEPLOYMENT_URL=$(vercel deploy "${DEPLOY_ARGS[@]}")
4174 echo "deployment_url=$DEPLOYMENT_URL" >> $GITHUB_OUTPUT
4275
4376 - name : Set Vercel Domain Alias
77+ timeout-minutes : 5
78+ env :
79+ VERCEL_TOKEN : ${{ secrets.VERCEL_TOKEN }}
4480 run : |
45- vercel alias ${{ steps.deploy.outputs.deployment_url }} ${{ steps.parse-tag.outputs.domain }} -- token=${{ secrets. VERCEL_TOKEN }}
81+ vercel alias ${{ steps.deploy.outputs.deployment_url }} $DOMAIN -- token="$ VERCEL_TOKEN"
0 commit comments