Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# FastApps Configuration
# Copy this file to .env and configure your settings

# Deployment Server URL
# Override the default deployment server URL
# Default: https://deploy.fastapps.org
# FASTAPPS_DEPLOY_URL=https://your-custom-deploy-server.com

# Development Settings
# Add your development-specific environment variables here
11 changes: 7 additions & 4 deletions .github/WORKFLOWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,15 +101,15 @@ Add these secrets in GitHub Settings → Secrets and variables → Actions:
4. **Automatic Publishing**
- `publish.yml` triggers on release publish
- Package builds and publishes to PyPI
- Users can install with `pip install fastapps`
- Users can install with `pip install fastapps` or `uv pip install fastapps`

### Testing Releases (Optional)

Before publishing to production PyPI:

1. Create a **draft** release
2. `test-publish.yml` publishes to Test PyPI
3. Test installation: `pip install -i https://test.pypi.org/simple/ fastapps`
3. Test installation: `pip install -i https://test.pypi.org/simple/ fastapps` or `uv pip install --index-url https://test.pypi.org/simple/ fastapps`
4. If successful, publish the release

## PR Labels for Release Notes
Expand All @@ -136,8 +136,11 @@ Configured in `.github/dependabot.yml`:
## Running Tests Locally

```bash
# Install dev dependencies
pip install -e ".[dev]"
# Install dev dependencies (recommended - matches CI)
uv sync --dev

# Or with pip (traditional)
# pip install -e ".[dev]"

# Run tests
pytest
Expand Down
36 changes: 20 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,17 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Install uv
uses: astral-sh/setup-uv@v2
with:
enable-cache: true

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
run: uv sync --all-extras --dev

- name: Run tests with pytest
run: |
pytest --verbose --cov=fastapps --cov-report=xml --cov-report=term
uv run --with pytest --with pytest-cov pytest --verbose --cov=fastapps --cov-report=xml --cov-report=term

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
Expand All @@ -51,15 +54,16 @@ jobs:
with:
python-version: '3.11'

- name: Install uv
uses: astral-sh/setup-uv@v2
with:
enable-cache: true

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
pip install mypy
run: uv sync --all-extras --dev

- name: Type check with mypy
run: |
mypy fastapps --ignore-missing-imports
run: uv run --with mypy mypy fastapps --ignore-missing-imports
continue-on-error: true

build:
Expand All @@ -73,16 +77,16 @@ jobs:
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
- name: Install uv
uses: astral-sh/setup-uv@v2
with:
enable-cache: true

- name: Build package
run: python -m build
run: uv build

- name: Check package
run: twine check dist/*
run: uv run --with twine twine check dist/*

- name: Upload artifacts
uses: actions/upload-artifact@v4
Expand Down
16 changes: 7 additions & 9 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,15 @@ jobs:
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
- name: Install uv
uses: astral-sh/setup-uv@v2
with:
enable-cache: true

- name: Build package
run: python -m build
run: uv build

- name: Publish to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
twine upload dist/*
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
run: uv publish
16 changes: 7 additions & 9 deletions .github/workflows/test-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,16 @@ jobs:
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
- name: Install uv
uses: astral-sh/setup-uv@v2
with:
enable-cache: true

- name: Build package
run: python -m build
run: uv build

- name: Publish to Test PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TEST_PYPI_API_TOKEN }}
run: |
twine upload --repository testpypi dist/*
UV_PUBLISH_TOKEN: ${{ secrets.TEST_PYPI_API_TOKEN }}
run: uv publish --repository https://test.pypi.org/legacy/
continue-on-error: true
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.vscode/
*.egg-info/
**/__pycache__/

# Environment variables
.env

# Deployment artifacts
.fastapps-deploy-*.tar.gz
Loading
Loading