Commit Graph

41 Commits

Author SHA1 Message Date
aserper
14da5f6123 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
0512aaf9b3 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
c8618ec3b7 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
70a23fdb75 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
89b298253a 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
cff2a721af 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
40ede411a5 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
4d2dea7ab2 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]
02b289f5d1 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]
37ed31782f 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]
d7c710b51c 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]
78469217b3 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
cb534d87b2 requirements.in 2024-01-04 20:03:56 -05:00
Amit Serper
fc1f70c845 Merge remote-tracking branch 'refs/remotes/origin/main' 2024-01-04 20:03:32 -05:00
Amit Serper
f51c6ffa46 More accurate requirements.txt 2024-01-04 20:02:49 -05:00
Amit Serper
e3b7bc4431 Update README.md 2024-01-03 05:28:31 -05:00
Amit Serper
263a6a90b5 Added toot visibility environment variable 2024-01-02 12:56:29 -05:00
Amit Serper
b392c53129 Added toot visibility environment variable 2024-01-02 12:55:11 -05:00
Amit Serper
c3a2ab9329 Update main.py - removed unlisted 2024-01-01 13:36:22 -05:00
Amit Serper
e2a170c10e Create LICENSE 2023-12-06 13:03:19 -05:00
Amit Serper
4172460e9e Update README.md 2023-12-06 13:00:04 -05:00
Amit Serper
94aee5e001 File is now saved persistenetly 2023-12-05 15:21:42 -05:00
Amit Serper
9e1487b6ba Smaller docker image 2023-12-05 13:36:48 -05:00
Amit Serper
7e86e9ad97 Visibility of post set to unlisted to prevent spam of the local feed 2023-12-05 07:36:44 -05:00
Amit Serper
21a0768c8a Update README.md 2023-12-04 21:48:36 -05:00
Amit Serper
46f96aeecd Update README.md 2023-12-04 21:48:03 -05:00
Amit Serper
9ec0fb08f6 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