Deploy (web) #180
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Deploy (web)" | |
on: | |
schedule: | |
# [Note: Run workflow every 24 hours] | |
# | |
# Run everyday at ~8:00 AM IST (except Sundays). | |
# | |
# First field is minute, second is hour of the day. Last is day of week, | |
# 0 being Sunday. | |
# | |
# Add a few minutes of offset to avoid scheduling on exact hourly | |
# boundaries (recommended by GitHub to avoid congestion). | |
# | |
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule | |
# https://crontab.guru/ | |
# | |
- cron: "25 2 * * 1-6" | |
# Also allow manually running the workflow | |
workflow_dispatch: | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: web | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup node and enable yarn caching | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: "yarn" | |
cache-dependency-path: "web/yarn.lock" | |
- name: Install dependencies | |
run: yarn install | |
- name: Build photos | |
run: yarn build:photos | |
- name: Publish photos | |
uses: cloudflare/wrangler-action@v3 | |
with: | |
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/photos web/apps/photos/out | |
- name: Build accounts | |
run: yarn build:accounts | |
- name: Publish accounts | |
uses: cloudflare/wrangler-action@v3 | |
with: | |
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/accounts web/apps/accounts/out | |
- name: Build auth | |
run: yarn build:auth | |
- name: Publish auth | |
uses: cloudflare/wrangler-action@v3 | |
with: | |
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/auth web/apps/auth/out | |
- name: Build cast | |
run: yarn build:cast | |
- name: Publish cast | |
uses: cloudflare/wrangler-action@v3 | |
with: | |
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/cast web/apps/cast/out | |
- name: Build payments | |
run: yarn build:payments | |
- name: Publish payments | |
uses: cloudflare/wrangler-action@v3 | |
with: | |
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/payments web/apps/payments/dist |