Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
ccc4927
feat: Implement feed validation system
thaddiusatme Dec 13, 2024
f9dadca
feat: Add webhook management and CLI improvements
thaddiusatme Dec 13, 2024
440c13d
feat: Enhanced GitHub Actions workflows
thaddiusatme Dec 13, 2024
2099351
feat: Added metrics and monitoring
thaddiusatme Dec 13, 2024
dff301f
fix: Update test workflow to only use Python 3.12
thaddiusatme Dec 13, 2024
d1f4e1b
fix: Update CI workflow
thaddiusatme Dec 13, 2024
7088f76
fix: Update CI and test workflows
thaddiusatme Dec 13, 2024
04f3c06
chore: Add CODEOWNERS file for repository management
thaddiusatme Dec 13, 2024
c216217
fix: Update CI and test workflows to run all tests
thaddiusatme Dec 13, 2024
91cedd1
fix: Update prometheus-client version
thaddiusatme Dec 13, 2024
7d0fbf6
fix: Update setup.py configuration
thaddiusatme Dec 13, 2024
046df0e
fix: Resolve build issues
thaddiusatme Dec 13, 2024
c01ce3c
fix: Update dependencies and CI configuration
thaddiusatme Dec 13, 2024
818ccba
fix: Update CI configuration and dependencies
thaddiusatme Dec 13, 2024
533ee10
refactor: Improve dependency management and CI/CD workflows
thaddiusatme Dec 13, 2024
4e941ab
ci: Update black formatting workflow
thaddiusatme Dec 13, 2024
8aade23
ci: Fix black formatting workflow
thaddiusatme Dec 13, 2024
0e8a5cf
ci: Add GitHub token and permissions
thaddiusatme Dec 13, 2024
a5dae53
style: Format code with black
github-actions[bot] Dec 13, 2024
ce97049
ci: Improve code formatting workflow
thaddiusatme Dec 13, 2024
71d0b27
Merge branch 'feature/github-workflows' of https://github.com/thaddiu…
thaddiusatme Dec 13, 2024
cdb3fc1
style: Sort imports with isort
github-actions[bot] Dec 13, 2024
0df58aa
refactor: Fix flake8 issues
thaddiusatme Dec 13, 2024
789ef41
merge: Resolve conflicts in cli.py, validator.py, and test_webhook_er…
thaddiusatme Dec 13, 2024
f39475f
style: Format code with black
github-actions[bot] Dec 13, 2024
3fbd503
fix: Resolve flake8 issues in test files
thaddiusatme Dec 13, 2024
cdf5008
fix: Resolve merge conflicts in test_webhook_error_handling.py
thaddiusatme Dec 13, 2024
3589967
style: Format code with black
github-actions[bot] Dec 13, 2024
2dd1d45
style: Sort imports with isort
github-actions[bot] Dec 13, 2024
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
16 changes: 16 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# they will be requested for review when someone opens a pull request.
* @thaddiusatme

# Feed processor core
/feed_processor/ @thaddiusatme

# Tests
/tests/ @thaddiusatme

# CI/CD
/.github/workflows/ @thaddiusatme

# Documentation
/docs/ @thaddiusatme
102 changes: 102 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: CI

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

env:
PYTHON_VERSION: "3.12"

permissions:
contents: write

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install build wheel setuptools

- name: Install package and dev dependencies
run: |
pip install -e ".[dev]"
pip install black isort flake8 mypy

- name: Format with black
run: |
if ! black --check feed_processor tests; then
black feed_processor tests
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git add .
git commit -m "style: Format code with black"
git push origin HEAD:${{ github.head_ref }}
fi

- name: Sort imports with isort
run: |
if ! isort --check-only feed_processor tests; then
isort feed_processor tests
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git add .
git commit -m "style: Sort imports with isort"
git push origin HEAD:${{ github.head_ref }}
fi

- name: Lint with flake8
run: flake8 feed_processor tests

- name: Type check with mypy
run: mypy feed_processor

test:
runs-on: ubuntu-latest
needs: lint
services:
prometheus:
image: prom/prometheus:latest
ports:
- 9090:9090

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install build wheel setuptools

- name: Install package
run: |
pip install -e ".[test]"

- name: Run tests
run: |
pytest tests/ --cov=feed_processor --cov-report=xml

- name: Upload coverage
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
fail_ci_if_error: true
32 changes: 17 additions & 15 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,44 +10,46 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
python-version: '3.12'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
pip install build twine mkdocs mkdocs-material
pip install -r requirements.txt

- name: Build package
run: python -m build

- name: Build documentation
run: |
mkdocs build

- name: Create Release
id: create_release
uses: actions/create-release@v1
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body_path: CHANGELOG.md
files: |
dist/*
site/*
body_path: changelog.md
draft: false
prerelease: false

- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy documentation
uses: peaceiris/actions-gh-pages@v3
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./dist/*.whl
asset_name: feed_processor.whl
asset_content_type: application/x-wheel+zip
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./site

- name: Publish to PyPI
if: startsWith(github.ref, 'refs/tags/')
Expand Down
26 changes: 16 additions & 10 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,42 @@ name: Test

on:
push:
branches: [ main ]
branches-ignore: [ main ]
pull_request:
branches: [ main ]

env:
PYTHON_VERSION: "3.12"

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10']
python-version: ['3.12']

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
python-version: ${{ env.PYTHON_VERSION }}

- name: Install dependencies
- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install build wheel setuptools

- name: Install package
run: |
pip install -e ".[test]"

- name: Run tests with pytest
- name: Run tests
run: |
pytest tests/ --cov=feed_processor --cov-report=xml

- name: Upload coverage to Codecov
- name: Upload coverage
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
Expand Down
Loading