Skip to content

ci: build Docker platforms on native runners - #2774

Merged
diegosouzapw merged 2 commits into
diegosouzapw:release/v3.8.5from
thanet-s:ci/split-docker-platform-runners
May 27, 2026
Merged

diegosouzapw merged 2 commits into
diegosouzapw:release/v3.8.5from
thanet-s:ci/split-docker-platform-runners

Conversation

@thanet-s

@thanet-s thanet-s commented May 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Split Docker publishing into prepare, per-platform build, and manifest merge jobs.
  • Build linux/amd64 on ubuntu-24.04 and linux/arm64 on ubuntu-24.04-arm instead of building ARM64 through QEMU.
  • Push per-platform images by digest first, then create Docker Hub and GHCR multi-arch manifests for the final version/latest tags.

Motivation

The v3.8.4 Docker publish run spent about 45 minutes in the multi-arch build step, with the ARM64 Next.js build under QEMU taking about 37m42s. Building ARM64 on a native ARM runner should reduce the release bottleneck while keeping the public tags unchanged.

Old run used for comparison: https://github.com/diegosouzapw/OmniRoute/actions/runs/26492018917/job/78011652849

Validation

  • npx prettier --check .github/workflows/docker-publish.yml
  • node -e "import('js-yaml').then(yaml => yaml.load(require('node:fs').readFileSync('.github/workflows/docker-publish.yml', 'utf8')))"
  • git diff --check upstream/main...HEAD

Notes

  • No application/runtime code changed.
  • The per-platform pushes are digest-only, so Docker Hub and GHCR should only expose the final multi-arch tags.

@thanet-s
thanet-s requested a review from diegosouzapw as a code owner May 27, 2026 06:49
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@kilo-code-bot

kilo-code-bot Bot commented May 27, 2026

Copy link
Copy Markdown

Kilo Code Review could not run — your account is out of credits.

Add credits or switch to a free model to enable reviews on this change.

@diegosouzapw
diegosouzapw changed the base branch from main to release/v3.8.5 May 27, 2026 07:13
@diegosouzapw
diegosouzapw merged commit 1a15719 into diegosouzapw:release/v3.8.5 May 27, 2026
84 of 85 checks passed
@diegosouzapw

Copy link
Copy Markdown
Owner

Thanks @thanet-s for optimizing the Docker build workflow! Shifting to native ARM64 runners will save significant build time during releases and prevent timeout bottlenecks. This has been integrated and will be included in the v3.8.5 release.

@diegosouzapw diegosouzapw mentioned this pull request May 27, 2026
diegosouzapw added a commit that referenced this pull request May 27, 2026
* chore(release): bump version to v3.8.5

* fix(docker): rebuild better-sqlite3 after hardened install (#2772)

Integrated into release/v3.8.5

* ci: build Docker platforms on native runners (#2774)

Integrated into release/v3.8.5

* docs(release): sync v3.8.5 documentation and metadata

Update changelog entries, API reference version, package metadata, and
localized LLM documentation for the 3.8.5 release. Refresh generated
docs source mappings and architecture counts for current executors and
OAuth providers.

* chore(release): bump to v3.8.5 — changelog, docs, version sync

* chore(release): translate Hall of Contributors to English in workflows and changelog

* fix(combos): make target timeout configurable (#2775)

Merge PR #2775 — fix(combos): make target timeout configurable

* feat: fix so restart of server restarts batch jobs instead of failing them (#2755)

Merge PR #2755 — feat: fix so restart of server restarts batch jobs instead of failing them

* chore(release): update changelog with merged PRs notes and credits

* feat(api): add endpoint restrictions for client API keys (#2777)

Merge PR #2777 — feat(api): add endpoint restrictions for client API keys

* chore(release): update changelog with PR #2777 entry and contributor credit

---------

Co-authored-by: Thanet S. <cho.112543@gmail.com>
Co-authored-by: Randi <55005611+rdself@users.noreply.github.com>
Co-authored-by: Markus Hartung <mail@hartmark.se>
Co-authored-by: Jack <5443152+hijak@users.noreply.github.com>
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
* chore(release): bump version to v3.8.5

* fix(docker): rebuild better-sqlite3 after hardened install (diegosouzapw#2772)

Integrated into release/v3.8.5

* ci: build Docker platforms on native runners (diegosouzapw#2774)

Integrated into release/v3.8.5

* docs(release): sync v3.8.5 documentation and metadata

Update changelog entries, API reference version, package metadata, and
localized LLM documentation for the 3.8.5 release. Refresh generated
docs source mappings and architecture counts for current executors and
OAuth providers.

* chore(release): bump to v3.8.5 — changelog, docs, version sync

* chore(release): translate Hall of Contributors to English in workflows and changelog

* fix(combos): make target timeout configurable (diegosouzapw#2775)

Merge PR diegosouzapw#2775 — fix(combos): make target timeout configurable

* feat: fix so restart of server restarts batch jobs instead of failing them (diegosouzapw#2755)

Merge PR diegosouzapw#2755 — feat: fix so restart of server restarts batch jobs instead of failing them

* chore(release): update changelog with merged PRs notes and credits

* feat(api): add endpoint restrictions for client API keys (diegosouzapw#2777)

Merge PR diegosouzapw#2777 — feat(api): add endpoint restrictions for client API keys

* chore(release): update changelog with PR diegosouzapw#2777 entry and contributor credit

---------

Co-authored-by: Thanet S. <cho.112543@gmail.com>
Co-authored-by: Randi <55005611+rdself@users.noreply.github.com>
Co-authored-by: Markus Hartung <mail@hartmark.se>
Co-authored-by: Jack <5443152+hijak@users.noreply.github.com>
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
Poid-ZA pushed a commit to Poid-ZA/OmniRoute that referenced this pull request Aug 5, 2026
* chore(release): bump version to v3.8.5

* fix(docker): rebuild better-sqlite3 after hardened install (diegosouzapw#2772)

Integrated into release/v3.8.5

* ci: build Docker platforms on native runners (diegosouzapw#2774)

Integrated into release/v3.8.5

* docs(release): sync v3.8.5 documentation and metadata

Update changelog entries, API reference version, package metadata, and
localized LLM documentation for the 3.8.5 release. Refresh generated
docs source mappings and architecture counts for current executors and
OAuth providers.

* chore(release): bump to v3.8.5 — changelog, docs, version sync

* chore(release): translate Hall of Contributors to English in workflows and changelog

* fix(combos): make target timeout configurable (diegosouzapw#2775)

Merge PR diegosouzapw#2775 — fix(combos): make target timeout configurable

* feat: fix so restart of server restarts batch jobs instead of failing them (diegosouzapw#2755)

Merge PR diegosouzapw#2755 — feat: fix so restart of server restarts batch jobs instead of failing them

* chore(release): update changelog with merged PRs notes and credits

* feat(api): add endpoint restrictions for client API keys (diegosouzapw#2777)

Merge PR diegosouzapw#2777 — feat(api): add endpoint restrictions for client API keys

* chore(release): update changelog with PR diegosouzapw#2777 entry and contributor credit

---------

Co-authored-by: Thanet S. <cho.112543@gmail.com>
Co-authored-by: Randi <55005611+rdself@users.noreply.github.com>
Co-authored-by: Markus Hartung <mail@hartmark.se>
Co-authored-by: Jack <5443152+hijak@users.noreply.github.com>
Poid-ZA pushed a commit to Poid-ZA/OmniRoute that referenced this pull request Aug 5, 2026
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
* chore(release): bump version to v3.8.5

* fix(docker): rebuild better-sqlite3 after hardened install (diegosouzapw#2772)

Integrated into release/v3.8.5

* ci: build Docker platforms on native runners (diegosouzapw#2774)

Integrated into release/v3.8.5

* docs(release): sync v3.8.5 documentation and metadata

Update changelog entries, API reference version, package metadata, and
localized LLM documentation for the 3.8.5 release. Refresh generated
docs source mappings and architecture counts for current executors and
OAuth providers.

* chore(release): bump to v3.8.5 — changelog, docs, version sync

* chore(release): translate Hall of Contributors to English in workflows and changelog

* fix(combos): make target timeout configurable (diegosouzapw#2775)

Merge PR diegosouzapw#2775 — fix(combos): make target timeout configurable

* feat: fix so restart of server restarts batch jobs instead of failing them (diegosouzapw#2755)

Merge PR diegosouzapw#2755 — feat: fix so restart of server restarts batch jobs instead of failing them

* chore(release): update changelog with merged PRs notes and credits

* feat(api): add endpoint restrictions for client API keys (diegosouzapw#2777)

Merge PR diegosouzapw#2777 — feat(api): add endpoint restrictions for client API keys

* chore(release): update changelog with PR diegosouzapw#2777 entry and contributor credit

---------

Co-authored-by: Thanet S. <cho.112543@gmail.com>
Co-authored-by: Randi <55005611+rdself@users.noreply.github.com>
Co-authored-by: Markus Hartung <mail@hartmark.se>
Co-authored-by: Jack <5443152+hijak@users.noreply.github.com>
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
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.

2 participants