diff --git a/.github/workflows/build-preview.yml b/.github/workflows/build-preview.yml index 537c958..fcdd7c1 100644 --- a/.github/workflows/build-preview.yml +++ b/.github/workflows/build-preview.yml @@ -1,31 +1,24 @@ -name: "Build and Deploy Preview" +name: Build Preview Deployment + +concurrency: + group: ${{ github.workflow }}-${{ github.event.number || github.sha }} + cancel-in-progress: true on: pull_request: types: [opened, synchronize] jobs: - build-and-deploy: + build-preview: runs-on: ubuntu-latest - name: Build and Deploy Preview - permissions: - contents: read - actions: write - pull-requests: write - deployments: write steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Setup pnpm - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 + - uses: actions/setup-node@v4 + with: + node-version: 20 - name: Install dependencies working-directory: app @@ -34,32 +27,18 @@ jobs: - name: Build working-directory: app run: pnpm build - - - name: List build output - run: ls -la app/dist - - - name: Deploy to Cloudflare Pages - uses: AdrianGonz97/refined-cf-pages-action@v1 - with: - apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} - accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - githubToken: ${{ secrets.GITHUB_TOKEN }} - projectName: ${{ secrets.CLOUDFLARE_PROJECT_NAME }} - deploymentName: Preview - directory: app/dist + # - name: Deploy to Cloudflare Pages + # uses: AdrianGonz97/refined-cf-pages-action@v1 + # with: + # apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + # accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + # githubToken: ${{ secrets.GITHUB_TOKEN }} + # projectName: ${{ secrets.CLOUDFLARE_PROJECT_NAME }} + # deploymentName: Preview + # directory: app/dist - name: Upload build artifact - id: upload-artifact uses: actions/upload-artifact@v4 with: name: preview-build - path: app/dist - retention-days: 1 - - - name: Verify artifact upload - run: | - echo "Artifact upload completed" - echo "Workflow ID: ${{ github.run_id }}" - echo "Repository: ${{ github.repository }}" - echo "Event name: ${{ github.event_name }}" - echo "Event type: ${{ github.event.action }}" \ No newline at end of file + path: app/dist \ No newline at end of file diff --git a/.github/workflows/deploy-preview.yml b/.github/workflows/deploy-preview.yml new file mode 100644 index 0000000..2f06743 --- /dev/null +++ b/.github/workflows/deploy-preview.yml @@ -0,0 +1,37 @@ +name: Upload Preview Deployment + +on: + workflow_run: + workflows: [Build Preview Deployment] + types: + - completed + +permissions: + actions: read + deployments: write + contents: read + pull-requests: write + +jobs: + deploy-preview: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + steps: + - name: Download build artifact + uses: actions/download-artifact@v4 + id: preview-build-artifact + with: + name: preview-build + path: build + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + + - name: Deploy to Cloudflare Pages + uses: AdrianGonz97/refined-cf-pages-action@v1 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + githubToken: ${{ secrets.GITHUB_TOKEN }} + projectName: templates + deploymentName: Preview + directory: ${{ steps.preview-build-artifact.outputs.download-path }} \ No newline at end of file