on: pull_request: paths: - "**/*.dart" name: Deploy PR on Github Pages concurrency: group: ${{ github.workflow }}-${{ github.ref }} jobs: deploy: name: Build web version and deploy runs-on: ubuntu-latest environment: name: PR-${{ github.event.pull_request.number }} url: ${{ steps.configure.outputs.URL }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup flutter uses: subosito/flutter-action@v2 with: flutter-version: "3.27.4" channel: "stable" cache: true cache-key: deps-${{ hashFiles('**/pubspec.lock') }} # optional, change this to force refresh cache cache-path: ${{ runner.tool_cache }}/flutter # optional, change this to specify the cache path - name: Run prebuild run: ./scripts/prebuild.sh - name: Configure environments id: configure env: FOLDER: ${{ github.event.pull_request.number }} run: ./scripts/configure-web-environment.sh - name: Build env: FOLDER: ${{ github.event.pull_request.number }} run: ./scripts/build-web.sh - name: Deploy to Github Pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} destination_dir: ${{ github.event.pull_request.number }} keep_files: true publish_dir: "build/web" - name: Find deployment comment uses: peter-evans/find-comment@v3 id: fc with: comment-author: "github-actions[bot]" issue-number: ${{ github.event.pull_request.number }} body-includes: "This PR has been deployed to" - name: Create or update deployment comment uses: peter-evans/create-or-update-comment@v4 with: comment-id: ${{ steps.fc.outputs.comment-id }} issue-number: ${{ github.event.pull_request.number }} body: | This PR has been deployed to ${{ steps.configure.outputs.URL }}. edit-mode: replace