Updated Nov 23 2024 #16
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy Flask to GitHub Pages | |
on: | |
push: | |
branches: | |
- main # Run the workflow on changes to the main branch | |
permissions: | |
contents: write # Allow writing to the repository (used for artifacts) | |
pages: write # Required for GitHub Pages deployments | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Checkout the repository | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
# Step 2: Set up Python | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
# Step 3: Install dependencies | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
# Step 4: Run flask freeze | |
- name: Freeze Flask App | |
run: | | |
python freeze.py # Generate static files in the './build' directory | |
# Step 5: Deploy GitHub Pages | |
- name: Upload artifact for Pages | |
uses: actions/upload-pages-artifact@v1 | |
with: | |
path: ./build # Specify the folder containing static files | |
deploy: | |
needs: build | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write # Required for OpenID Connect (OIDC) authentication | |
pages: write # Required for GitHub Pages deployments | |
steps: | |
- name: Deploy to GitHub Pages | |
uses: actions/deploy-pages@v2 |