diff --git a/.forgejo/workflows/demo.yaml b/.forgejo/workflows/demo.yaml new file mode 100644 index 0000000..bd22bfb --- /dev/null +++ b/.forgejo/workflows/demo.yaml @@ -0,0 +1,53 @@ +name: Build and Test Flask App + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python via apt + run: | + apt update + apt install -y python3 python3-pip python3-venv python3-dev python3-full + + - name: Create and activate virtual environment + run: | + python3 -m venv venv + + . venv/bin/activate + pip install --upgrade pip + + echo "VIRTUAL_ENV=$PWD/venv" >> $GITHUB_ENV + echo "$PWD/venv/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: | + if [ -f dependencies.txt ]; then + pip install --no-cache-dir -r dependencies.txt + else + echo "dependencies.txt not found, installing Flask only" + pip install flask + fi + pip list + + - name: Debug build - check imports + run: | + export FLASK_APP=app.py + export FLASK_ENV=development + flask run --host 0.0.0.0 --debug & + + - name: Install release dependencies + run: | + pip install gunicorn + + - name: Release build (simulated) + run: | + gunicorn --check-config app:app