Skip to content

docker image for arm64 - #313

Merged
cedric-anne merged 7 commits into
glpi-project:mainfrom
izual0110:docker-image-for-arm
Oct 8, 2026
Merged

cedric-anne merged 7 commits into
glpi-project:mainfrom
izual0110:docker-image-for-arm

Conversation

@izual0110

Copy link
Copy Markdown
Contributor

No description provided.

@froozeify froozeify left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hello, prod image are already build for arm : https://github.com/glpi-project/docker-images/blob/main/.github/workflows/glpi.yml

Could you take inspiration on the build logic (build matrix, merge manifest). That logic was chosen for build time optimization.

@izual0110

Copy link
Copy Markdown
Contributor Author

@froozeify Hello!

I tried to mirror the build logic from glpi.yml, but this still needs testing. In particular, we need to verify that the images are pushed correctly and that the multi-architecture manifests are created as expected. Could you help with testing?

@izual0110
izual0110 requested a review from froozeify August 25, 2026 18:48
@froozeify

Copy link
Copy Markdown
Member

Hello,

I see some missing items before we could merge it:

  • Missing labels: on the build step — glpi.yml generates OCI labels via docker/metadata-action and passes them to build-push-action
  • Missing sbom/provenance outputs — glpi.yml sets sbom: ${{ needs.prepare.outputs.push == 'true' }} and provenance: mode=max on push.
  • glpi.yml uses plain linux/arm64 and not linux/arm64/v8 we should use it for consistency.

* linux/arm64
* added docker metadata
* updated Build and push by digest
@izual0110

Copy link
Copy Markdown
Contributor Author

The comments were addressed

@froozeify
froozeify requested a review from cedric-anne October 8, 2026 10:23
@froozeify

Copy link
Copy Markdown
Member

Once merged, I will created a dedicated PR to reduce the duplication with matrix generation to have only one in this file to maintain

tags: "ghcr.io/glpi-project/glpi-development-env:${{ matrix.php-version }}${{ matrix.latest == 'true' && ',ghcr.io/glpi-project/glpi-development-env:latest' || '' }}"
sbom: ${{ env.PUSH == 'true' }}
provenance: ${{ env.PUSH == 'true' && 'mode=max' || 'false' }}
outputs: "type=image,name=${{ env.GHCR_IMAGE }},push-by-digest=true,name-canonical=true,push=${{ env.PUSH }}"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Are you sure about push=${{ env.PUSH }}? Will it be rendered as 'true'|'false', 1|0, or maybe an 1|(empty string)?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Line 27, we get the PUSH env.PUSH declaration. ${{ github.ref == 'refs/heads/main' && github.repository == 'glpi-project/docker-images' }}

It's a condition so it will output a bool.
Github convert it to string : https://docs.github.com/en/actions/reference/workflows-and-actions/expressions

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

empty will also be returned as false string

@cedric-anne
cedric-anne merged commit 10d29c3 into glpi-project:main Oct 8, 2026
11 checks passed
@izual0110
izual0110 deleted the docker-image-for-arm branch October 8, 2026 11:50
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