diff --git a/.github/workflows/web-example-release.yaml b/.github/workflows/web-example-release.yaml new file mode 100644 index 00000000..08c3f4cf --- /dev/null +++ b/.github/workflows/web-example-release.yaml @@ -0,0 +1,50 @@ +name: web-example-release +on: + push: + branches: + - main + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Checkout input branch from github + uses: actions/checkout@v4.1.1 + - name: Flutter action + uses: subosito/flutter-action@v2.13.0 + with: + flutter-version: '3.16.5' + cache: true + cache-key: 'flutter-macos-stable-3.16.5-apple' + cache-path: '${{ runner.tool_cache }}/flutter/macos-stable-3.16.5-apple' + pub-cache-key: 'flutter-pub-macos-stable-3.16.5-apple' + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Project Clean Up + run: flutter clean && flutter pub get + - name: Build Web App + run: cd example && flutter build web + - name: Upload Web Artifact + uses: actions/upload-pages-artifact@v3.0.1 + with: + path: 'example/build/web' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4.0.5