Commit graph

90 commits

Author SHA1 Message Date
renovate[bot]
828f73d481
⬆️ Update actions/checkout action to v6 (#1352)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-12 13:59:40 -08:00
lenucksi
9c7a95f696
fix(ci): fix broken Docker workflow and modernize (#1318)
* fix(ci): fix broken Docker workflow and modernize

## Critical Bug Fixes

1. **Fix broken push condition** (CRITICAL):
   - Old: `push: ${{ github.ref == 'refs/heads/master' }}`
   - Problem: Branch renamed to `main`, so images NEVER pushed
   - New: `push: ${{ github.event_name != 'pull_request' }}`
   - Result: Docker images will actually be published again

2. **Add missing checkout step**:
   - Build was failing because source code wasn't checked out
   - Required for Docker build context

## Modernization Improvements

3. **Migrate to GitHub Container Registry (GHCR)**:
   - Old: DockerHub with `DOCKERHUB_USERNAME` and `DOCKERHUB_TOKEN` secrets
   - New: GHCR with built-in `GITHUB_TOKEN`
   - Benefits: No external account required, better integration

4. **Add semantic versioning**:
   - Automatically tags releases: `v1.2.3`, `v1.2`, `v1`, `latest`
   - Supports version tags (v*), branches, and PRs
   - Uses docker/metadata-action for automatic tagging

5. **Add GitHub Actions caching**:
   - Uses `type=gha` cache for faster builds
   - Reduces build times and GitHub Actions minutes

6. **Security: Digest pinning**:
   - All actions pinned to commit SHAs
   - Prevents supply chain attacks via tag manipulation
   - Follows security best practices

7. **Add explicit permissions**:
   - Minimal required permissions (contents: read, packages: write)
   - Follows principle of least privilege

8. **Add workflow triggers**:
   - Tags (v*) for releases
   - Pull requests for testing
   - Manual dispatch for on-demand builds

## Testing

- Workflow syntax validated
- Push logic tested with different event types
- Compatible with existing Docker build process

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(ci): simplify docker workflow

- Use version tags instead of SHA pins for readability
- Remove verbose step names (action names are self-documenting)
- Compact YAML formatting
- Fix actions/checkout to v4 (v6 doesn't exist)

---------

Co-authored-by: Bas Nijholt <bas@nijho.lt>
2025-12-12 13:49:45 -08:00
renovate[bot]
37ef65586d
⬆️ Update python to v3.14.2 (#1251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 23:31:41 -08:00
renovate[bot]
97ecbb17a0
⬆️ Update actions/checkout action to v6.0.1 (#1328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 23:31:17 -08:00
renovate[bot]
ef15d5cd48
⬆️ Update peter-evans/create-pull-request action to v8 (#1334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 23:31:05 -08:00
renovate[bot]
886c77bcc2
⬆️ Update actions/setup-python action to v6 (#1327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-30 22:54:08 -08:00
lenucksi
077e086424
fix(ci): correct branch name and path in update-readme workflow (#1321) 2025-11-30 08:22:57 -08:00
renovate[bot]
1be701994b
⬆️ Pin python to 3.12.12 (#1323) 2025-11-30 08:16:24 -08:00
renovate[bot]
fb6e96c878
⬆️ Update actions/checkout action to v6 (#1324) 2025-11-30 08:16:05 -08:00
Lenucksi
cc25a50401 ci: add automated weekly test matrix updates
Add automation to keep the pytest test matrix up-to-date with latest
Home Assistant Core releases:

1. **Weekly Automation**: New workflow updates test matrix automatically
2. **Version Fetcher**: Python script queries GitHub API for latest HA Core releases
3. **PR Creation**: Automatically creates PRs when new versions are available

## Benefits
- No more manual updates when new HA Core versions are released
- Automatic tracking of new HA Core releases
- Reduces maintenance burden

## Background
This builds on commit a982acb which fixed mypy-dev pinning. While upstream
now installs latest mypy-dev automatically, the test matrix versions still
need manual updates. This automation solves that remaining manual task.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 08:09:19 -08:00
lenucksi
894d0025cd
fix(ci): add branch filter to TOC generator workflow (#1320) 2025-11-30 08:06:21 -08:00
renovate[bot]
561749ac06
⬆️ Update actions/setup-python action to v6 (#1261)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:34:46 -08:00
renovate[bot]
f6321afeae
⬆️ Update actions/upload-pages-artifact action to v4 (#1259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:30:26 -08:00
renovate[bot]
9244ff39fe
⬆️ Update astral-sh/setup-uv action to v7 (#1271)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:30:12 -08:00
renovate[bot]
b34cc1ffaa
⬆️ Update actions/checkout action to v6 (#1288)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:27:27 -08:00
Bas Nijholt
e8af7a485e
Bump to 1.27.0 for fixes in 2025.12 (#1293) 2025-11-27 09:06:41 -08:00
renovate[bot]
e08a752514
⬆️ Update actions/setup-python action to v5.6.0 (#1171)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-15 21:49:44 -07:00
renovate[bot]
106d4733fe
⬆️ Pin python to 3.13.5 (#1181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-15 21:49:31 -07:00
Bas Nijholt
ded439e6f7
Fix Docker setup and CI installation (#1212) 2025-06-15 21:31:51 -07:00
Bas Nijholt
ad4e7bd775
Add 2025.1.0b5 to testing (#1154) 2025-01-01 16:34:35 -08:00
Bas Nijholt
9a2466cc6f
Use markdown-code-runner==2.1.0 (#1152)
* Use `markdown-code-runner==2.1.0`

* Use correct arg

* uv run

* Update README.md, strings.json, and services.yaml
2025-01-01 16:19:08 -08:00
Bas Nijholt
f8719994a6
use uv, fix devcontainer, and drop support for HA ≤2023.6 (#1151)
* Update .devcontainer

* Drop support for ≤2023.6

* Add .vscode/settings.json

* Use async_process_ha_core_config

* Fix for HA ≤2023.10

* pop normalized_name

* Add comments

* use . instead of source

* set pytest args

* set country

* use py3.13 for dev branch of core

* set country in test_adaptive_lighting_time_zones_with_default_settings

* Add comment
2025-01-01 16:11:22 -08:00
Bas Nijholt
b3e4d09b6b
Include core 2024.9.3 until 2024.12.0 in the tests (#1130) 2024-12-07 11:29:05 -08:00
Bas Nijholt
8fb9493a40
Fix Shiny WebApp (#1127)
* Use requirements.txt.in

* Include webapp/color_and_brightness.py

* Fix Shiny WebApp

* Install shinylive in CI
2024-12-05 14:35:19 -08:00
renovate[bot]
4739863fb2
⬆️ Update actions/checkout action to v4 (#1106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:49:56 +02:00
renovate[bot]
0ba1fa554b
⬆️ Update pre-commit/action action to v3.0.1 (#1084)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:48:40 +02:00
renovate[bot]
d8255b2bad
⬆️ Update actions/checkout action to v3.6.0 (#1088)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:47:44 +02:00
renovate[bot]
aab8d1bd6d
⬆️ Update actions/configure-pages action to v5 (#1107)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:44:39 +02:00
renovate[bot]
9082ab349d
⬆️ Update actions/deploy-pages action to v4 (#1108)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:43:52 +02:00
renovate[bot]
577e6b2138
⬆️ Update actions/setup-python action to v5 (#1109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:43:09 +02:00
renovate[bot]
e4f5163f16
⬆️ Update actions/upload-pages-artifact action to v3 (#1111)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:42:48 +02:00
renovate[bot]
57c36133f7
⬆️ Update docker/build-push-action action to v6 (#1113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:42:14 +02:00
renovate[bot]
dd1090cf52
⬆️ Update docker/login-action action to v3 (#1114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:42:07 +02:00
renovate[bot]
b8306c2b21
⬆️ Update docker/setup-buildx-action action to v3 (#1115)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:41:54 +02:00
renovate[bot]
584368c1a4
⬆️ Update docker/setup-qemu-action action to v3 (#1116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:41:49 +02:00
renovate[bot]
2a24c519fe
⬆️ Update release-drafter/release-drafter action to v6 (#1119)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:41:23 +02:00
renovate[bot]
2a3acd5206
⬆️ Update ubuntu to v24 (#1122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 21:40:36 +02:00
Bas Nijholt
7d265e9928
Add more versions to testing matrix (#1040)
* Add more versions to testing matrix

* Update mypy-dev dep

* fix sed
2024-08-25 11:21:01 -07:00
Bas Nijholt
d23f6ec63a
Fix test_proactive_adaptation_with_separate_commands (#970)
* Add link script

* Set run_immediately=False

* Add await hass.async_block_till_done()

* Use scripts/link

* Rename scripts

* Links in devcontainer

* Install from setup script
2024-04-07 14:01:05 +02:00
Bas Nijholt
47cbda5c5e
Add versions to matrix and fix area test (#967) 2024-04-06 19:05:18 +02:00
Bas Nijholt
2f31b42cb2
Fix devcontainer and testing Dockerfile (#962)
* Fix permissions for `scripts/setup`

* Add new script

* Use script

* Update Dockerfile

* Rename and clone

* Perms

* Fix

* fi
2024-04-06 11:25:47 +02:00
Bas Nijholt
9eae1501d3
Test HA core v2023.6 until v2024.2 (#942)
* Test HA core v2023.6 until v2024.2

* Use Python 3.12

* Add components.ffmpeg

* Revert "VS Code Dev Container (dev & test environment) (#605)"

This reverts commit 6283158ff7.

* Fix

* revert

* fi

* simplify

* Fix

* fixes

* fix

* rev

* Rename test

* fix

* fix all

* fix

* revert
2024-04-06 10:14:54 +02:00
Bas Nijholt
e4e1aa7d37
Use Python 3.12 in .github/workflows/update-readme.yml (#961) 2024-04-06 10:13:13 +02:00
Bas Nijholt
a47f7ce49f
Add requirements-locked.txt for WebApp (#897) 2024-01-05 17:51:10 -08:00
Bas Nijholt
0d387d4bcd
Add release-drafter GitHub Action (#731) 2023-08-09 14:56:08 -07:00
Bas Nijholt
db5f9d623c
Mention app more prominently and improve style (#725)
* Mention app more prominently

* Use dark-mode

* add setuptools

* no cyber

* no not run on PR

* Ruff fixes

* Add link

* remove unused deps
2023-08-08 17:34:35 -07:00
Bas Nijholt
f8e7880a96
Split up SunLightSettings and improve https://basnijholt.github.io/adaptive-lighting/ (#719)
* Split up SunLightSettings

* Renames

* factor out SunEvents

* more renames

* rewrite

* rewrite more

* simpler

* refactor

* refact

* raise

* refact

* rename

* move method

* clean

* Move to new module 'sun.py'

* make sun independent of HA

* rename

* Move to webapp/homeassistant_util_color.py

* Rework app

* Add link

* new plotting

* app changes

* fix tests

* test clean

* tz fixes

* fix

* use sed

* verbose

* fix tz

* fix

* tiem
2023-08-08 21:31:17 +00:00
Bas Nijholt
943a6360c7
Add simple webapp to play with different parameters (#715)
* Add simple webapp to play with different parameters

* ignore
2023-08-06 16:42:56 -07:00
Bas Nijholt
e9297d562f
Cleanup after add_to_platform_abort is called, try-except intercept, update strings.json, fixes #658 (#659)
* Cleanup after add_to_platform_abort is called, fixes #658

* Add note

* try-catch because of priv

* Catch all exceptions

* Bump to 1.17.3 in manifest.json

* assert that hass is not None

* Rename _light_event_action -> _light_state_event_action

* update .github/update-strings.py

* Update README.md, strings.json, and services.yaml

* update name

* Fixes

* Update README.md, strings.json, and services.yaml

* Add name

* Do not add name

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-26 12:52:03 -07:00
Bas Nijholt
c1528ec10a
Refactor, simplify code, rename, and set minimal HA core ≥2022.11 (#655)
* Rename TurnOnOffListener to AdaptiveLightingManager

* Bump Python version

* Refactor and unify methods that are called once

* Simplify adaptation_utils.py

* Improve readability in adaptation_utils.py

* More renames

* Simplify

* More renames and simplifications

* fix test

* simplify _supported_features

* rename

* walrus

* drop old astral support

* Only support HA  ≥2021.06

* Require 2016.06

* Try 2023.1

* even more old versions

* test

* more versions

* verify that only ≥2022.11 works

* named args

* setdefault

* no astral v1

* var

* simplify

* no need to pass adapt_brightness and adapt_color

* Add comment
2023-07-22 21:19:01 -07:00