[PR #2719] [MERGED] ci: modify publish-docker workflow to push for ARM platforms #4019

Closed
opened 2026-03-17 01:35:05 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hoppscotch/hoppscotch/pull/2719
Author: @piraces
Created: 10/1/2022
Status: Merged
Merged: 10/1/2022
Merged by: @liyasthomas

Base: mainHead: feat/multi-arch-docker-image


📝 Commits (1)

  • 39f2e28 ci: modify publish-docker workflow to push for arm

📊 Changes

1 file changed (+10 additions, -3 deletions)

View changed files

📝 .github/workflows/publish-docker.yml (+10 -3)

📄 Description

Closes #2524

Description

This PR modifies the publish-docker.yml workflow in order to publish the docker image for ARM based platforms.
Now it pushes images for the following platforms:

  • linux/amd64: already existing, default platform
  • linux/arm/v7
  • linux/arm64/v8

This will add support for new Apple computers with M-series chips, and newer Raspberry Pi (among other systems as well).

Checks

  • My pull request adheres to the code style of this project
  • My code requires changes to the documentation
  • I have updated the documentation as required
  • All the tests have passed

Additional Information

As the original base image node:lts-slim supports the platforms linux/amd64, linux/arm/v7 and linux/arm64/v8, we can build for those platforms too without problem.

The workflow modifications are based on the docker/build-push-action docs for Multi-platform image. I have added two steps to setup QEMU and buildx as the docs indicate (in order to have support for multiple platforms and be able to build multi-platform images, accordingly).

I have tested and run the workflow in my fork publishing to Docker Hub here. There you can test if you want the current branch (I have been testing with QEMU by myself).

As you can see in Docker Hub multiple platforms are now listed (in my part). This is the expected result when this PR gets merged and then making a release.

The only con of this approach (but inevitable), is that the Build and push Docker image takes about 20min instead of 5 minutes as now... but this is due to building for two newer platforms with QEMU.

Note: I have also modified the reference for some actions in the workflow to target the latest version of the action, instead of a fixed commit (I see this more stable than a fixed commit that can be older). Nevertheless, if this is a problem I can go back and make a commit reference.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/hoppscotch/hoppscotch/pull/2719 **Author:** [@piraces](https://github.com/piraces) **Created:** 10/1/2022 **Status:** ✅ Merged **Merged:** 10/1/2022 **Merged by:** [@liyasthomas](https://github.com/liyasthomas) **Base:** `main` ← **Head:** `feat/multi-arch-docker-image` --- ### 📝 Commits (1) - [`39f2e28`](https://github.com/hoppscotch/hoppscotch/commit/39f2e28b1f16cca7c790d0930dee7c0e989a844e) ci: modify publish-docker workflow to push for arm ### 📊 Changes **1 file changed** (+10 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/publish-docker.yml` (+10 -3) </details> ### 📄 Description <!-- Thanks for creating this pull request 🤗 Please make sure that the pull request is limited to one type (docs, feature, etc.) and keep it as small as possible. You can open multiple prs instead of opening a huge one. --> <!-- If this pull request closes an issue, please mention the issue number below --> Closes #2524 ### Description <!-- Add a brief description of the pull request --> This PR modifies the `publish-docker.yml` workflow in order to publish the docker image for ARM based platforms. Now it pushes images for the following platforms: - linux/amd64: already existing, default platform - linux/arm/v7 - linux/arm64/v8 This will add support for new Apple computers with M-series chips, and newer Raspberry Pi (among other systems as well). <!-- You can also choose to add a list of changes and if they have been completed or not by using the markdown to-do list syntax - [ ] Not Completed - [x] Completed --> ### Checks <!-- Make sure your pull request passes the CI checks and do check the following fields as needed - --> - [x] My pull request adheres to the code style of this project - [ ] My code requires changes to the documentation - [ ] I have updated the documentation as required - [x] All the tests have passed ### Additional Information <!-- Any additional information like breaking changes, dependencies added, screenshots, comparisons between new and old behavior, etc. --> As the original base image [`node:lts-slim`](https://hub.docker.com/_/node/tags?page=1&name=lts-slim) supports the platforms linux/amd64, linux/arm/v7 and linux/arm64/v8, we can build for those platforms too without problem. The workflow modifications are based on the [docker/build-push-action docs for Multi-platform image](https://github.com/docker/build-push-action/blob/master/docs/advanced/multi-platform.md). I have added two steps to setup QEMU and buildx as the docs indicate (in order to have support for multiple platforms and be able to build multi-platform images, accordingly). I have tested and run the [workflow in my fork](https://github.com/piraces/hoppscotch/actions/runs/3164527905) publishing to Docker Hub [here](https://hub.docker.com/r/piraces/hoppscotch/tags). There you can test if you want the current branch (I have been testing with QEMU by myself). As you can see in Docker Hub multiple platforms are now listed (in my part). This is the expected result when this PR gets merged and then making a release. The only con of this approach (but inevitable), is that the `Build and push Docker image` takes about 20min instead of 5 minutes as now... but this is due to building for two newer platforms with QEMU. **Note:** I have also modified the reference for some actions in the workflow to target the latest version of the action, instead of a fixed commit (I see this more stable than a fixed commit that can be older). Nevertheless, if this is a problem I can go back and make a commit reference. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-17 01:35:05 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hoppscotch#4019
No description provided.