Update author information in pyproject.toml #1
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: Build | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| branches: [main, master] | |
| paths: | |
| - 'eventbus/**' | |
| - 'examples/**' | |
| - 'pyproject.toml' | |
| - 'tests/**' | |
| push: | |
| branches: [main, master] | |
| paths: | |
| - 'eventbus/**' | |
| - 'examples/**' | |
| - 'pyproject.toml' | |
| - 'tests/**' | |
| jobs: | |
| test: | |
| name: Lint and Test | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
| - name: Install dependencies | |
| run: | | |
| uv pip install --system -e . | |
| uv pip install --system pytest pytest-asyncio pylint | |
| - name: Run pylint | |
| run: | | |
| echo "Running pylint checks..." | |
| pylint eventbus/ --exit-zero --output-format=colorized || true | |
| continue-on-error: true | |
| - name: Run tests | |
| run: | | |
| echo "Running pytest..." | |
| pytest -v --tb=short || echo "No tests found or tests failed" | |
| continue-on-error: true | |
| - name: Generate test summary | |
| if: always() | |
| run: | | |
| echo "## Test Results - Python ${{ matrix.python-version }}" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| if [ $? -eq 0 ]; then | |
| echo "✅ All tests passed" >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo "⚠️ Tests completed with warnings" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| build: | |
| name: Build package | |
| needs: test | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install build tools | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install build twine | |
| - name: Build package | |
| run: | | |
| echo "Building eventbus package..." | |
| python -m build | |
| - name: Check package metadata | |
| run: | | |
| twine check dist/* | |
| - name: Verify package contents | |
| run: | | |
| python -m zipfile -l dist/*.whl | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: eventbus-dist | |
| path: dist/* | |
| retention-days: 7 | |
| verify: | |
| name: Verify build | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| - name: List artifacts | |
| run: | | |
| echo "Built packages:" | |
| find . -name "*.whl" -o -name "*.tar.gz" -type f -exec ls -lh {} \; | |
| - name: Build summary | |
| run: | | |
| echo "## Build Summary" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "| Package | Size | Status |" >> $GITHUB_STEP_SUMMARY | |
| echo "|---------|------|--------|" >> $GITHUB_STEP_SUMMARY | |
| for file in $(find . -name "*.whl" -o -name "*.tar.gz" -type f); do | |
| name=$(basename "$file") | |
| size=$(du -h "$file" | cut -f1) | |
| echo "| $name | $size | ✓ |" >> $GITHUB_STEP_SUMMARY | |
| done |