Project Status #178
This file contains hidden or 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: Project Status | |
| on: | |
| schedule: | |
| # Run daily at 8 AM UTC | |
| - cron: '0 8 * * *' | |
| workflow_dispatch: | |
| jobs: | |
| status: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.10" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e ".[dev,test,toml]" | |
| - name: Run comprehensive tests | |
| run: | | |
| pytest profile_config/tests/ -v --cov=profile_config --cov-report=term-missing | |
| - name: Check code quality | |
| run: | | |
| black --check profile_config/ examples/ | |
| isort --check-only profile_config/ examples/ | |
| mypy profile_config/ | |
| flake8 profile_config/ examples/ --exclude=profile_config/tests | |
| - name: Test examples | |
| run: | | |
| cd examples | |
| python basic_usage.py | |
| python advanced_profiles.py | |
| - name: Package health check | |
| run: | | |
| pip install build twine | |
| python -m build | |
| twine check dist/* | |
| pip install dist/*.whl | |
| python -c " | |
| import profile_config | |
| print(f'Package version: {profile_config.__version__}') | |
| print('All imports successful') | |
| " | |
| - name: Generate status report | |
| run: | | |
| echo "# Project Status Report" > status-report.md | |
| echo "Generated: $(date)" >> status-report.md | |
| echo "" >> status-report.md | |
| echo "## Test Results" >> status-report.md | |
| pytest profile_config/tests/ --tb=no -q >> status-report.md 2>&1 || true | |
| echo "" >> status-report.md | |
| echo "## Package Information" >> status-report.md | |
| python -c " | |
| import profile_config | |
| print(f'Version: {profile_config.__version__}') | |
| print(f'Available functions: {len([x for x in dir(profile_config) if not x.startswith(\"_\")])}') | |
| " >> status-report.md | |
| - name: Upload status report | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: status-report | |
| path: status-report.md |