Skip to content

⬆️ Update Add-on base image (major)#157

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/major-add-on-base-image
Open

⬆️ Update Add-on base image (major)#157
renovate[bot] wants to merge 1 commit intomainfrom
renovate/major-add-on-base-image

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Jul 5, 2025

This PR contains the following updates:

Package Type Update Change
ghcr.io/hassio-addons/base-python (source) major 16.1.418.0.0
ghcr.io/hassio-addons/base-python (source) final major 16.1.418.0.0
ghcr.io/hassio-addons/base-python/aarch64 (source) major 16.1.418.0.0
ghcr.io/hassio-addons/base-python/amd64 (source) major 16.1.418.0.0
ghcr.io/hassio-addons/base-python/armhf (source) major 16.1.417.0.0
ghcr.io/hassio-addons/base-python/armv7 (source) major 16.1.417.0.0
ghcr.io/hassio-addons/base-python/i386 (source) major 16.1.417.0.0

Release Notes

hassio-addons/addon-base-python (ghcr.io/hassio-addons/base-python)

v18.0.0

Compare Source

What’s changed
🚨 Breaking changes
🐛 Bug fixes
⬆️ Dependency updates

v17.0.0

Compare Source

What’s changed
⬆️ Dependency updates

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Summary by CodeRabbit

  • Chores
    • Updated Docker base images to newer versions for improved system stability across all supported architectures.

@renovate renovate bot added dependencies Upgrade or downgrade of project dependencies. no-stale This issue or PR is exempted from the stable bot. labels Jul 5, 2025
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jul 5, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • ✅ Review completed - (🔄 Check again to review again)

Comment @coderabbitai help to get the list of available commands and usage tips.

@renovate renovate bot force-pushed the renovate/major-add-on-base-image branch 2 times, most recently from 16c4001 to d91f227 Compare August 7, 2025 16:34
@renovate renovate bot force-pushed the renovate/major-add-on-base-image branch 2 times, most recently from e6c7524 to f86caa5 Compare August 21, 2025 02:28
@renovate renovate bot force-pushed the renovate/major-add-on-base-image branch from f86caa5 to 6616636 Compare September 4, 2025 21:02
@renovate renovate bot force-pushed the renovate/major-add-on-base-image branch 2 times, most recently from 880632a to 8ef89cc Compare September 29, 2025 17:29
@renovate renovate bot force-pushed the renovate/major-add-on-base-image branch from 8ef89cc to 974aa69 Compare October 24, 2025 03:02
@renovate renovate bot force-pushed the renovate/major-add-on-base-image branch from 974aa69 to a863b06 Compare November 5, 2025 21:46
@renovate renovate bot force-pushed the renovate/major-add-on-base-image branch from a863b06 to 8c89aba Compare November 18, 2025 00:02
@renovate renovate bot changed the title ⬆️ Update Add-on base image to v17 (major) ⬆️ Update Add-on base image (major) Nov 18, 2025
@renovate renovate bot force-pushed the renovate/major-add-on-base-image branch 3 times, most recently from ee6199e to 9a966e3 Compare January 29, 2026 05:29
@renovate renovate bot force-pushed the renovate/major-add-on-base-image branch 7 times, most recently from f123b02 to 90b0c9f Compare April 8, 2026 11:57
@renovate renovate bot force-pushed the renovate/major-add-on-base-image branch from 90b0c9f to 15a69ce Compare April 8, 2026 11:57
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@grott/build.yaml`:
- Around line 3-7: The build matrix in grott/build.yaml lists mixed base-image
tags (aarch64/amd64 at 18.0.0 and armhf/armv7/i386 at 17.0.0) which must be
reconciled; decide whether to drop the legacy architectures or keep them pinned
to 17.0.0 and update grott/build.yaml accordingly (remove the armhf/armv7/i386
entries if dropping support, or explicitly document/lock them to 17.0.0 if LTS).
Also verify compatibility of the pinned dependency influxdb==5.3.2 with Python
3.13/3.14 used across architectures—if it fails, replace the dependency with a
supported client (e.g., influxdb-client or influxdb3-python) or add CI tests for
both Python versions to confirm functionality before merging. Ensure any change
updates the build matrix and dependency manifest so architectures and Python
versions remain consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 230bb5cd-5c75-41e8-b051-74c2a2a2dfe6

📥 Commits

Reviewing files that changed from the base of the PR and between 80be549 and 950b984.

📒 Files selected for processing (2)
  • grott/Dockerfile
  • grott/build.yaml

Comment on lines +3 to +7
aarch64: ghcr.io/hassio-addons/base-python/aarch64:18.0.0
amd64: ghcr.io/hassio-addons/base-python/amd64:18.0.0
armhf: ghcr.io/hassio-addons/base-python/armhf:17.0.0
armv7: ghcr.io/hassio-addons/base-python/armv7:17.0.0
i386: ghcr.io/hassio-addons/base-python/i386:17.0.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify that the base images exist and check their Python versions

echo "=== Checking base image availability and Python versions ==="

for arch_version in "aarch64:18.0.0" "amd64:18.0.0" "armhf:17.0.0" "armv7:17.0.0" "i386:17.0.0"; do
  arch="${arch_version%:*}"
  version="${arch_version#*:}"
  image="ghcr.io/hassio-addons/base-python/${arch}:${version}"
  
  echo ""
  echo "--- Checking ${image} ---"
  
  # Check if image manifest exists
  if docker manifest inspect "${image}" > /dev/null 2>&1; then
    echo "✓ Image manifest exists"
    
    # Try to get Python version from the image (this requires pulling)
    # We'll use docker run to check Python version
    python_version=$(docker run --rm "${image}" python3 --version 2>&1 || echo "Failed to get Python version")
    echo "Python version: ${python_version}"
  else
    echo "✗ Image manifest NOT found or not accessible"
  fi
done

Repository: egguy/addon-grott

Length of output: 672


🏁 Script executed:

#!/bin/bash
# Check Python package compatibility with Python 3.13 and 3.14

echo "=== Checking requirements.txt package compatibility ==="

# Read packages from requirements.txt
packages=$(cat grott/requirements.txt)

echo "Packages to check:"
echo "$packages"
echo ""

# For each package, check PyPI for Python version compatibility
for package_spec in paho-mqtt==1.6.1 requests==2.32.5 influxdb==5.3.2 grott-ha-plugin==0.11.0; do
  package_name="${package_spec%==*}"
  version="${package_spec#*==}"
  
  echo "--- ${package_name} ${version} ---"
  
  # Query PyPI API for package info
  response=$(curl -s "https://pypi.org/pypi/${package_name}/${version}/json")
  
  # Extract Python version requirements
  requires_python=$(echo "$response" | jq -r '.info.requires_python // "Not specified"')
  echo "Requires Python: ${requires_python}"
  
  # Check classifier for Python 3.13 and 3.14 support
  classifiers=$(echo "$response" | jq -r '.info.classifiers[]? | select(startswith("Programming Language :: Python :: 3."))')
  echo "Python version classifiers:"
  echo "$classifiers" | grep -E "3\.(13|14)" || echo "  No explicit 3.13/3.14 classifiers found"
  echo ""
done

Repository: egguy/addon-grott

Length of output: 727


🏁 Script executed:

cd egguy/addon-grott && find . -name "build.yaml" -o -name "*.md" | head -20

Repository: egguy/addon-grott

Length of output: 128


🏁 Script executed:

cat grott/build.yaml

Repository: egguy/addon-grott

Length of output: 406


🏁 Script executed:

cd egguy/addon-grott && git log --oneline -20

Repository: egguy/addon-grott

Length of output: 128


🏁 Script executed:

git log --oneline -10 grott/build.yaml

Repository: egguy/addon-grott

Length of output: 96


🏁 Script executed:

git log -p -1 grott/build.yaml | head -100

Repository: egguy/addon-grott

Length of output: 43


🏁 Script executed:

git show HEAD:grott/build.yaml

Repository: egguy/addon-grott

Length of output: 406


🏁 Script executed:

find . -name "README*" -o -name "CHANGELOG*" -o -name ".github" -type d | head -10

Repository: egguy/addon-grott

Length of output: 103


🏁 Script executed:

git log --all --oneline -- grott/build.yaml | head -20

Repository: egguy/addon-grott

Length of output: 997


🏁 Script executed:

git diff HEAD~1 grott/build.yaml 2>/dev/null || echo "No previous commit or file newly added"

Repository: egguy/addon-grott

Length of output: 99


🏁 Script executed:

cat ./grott/CHANGELOG.md | head -100

Repository: egguy/addon-grott

Length of output: 2012


🏁 Script executed:

cat ./README.md | grep -A 10 -B 10 "18.0.0\|17.0.0\|architecture\|support" | head -50

Repository: egguy/addon-grott

Length of output: 43


🏁 Script executed:

find ./.github -type f -name "*.md" -o -name "*.yml" | head -10

Repository: egguy/addon-grott

Length of output: 177


🏁 Script executed:

git log -p HEAD~1..HEAD -- grott/build.yaml

Repository: egguy/addon-grott

Length of output: 43


🏁 Script executed:

git show HEAD~1:grott/build.yaml

Repository: egguy/addon-grott

Length of output: 99


🏁 Script executed:

git log --format="%H %s %b" -1

Repository: egguy/addon-grott

Length of output: 130


🏁 Script executed:

cat ./.github/PULL_REQUEST_TEMPLATE.md

Repository: egguy/addon-grott

Length of output: 314


🏁 Script executed:

git log --oneline HEAD | head -5

Repository: egguy/addon-grott

Length of output: 96


🏁 Script executed:

git show f123b02^:grott/build.yaml 2>/dev/null || echo "No parent commit available"

Repository: egguy/addon-grott

Length of output: 87


🏁 Script executed:

git show f123b02 --stat

Repository: egguy/addon-grott

Length of output: 1917


🏁 Script executed:

git log --all --grep="18.0.0\|17.0.0\|architecture" --oneline | head -10

Repository: egguy/addon-grott

Length of output: 43


🏁 Script executed:

git rev-list --all | wc -l

Repository: egguy/addon-grott

Length of output: 64


🏁 Script executed:

web_search
hassio-addons base-python v18.0.0 release notes architecture support

Repository: egguy/addon-grott

Length of output: 163


🏁 Script executed:

web_search
base-python addon 18.0.0 python 3.14 armhf armv7 i386 support

Repository: egguy/addon-grott

Length of output: 161


🏁 Script executed:

cat grott/requirements.txt

Repository: egguy/addon-grott

Length of output: 134


🏁 Script executed:

cat grott/Dockerfile

Repository: egguy/addon-grott

Length of output: 1803


🌐 Web query:

hassio-addons base-python 18.0.0 release python 3.14

💡 Result:

hassio-addons/addon-base-python v18.0.0 (released Nov 17, 2025) is the release where the Python base image moved to CPython 3.14.0 (listed as “Update python/cpython to v3.14.0” in the breaking changes). It also dropped support for armhf, armv7, and i386 in that release. [1]

Source: [1]


🌐 Web query:

python 3.13 3.14 compatibility paho-mqtt influxdb packages

💡 Result:

What PyPI metadata says about Python 3.13 / 3.14

Package What it’s for Declared Python support on PyPI Python 3.13 / 3.14 takeaway
paho-mqtt MQTT client (Eclipse Paho) Requires: Python >= 3.7 (pypi.org) Should install on 3.13 and 3.14 (no upper bound; pure-Python), but PyPI metadata doesn’t explicitly list 3.13/3.14 classifiers.
influxdb-client Official-ish client for InfluxDB 2.x (and 1.8 compatibility APIs) Latest shown on PyPI: 1.50.0 (Jan 23, 2026); Requires: Python >= 3.7; classifiers only up to Python 3.12 (pypi.org) Not “officially” declared for 3.13/3.14 via classifiers, but likely works on 3.13/3.14 if dependencies do. You should test in your env/CI.
influxdb (a.k.a. influxdb-python, legacy) Client for InfluxDB 1.x Docs say it’s “supported and tested” on up to Python 3.7 (pypi.org) Not a good choice for 3.13/3.14 if you want a supported combo.
influxdb3-python Client for InfluxDB 3.0 Classifier explicitly includes Python 3.13 (pypi.org) Explicit 3.13 support is declared. (No explicit 3.14 classifier shown.)

Practical guidance

  • If you’re on Python 3.13:
    • MQTT: paho-mqtt should be fine per its >=3.7 requirement. (pypi.org)
    • InfluxDB 2.x: try influxdb-client 1.50.0 and run tests; PyPI doesn’t declare 3.13, but nothing in metadata forbids it. (pypi.org)
    • InfluxDB 3.0: influxdb3-python is the only one here that explicitly lists Python 3.13 in classifiers. (pypi.org)
  • If you’re targeting Python 3.14:
    • None of the above PyPI pages (in the snippets we checked) explicitly declare 3.14 support via classifiers; you’ll want to pin versions and verify in CI (especially for influxdb-client and any transitive deps). (pypi.org)

If you tell me which InfluxDB you’re using (1.x vs 2.x vs 3.x) and whether you need asyncio, I can recommend the most compatible package set (and typical pins) for 3.13/3.14.

Citations:


🏁 Script executed:

cat grott/DOCS.md | grep -i "influx" | head -20

Repository: egguy/addon-grott

Length of output: 43


🏁 Script executed:

cat grott/config.yaml | grep -i "influx" -A 5 -B 5 | head -30

Repository: egguy/addon-grott

Length of output: 278


🏁 Script executed:

cat grott/script.sh | grep -i "influx\|version" | head -20

Repository: egguy/addon-grott

Length of output: 274


Reconcile architecture support strategy for v18.0.0 upgrade.

The base image upgrade creates an inconsistency: v18.0.0 dropped support for armhf, armv7, and i386 architectures, yet these remain in the build configuration using v17.0.0. Clarify whether these architectures should be:

  1. Removed from the build matrix entirely, or
  2. Maintained on v17.0.0 as a long-term support strategy.

Python version compatibility concern: aarch64/amd64 will use Python 3.14.0 while armhf/armv7/i386 use Python 3.13.x. The pinned package influxdb==5.3.2 (legacy 1.x client) lacks official classifier support for Python 3.13/3.14 on PyPI—verify this package works reliably on both versions before merging, or consider upgrading to influxdb-client (2.x) or influxdb3-python if applicable for your use case.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@grott/build.yaml` around lines 3 - 7, The build matrix in grott/build.yaml
lists mixed base-image tags (aarch64/amd64 at 18.0.0 and armhf/armv7/i386 at
17.0.0) which must be reconciled; decide whether to drop the legacy
architectures or keep them pinned to 17.0.0 and update grott/build.yaml
accordingly (remove the armhf/armv7/i386 entries if dropping support, or
explicitly document/lock them to 17.0.0 if LTS). Also verify compatibility of
the pinned dependency influxdb==5.3.2 with Python 3.13/3.14 used across
architectures—if it fails, replace the dependency with a supported client (e.g.,
influxdb-client or influxdb3-python) or add CI tests for both Python versions to
confirm functionality before merging. Ensure any change updates the build matrix
and dependency manifest so architectures and Python versions remain consistent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Upgrade or downgrade of project dependencies. no-stale This issue or PR is exempted from the stable bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants