name: Build & Deploy to GitHub Pages on: push: branches: - master pull_request: branches: - master jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 # - name: Cache Flutter dependencies # uses: actions/cache@v1 # with: # path: /opt/hostedtoolcache/flutter # key: ${{ runner.OS }}-flutter-install-cache-${{ env.flutter_version }} - name: Install Flutter uses: subosito/flutter-action@v2 with: channel: 'stable' - name: Get dependencies run: flutter pub get # - name: Analyze project # run: flutter analyze # - name: Test project # run: flutter test - name: Build release project run: flutter build web - name: Upload production-ready build files uses: actions/upload-artifact@v2 with: name: production-files path: ./build/web deploy: name: Deploy needs: build runs-on: ubuntu-latest if: github.ref == 'refs/heads/master' steps: - name: Download artifact uses: actions/download-artifact@v2 with: name: production-files path: ./build - name: Deploy to gh-pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GH_TOKEN }} publish_dir: ./build