-
Notifications
You must be signed in to change notification settings - Fork 69
Drop deprecated architectures, build aarch64 on ARM runners #324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
970b0ba
6b4fd65
3c59f55
10f9dcd
4a072ca
7870406
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -11,18 +11,16 @@ env: | |||||
| ALPINE_LATEST: "3.22" | ||||||
| DEBIAN_LATEST: "trixie" | ||||||
| UBUNTU_LATEST: "24.04" | ||||||
| RASPBIAN_LATEST: "trixie" | ||||||
| PYTHON_LATEST: "3.13" | ||||||
|
|
||||||
| jobs: | ||||||
| init: | ||||||
| name: Initialize build | ||||||
| runs-on: &runs-on-ubuntu ubuntu-24.04 | ||||||
| runs-on: ubuntu-24.04 | ||||||
sairon marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| outputs: | ||||||
| architectures_alpine: ${{ steps.info_alpine.outputs.architectures }} | ||||||
| architectures_debian: ${{ steps.info_debian.outputs.architectures }} | ||||||
| architectures_ubuntu: ${{ steps.info_ubuntu.outputs.architectures }} | ||||||
| architectures_raspbian: ${{ steps.info_raspbian.outputs.architectures }} | ||||||
| release: ${{ steps.version.outputs.version }} | ||||||
| steps: | ||||||
| - name: Checkout the repository | ||||||
|
|
@@ -48,12 +46,6 @@ jobs: | |||||
| with: | ||||||
| path: "${{ github.workspace }}/ubuntu" | ||||||
|
|
||||||
| - name: Get information Raspbian | ||||||
| id: info_raspbian | ||||||
| uses: home-assistant/actions/helpers/info@master | ||||||
| with: | ||||||
| path: "${{ github.workspace }}/raspbian" | ||||||
|
|
||||||
| - name: Get version | ||||||
| id: version | ||||||
| uses: home-assistant/actions/helpers/version@master | ||||||
|
|
@@ -63,7 +55,7 @@ jobs: | |||||
| build_alpine: | ||||||
| name: Build ${{ matrix.arch }} alpine ${{ matrix.version }} base image | ||||||
| needs: init | ||||||
| runs-on: *runs-on-ubuntu | ||||||
| runs-on: &builder-runs-on ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} | ||||||
|
||||||
| runs-on: &builder-runs-on ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} | |
| runs-on: ${{ matrix.os }} |
I'd suggest to use matrix.include instead. This looks cleaner than the ternary expression here. Will leave a suggestion below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMHO it's a matter of personal preference, I find this more readable than wrapping my head around how the matrix looks like with overrides and additions in include - although with just two combinations it's not that much convoluted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
matrix.include is more durable. Add a comment if you need to explain the code what is the expected range of values.
sairon marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
sairon marked this conversation as resolved.
Show resolved
Hide resolved
sairon marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
sairon marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
sairon marked this conversation as resolved.
Show resolved
Hide resolved
sairon marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
sairon marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
sairon marked this conversation as resolved.
Show resolved
Hide resolved
sairon marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -13,11 +13,8 @@ We support version that are not EOL: https://alpinelinux.org/releases/ | |||||||||
|
|
||||||||||
| | Image | OS | Tags | latest | | ||||||||||
| |-------|----|------|--------| | ||||||||||
| | armhf-base | Alpine | 3.20, 3.21, 3.22 | 3.22 | | ||||||||||
| | armv7-base | Alpine | 3.20, 3.21, 3.22 | 3.22 | | ||||||||||
| | aarch64-base | Alpine | 3.20, 3.21, 3.22 | 3.22 | | ||||||||||
| | amd64-base | Alpine | 3.20, 3.21, 3.22 | 3.22 | | ||||||||||
| | i386-base | Alpine | 3.20, 3.21, 3.22 | 3.22 | | ||||||||||
|
|
||||||||||
| ### jemalloc | ||||||||||
|
|
||||||||||
|
|
@@ -27,17 +24,10 @@ We support on our platforms jemalloc. On the application which you want to enabl | |||||||||
|
|
||||||||||
| We support the latest 3 release with the latest 3 Alpine version. | ||||||||||
|
|
||||||||||
| > [!NOTE] | ||||||||||
| > Python 3.14 will only be available on `aarch64` and `amd64` following the deprecation of `armhf`, `armv7` and `i386`. | ||||||||||
| > See https://www.home-assistant.io/blog/2025/05/22/deprecating-core-and-supervised-installation-methods-and-32-bit-systems/ | ||||||||||
|
|
||||||||||
| | Image | OS | Python versions | Tags | latest | | ||||||||||
| |-------|----|-----------------|------|--------| | ||||||||||
| | armhf-base-python | Alpine | 3.12, 3.13 | 3.12-alpine3.20, 3.12-alpine3.21, 3.12-alpine3.22, 3.13-alpine3.20, 3.13-alpine3.21, 3.13-alpine3.22 | 3.13-alpine3.22 | | ||||||||||
| | armv7-base-python | Alpine | 3.12, 3.13 | 3.12-alpine3.20, 3.12-alpine3.21, 3.12-alpine3.22, 3.13-alpine3.20, 3.13-alpine3.21, 3.13-alpine3.22 | 3.13-alpine3.22 | | ||||||||||
| | aarch64-base-python | Alpine | 3.12, 3.13, 3.14 | 3.12-alpine3.20, 3.12-alpine3.21, 3.12-alpine3.22, 3.13-alpine3.20, 3.13-alpine3.21, 3.13-alpine3.22, 3.14-alpine3.20, 3.14-alpine3.21, 3.14-alpine3.22 | 3.13-alpine3.22 | | ||||||||||
| | amd64-base-python | Alpine | 3.12, 3.13, 3.14 | 3.12-alpine3.20, 3.12-alpine3.21, 3.12-alpine3.22, 3.13-alpine3.20, 3.13-alpine3.21, 3.13-alpine3.22, 3.14-alpine3.20, 3.14-alpine3.21, 3.14-alpine3.22 | 3.13-alpine3.22 | | ||||||||||
|
Comment on lines
29
to
30
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same as above. |
||||||||||
| | i386-base-python | Alpine | 3.12, 3.13 | 3.12-alpine3.20, 3.12-alpine3.21, 3.12-alpine3.22, 3.13-alpine3.20, 3.13-alpine3.21, 3.13-alpine3.22 | 3.13-alpine3.22 | | ||||||||||
|
|
||||||||||
| ## Others | ||||||||||
|
|
||||||||||
|
|
@@ -47,25 +37,14 @@ We support the latest 3 release with the latest 3 Alpine version. | |||||||||
|
|
||||||||||
| | Image | OS | Tags | latest | | ||||||||||
| |-------|----|------|--------| | ||||||||||
| | armv7-base-debian | Debian | bookworm, trixie | trixie | | ||||||||||
| | armhf-base-debian | Debian | bookworm, trixie | trixie | | ||||||||||
| | aarch64-base-debian | Debian | bookworm, trixie | trixie | | ||||||||||
| | amd64-base-debian | Debian | bookworm, trixie | trixie | | ||||||||||
| | i386-base-debian | Debian | bookworm, trixie | trixie | | ||||||||||
|
|
||||||||||
| ### Ubuntu images | ||||||||||
|
|
||||||||||
| **Note**: We prefer the alpine based version because it's more IoT friendly. In some case, you need a glibc system like this. | ||||||||||
|
|
||||||||||
| | Image | OS | Tags | latest | | ||||||||||
| |-------|----|------|--------| | ||||||||||
| | armv7-base-ubuntu | Ubuntu | 14.04, 16.04, 18.04, 20.04, 22.04, 24.04 | 24.04 | | ||||||||||
| | aarch64-base-ubuntu | Ubuntu | 14.04, 16.04, 18.04, 20.04, 22.04, 24.04 | 24.04 | | ||||||||||
| | amd64-base-ubuntu | Ubuntu | 14.04, 16.04, 18.04, 20.04, 22.04, 24.04 | 24.04 | | ||||||||||
| | i386-base-ubuntu | Ubuntu | 14.04, 16.04, 18.04 | | | ||||||||||
|
|
||||||||||
| ### Raspbian images | ||||||||||
|
|
||||||||||
| | Image | OS | Tags | latest | | ||||||||||
| |-------|----|------|--------| | ||||||||||
| | armhf-base-raspbian | Raspbian | bookworm, trixie | trixie | | ||||||||||
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The default for Python should be updated to
3.14. It was deferred previously as 3.14 was only added fromamd64andaarch64.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe let's do it as a separate PR, so it's more prominent in the changelog?