[Staging Only] Deployment 10 of branch main by @holloway #10
This file contains hidden or 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 Worker | |
| run-name: '[${{ inputs.deploy }}] Deployment ${{ github.run_number }} of branch ${{ github.ref_name }} by @${{ github.actor }}' | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| deploy: | |
| description: 'Deploy to CF' | |
| default: 'Staging Only' | |
| required: true | |
| type: choice | |
| options: | |
| - Staging Only | |
| - Staging + Demo | |
| - Staging + Prod | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| staging: | |
| name: Deploy to Staging | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| environment: | |
| name: staging | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js environment | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24.x | |
| - name: Deploy Worker | |
| env: | |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CF_WORKER_DEPLOY_TOKEN }} | |
| CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_WORKER_DEPLOY_ACCOUNT_ID }} | |
| working-directory: worker | |
| run: | | |
| npm ci | |
| npx wrangler deploy --env staging --name queue-worker-staging | |
| demo: | |
| name: Deploy to Demo | |
| if: ${{ !failure() && !cancelled() && (inputs.deploy == 'Staging + Demo') }} | |
| needs: [staging] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| environment: | |
| name: demo | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js environment | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24.x | |
| - name: Deploy Worker | |
| env: | |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CF_WORKER_DEPLOY_TOKEN }} | |
| CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_WORKER_DEPLOY_ACCOUNT_ID }} | |
| working-directory: worker | |
| run: | | |
| npm ci | |
| npx wrangler deploy --env demo --name queue-worker-demo | |
| production: | |
| name: Deploy to Production | |
| if: ${{ !failure() && !cancelled() && (inputs.deploy == 'Staging + Prod') }} | |
| needs: [staging] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| environment: | |
| name: production | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js environment | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24.x | |
| - name: Deploy Worker | |
| env: | |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CF_WORKER_DEPLOY_TOKEN }} | |
| CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_WORKER_DEPLOY_ACCOUNT_ID }} | |
| working-directory: worker | |
| run: | | |
| npm ci | |
| npx wrangler deploy --env production --name queue-worker |