Skip to content

feat: HACS compatibility and v1.0.0 release - #8

Merged
azebro merged 12 commits into
mainfrom
dev
Feb 23, 2026
Merged

azebro merged 12 commits into
mainfrom
dev

Conversation

@azebro

@azebro azebro commented Feb 23, 2026

Copy link
Copy Markdown
Owner

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 with render_readme: true
  • .github/workflows/validate.yml — CI pipeline: hassfest, HACS validation, ruff lint, pytest
  • .github/workflows/release.yml — Packages pytap.zip as a release asset on GitHub release publish

Version Bump

  • manifest.json version 0.3.01.0.0

Documentation

  • README: Added HACS and CI badges, replaced "coming soon" with actual HACS custom repository installation steps
  • future_considerations.md: Marked item 7 (HACS Distribution) as implemented

How to Install via HACS

  1. Open HACS → three dots menu → Custom repositories
  2. Add https://github.com/azebro/pytap with category Integration
  3. Search for PyTapDownload
  4. Restart Home Assistant

Testing

All 114 tests pass.

- 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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread hacs.json Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/validate.yml Outdated
Comment on lines +37 to +38
python-version: "3.12"
- run: pip install ruff

Copilot AI Feb 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot open a new pull request to apply changes based on this feedback

Comment thread .github/workflows/validate.yml Outdated
azebro and others added 5 commits February 23, 2026 18:03
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>

Copilot AI commented Feb 23, 2026

Copy link
Copy Markdown
Contributor

@azebro I've opened a new pull request, #9, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 4 commits February 23, 2026 18:08
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.
@azebro
azebro merged commit bc165f1 into main Feb 23, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants