From a84c1c694df0a9e11914c47eaf83989e034cc4db Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Mon, 19 Aug 2024 17:31:34 +0800 Subject: chore: update content --- .github/workflows/Build_Web_App.yml | 91 +++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 .github/workflows/Build_Web_App.yml (limited to '.github') diff --git a/.github/workflows/Build_Web_App.yml b/.github/workflows/Build_Web_App.yml new file mode 100644 index 0000000..f0359a2 --- /dev/null +++ b/.github/workflows/Build_Web_App.yml @@ -0,0 +1,91 @@ +name: Web Build + Deployment to GitHub Pages + +on: + # Runs on push to any of the below branches + push: + branches: + - master + - main + # Runs on pull request events that target one of the below branches + pull_request: + branches: + - master + - main + + # Allows you to run this workflow manually from the Actions tab of the repository + workflow_dispatch: + +# 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 + +env: + # https://flet.dev/docs/publish#versioning + BUILD_NUMBER: 1 + BUILD_VERSION: 1.0.0 + PYTHON_VERSION: 3.12.2 + FLUTTER_VERSION: 3.22.2 + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Python ${{ env.PYTHON_VERSION }} + uses: actions/setup-python@v2 + with: + python-version: ${{ env.PYTHON_VERSION }} + + - name: Install Python Dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Setup Flutter ${{ env.FLUTTER_VERSION }} + uses: subosito/flutter-action@v2 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + + - name: Flet Build Web + run: | + echo "GITHUB_REPOSITORY: ${GITHUB_REPOSITORY}, USER: ${GITHUB_REPOSITORY%/*}, PROJECT_BASE_URL: ${GITHUB_REPOSITORY#*/}" + flutter config --no-analytics + flet build web --base-url ${GITHUB_REPOSITORY#*/} --route-url-strategy hash + + - name: Upload Artifact + uses: actions/upload-pages-artifact@v3 + with: + name: web-build-artifact # the name of the artifact + path: build/web + + deploy: + needs: build # wait for the "build" job to get done before executing this "deploy" job + + runs-on: ubuntu-latest + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Setup Pages + uses: actions/configure-pages@v5 + + - name: Deploy to GitHub Pages 🚀 + if: github.event_name == 'push' # deploy only on push + id: deployment + uses: actions/deploy-pages@v4.0.5 + with: + artifact_name: web-build-artifact + \ No newline at end of file -- cgit v1.2.3-70-g09d2