Commit Graph

42 Commits

Author SHA1 Message Date
aserper
9fb4a25cbb Fix responses library XML encoding issues
- Encode XML strings as UTF-8 bytes for responses library
- Add charset to content-type headers
- This should fix feedparser XML parsing errors
2025-12-12 23:38:59 -05:00
aserper
e329252465 Fix XML indentation in integration tests
- Remove dedent() and use raw XML strings starting at column 0
- This fixes the XML parsing errors in all integration tests
- Remove unused textwrap import
2025-12-12 23:36:38 -05:00
aserper
abfdeb4b9c Fix test failures and code quality issues
- Fix XML parsing in integration tests using textwrap.dedent
- Fix Docker build test by adding load:true to buildx action
- Apply black formatting to all Python files
- All tests should now pass successfully
2025-12-12 23:34:10 -05:00
aserper
f2056b90f2 Add comprehensive test suite with GitHub Actions CI/CD
- Refactor code into testable bot.py module with MastodonRSSBot class
- Create 20+ unit tests covering core functionality and edge cases
- Create 10+ integration tests for RSS parsing and Mastodon posting
- Add GitHub Actions workflow for automated testing
  - Unit tests on Python 3.10, 3.11, 3.12
  - Integration tests with mocked external services
  - Code quality checks (flake8, black, mypy)
  - Docker build validation
- Configure pytest with 80% minimum coverage requirement
- Add test dependencies in requirements-test.txt
- Update .gitignore to exclude test artifacts
- Add comprehensive TESTING.md documentation
- Add test status badge to README
- Maintain full backward compatibility with existing setup
2025-12-12 23:30:38 -05:00
aserper
88df609811 Add multiarch Docker support and GHCR publishing
- Implement multiarch Dockerfile supporting linux/amd64 and linux/arm64
- Optimize Dockerfile with better layer caching and reduced image size
- Update CI/CD pipeline to use Docker Buildx for multiarch builds
- Add GitHub Container Registry (GHCR) as second publishing target
- Configure automatic tagging (latest, branch name, commit SHA)
- Add QEMU emulation support for cross-platform builds
- Enable GitHub Actions layer caching for faster builds
- Completely revamp README with comprehensive documentation
- Add professional badges (build status, Docker Hub, GHCR, license, Python)
- Include detailed setup instructions for Docker Hub and GHCR
- Add Docker Compose example and configuration table
- Document multiarch build process and state persistence
2025-12-12 23:17:58 -05:00
Amit Serper
1631fd5f7e Merge pull request #5 from aserper/dependabot/pip/urllib3-2.2.2
Bump urllib3 from 2.1.0 to 2.2.2
2024-08-06 16:47:00 -04:00
Amit Serper
3401d69312 Merge pull request #4 from aserper/dependabot/pip/requests-2.32.2
Bump requests from 2.31.0 to 2.32.2
2024-08-06 16:46:46 -04:00
Amit Serper
bc01d7b231 Merge pull request #3 from aserper/dependabot/pip/idna-3.7
Bump idna from 3.6 to 3.7
2024-08-06 16:46:33 -04:00
Amit Serper
f0ba6ff549 Merge pull request #2 from aserper/dependabot/pip/certifi-2024.7.4
Bump certifi from 2023.11.17 to 2024.7.4
2024-08-06 16:46:13 -04:00
dependabot[bot]
1d75bf65d5 Bump urllib3 from 2.1.0 to 2.2.2
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.1.0 to 2.2.2.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.1.0...2.2.2)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 20:45:43 +00:00
dependabot[bot]
5870301faf Bump requests from 2.31.0 to 2.32.2
Bumps [requests](https://github.com/psf/requests) from 2.31.0 to 2.32.2.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.31.0...v2.32.2)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 20:45:24 +00:00
dependabot[bot]
3d71774384 Bump idna from 3.6 to 3.7
Bumps [idna](https://github.com/kjd/idna) from 3.6 to 3.7.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.6...v3.7)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 20:45:00 +00:00
dependabot[bot]
7f6562c3ea Bump certifi from 2023.11.17 to 2024.7.4
Bumps [certifi](https://github.com/certifi/python-certifi) from 2023.11.17 to 2024.7.4.
- [Commits](https://github.com/certifi/python-certifi/compare/2023.11.17...2024.07.04)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 20:44:42 +00:00
Amit Serper
0f837b99bc requirements.in 2024-01-04 20:03:56 -05:00
Amit Serper
9a32bb99cf Merge remote-tracking branch 'refs/remotes/origin/main' 2024-01-04 20:03:32 -05:00
Amit Serper
9684eaa71b More accurate requirements.txt 2024-01-04 20:02:49 -05:00
Amit Serper
b469d76ee9 Update README.md 2024-01-03 05:28:31 -05:00
Amit Serper
a32c437066 Added toot visibility environment variable 2024-01-02 12:56:29 -05:00
Amit Serper
96414a8d46 Added toot visibility environment variable 2024-01-02 12:55:11 -05:00
Amit Serper
420dfc1f72 Update main.py - removed unlisted 2024-01-01 13:36:22 -05:00
Amit Serper
99a2de18dd Create LICENSE 2023-12-06 13:03:19 -05:00
Amit Serper
3b4f2650e3 Update README.md 2023-12-06 13:00:04 -05:00
Amit Serper
aa4463abb2 File is now saved persistenetly 2023-12-05 15:21:42 -05:00
Amit Serper
6cf6bc651e Smaller docker image 2023-12-05 13:36:48 -05:00
Amit Serper
21e39117eb Visibility of post set to unlisted to prevent spam of the local feed 2023-12-05 07:36:44 -05:00
Amit Serper
9bca8c3a8f Update README.md 2023-12-04 21:48:36 -05:00
Amit Serper
7293c8ca05 Update README.md 2023-12-04 21:48:03 -05:00
Amit Serper
47cbefb975 Update README.md 2023-12-04 21:39:10 -05:00
Amit Serper
ccfc89ee5b readme 2023-12-04 21:38:37 -05:00
Amit Serper
c6c7e12a24 readme 2023-12-04 21:29:30 -05:00
Amit Serper
e1585440d7 readme 2023-12-04 21:28:20 -05:00
Amit Serper
83664cd2c9 readme 2023-12-04 21:24:42 -05:00
Amit Serper
4411afb64c casting 2023-12-04 21:18:35 -05:00
Amit Serper
c41b0a355c Readme 2023-12-04 21:11:43 -05:00
Amit Serper
6eda268557 changed post text 2023-12-04 21:07:16 -05:00
Amit Serper
d7a71f9a30 import time 2023-12-04 21:03:13 -05:00
Amit Serper
a0069e3529 Docker stuff 2023-12-04 20:58:27 -05:00
Amit Serper
1bbe8d42a3 github action 2023-12-04 20:57:08 -05:00
Amit Serper
53075c8b97 gitignore 2023-12-04 20:52:31 -05:00
Amit Serper
761bfc32eb gitignore 2023-12-04 20:52:10 -05:00
Amit Serper
7ab5401c97 initial commit 2023-12-04 20:51:18 -05:00
Amit Serper
ee413a4e86 first commit 2023-12-04 20:50:48 -05:00