Updated Nov 23 2024 #12
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 # Deploy when changes are pushed to the main branch | |
permissions: | |
id-token: write | |
contents: write # Grant permission to write to the repository | |
pages: write # Grant permission to GitHub Pages | |
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 into the './build' directory | |
- name: Upload artifact for Pages | |
uses: actions/upload-pages-artifact@v1 | |
with: | |
path: ./build # Specify the folder containing the static files | |
deploy: | |
needs: build | |
runs-on: ubuntu-latest | |
permissions: | |
pages: write # Grant permissions to deploy to GitHub Pages | |
steps: | |
- name: Deploy to GitHub Pages | |
uses: actions/deploy-pages@v2 |