Conversation
Main->Dev merge
- Add hacs.json manifest for HACS custom repository support - Add GitHub Actions: hassfest, HACS validation, ruff lint, pytest - Add release workflow to package pytap.zip on GitHub release - Update README with HACS install instructions and CI badges - Bump version 0.3.0 → 1.0.0 - Mark HACS Distribution as implemented in future_considerations
- Add requirements-test.txt with pytest dependencies for CI - Update validate workflow to install test requirements - Ignore HACS brands check (requires external PR to home-assistant/brands) - Repository topics added via GitHub API for HACS topics check
There was a problem hiding this comment.
Pull request overview
This PR prepares the PyTap Home Assistant custom integration for HACS (Home Assistant Community Store) distribution and marks it as version 1.0.0 for the first major release. The changes add HACS compatibility files, CI/CD workflows for validation and releases, and update documentation to reflect the new installation method.
Changes:
- Added HACS manifest (
hacs.json) and GitHub Actions workflows for validation (hassfest, HACS, linting, testing) and release asset packaging - Bumped integration version from 0.3.0 to 1.0.0 in manifest.json
- Updated README with HACS installation instructions and added CI/validation badges
- Marked HACS distribution as implemented in future considerations documentation
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| hacs.json | Added HACS manifest with name and render_readme configuration |
| custom_components/pytap/manifest.json | Bumped version from 0.3.0 to 1.0.0 for first major release |
| README.md | Added HACS and CI badges, replaced "coming soon" with detailed HACS custom repository installation steps |
| planning/future_considerations.md | Marked item 7 (HACS Distribution) as implemented, added "low priority" note to item 6 |
| .github/workflows/validate.yml | Added CI workflow with hassfest validation, HACS validation, ruff linting, and pytest |
| .github/workflows/release.yml | Added release workflow to package pytap.zip as GitHub release asset |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| python-version: "3.12" | ||
| - run: pip install ruff |
There was a problem hiding this comment.
The pip install ruff step installs ruff, but there's no ruff configuration file (e.g., ruff.toml, pyproject.toml, or .ruff.toml). Without configuration, ruff will use default settings which may not match the project's coding standards. Consider adding a ruff configuration file to specify the desired linting rules, line length, and other settings.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
pytest-homeassistant-custom-component transitively installs a compatible HA core; the explicit requirements.txt pins caused version conflicts.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: azebro <1090464+azebro@users.noreply.github.com>
Add ruff.toml configuration and fix pre-existing lint issues
Remove strict pins for pytest, pytest-asyncio, pytest-socket, pytest-timeout that conflict with pytest-homeassistant-custom-component's own dependency tree.
pytest-homeassistant-custom-component>=0.13.315 requires Python >=3.13, matching HA core 2026.2+ requirements.
Summary
Prepares PyTap for HACS distribution and bumps version to 1.0.0 as the first major release.
Changes
HACS Compatibility
hacs.json— HACS manifest withrender_readme: true.github/workflows/validate.yml— CI pipeline: hassfest, HACS validation, ruff lint, pytest.github/workflows/release.yml— Packagespytap.zipas a release asset on GitHub release publishVersion Bump
manifest.jsonversion0.3.0→1.0.0Documentation
future_considerations.md: Marked item 7 (HACS Distribution) as implementedHow to Install via HACS
https://github.com/azebro/pytapwith category IntegrationTesting
All 114 tests pass.