release(desktop): Release v1.12.0 (#5060) #197
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: "\u2601\ufe0f Deploy Landing to Cloudflare" | |
| on: | |
| push: | |
| branches: [main, dev] | |
| workflow_dispatch: | |
| inputs: | |
| confirm_production_deploy: | |
| description: Deploy the selected branch to production (folo.is) | |
| required: true | |
| default: false | |
| type: boolean | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event_name == 'workflow_dispatch' && format('manual-prod-{0}', github.ref) || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| deploy: | |
| name: Build & Deploy Landing Worker | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| with: | |
| lfs: true | |
| - name: Checkout LFS objects | |
| run: git lfs checkout | |
| - name: Cache turbo build setup | |
| uses: actions/cache@v6 | |
| with: | |
| path: .turbo | |
| key: ${{ runner.os }}-turbo-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-turbo- | |
| - uses: pnpm/action-setup@v6 | |
| - name: Use Node.js LTS | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: lts/* | |
| cache: "pnpm" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile --child-concurrency=1 | |
| - name: Resolve deployment target | |
| id: target | |
| run: | | |
| if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then | |
| if [[ "${{ inputs.confirm_production_deploy }}" != "true" ]]; then | |
| echo "Manual production deploy was not confirmed." >&2 | |
| exit 1 | |
| fi | |
| echo "environment=prod" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| if [[ "${{ github.ref }}" == "refs/heads/dev" ]]; then | |
| echo "environment=dev" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| echo "environment=prod" >> "$GITHUB_OUTPUT" | |
| - name: Build Landing Worker | |
| run: pnpm exec turbo run @follow/landing#cf:build | |
| - name: Deploy Landing to Cloudflare (dev) | |
| if: steps.target.outputs.environment == 'dev' | |
| uses: cloudflare/wrangler-action@v4 | |
| with: | |
| apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
| workingDirectory: apps/landing | |
| command: deploy --env dev --name landing-next-dev --routes landing.dev.folo.is/* | |
| - name: Deploy Landing to Cloudflare (prod) | |
| if: steps.target.outputs.environment == 'prod' | |
| uses: cloudflare/wrangler-action@v4 | |
| with: | |
| apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
| workingDirectory: apps/landing | |
| command: deploy |