chore: build unsupported platforms #1295

Merged
mfenniak merged 1 commit from aahlenst/runner:cross-compile into main 2026-01-15 22:43:01 +00:00
Member

Cross-compile Forgejo Runner for the most common platforms that are not officially supported during CI. The purpose is preventing the accidental introduction of code that breaks compilation on any of those platforms, and nothing more. It is not a goal to perform any testing on those platforms or release Forgejo Runner for them.

  • other
    • PR: chore: build unsupported platforms
Cross-compile Forgejo Runner for the most common platforms that are not officially supported during CI. The purpose is preventing the accidental introduction of code that breaks compilation on any of those platforms, and nothing more. It is not a goal to perform any testing on those platforms or release Forgejo Runner for them. <!--start release-notes-assistant--> <!--URL:https://code.forgejo.org/forgejo/runner--> - other - [PR](https://code.forgejo.org/forgejo/runner/pulls/1295): <!--number 1295 --><!--line 0 --><!--description Y2hvcmU6IGJ1aWxkIHVuc3VwcG9ydGVkIHBsYXRmb3Jtcw==-->chore: build unsupported platforms<!--description--> <!--end release-notes-assistant-->
Author
Member

I considered invoking make build in a for loop. But identifying the failed platform is much easier with separate steps. I hope I used the word "unsupported" enough.

I considered invoking `make build` in a for loop. But identifying the failed platform is much easier with separate steps. I hope I used the word "unsupported" enough.
@ -43,0 +96,4 @@
- name: Build for macOS/arm64
run: |
GOARCH="arm64" GOOS=darwin make build
Owner

Some of these steps at the end are missing make clean, and likely related, the logs indicate that nothing is being built.

Some of these steps at the end are missing `make clean`, and likely related, the logs indicate that nothing is being built.
Author
Member

What happens when the attention collapses in the midst of a task. Sigh. Should be fixed.

What happens when the attention collapses in the midst of a task. Sigh. Should be fixed.
Contributor

I don't think you actually need to build every architecture; just an amd64 build for each OS should be plenty. I don't believe there's any architecture-specific code in the runner. (And the full matrix of arch/OS combinations is quite large.)

I don't think you actually need to build every *architecture*; just an `amd64` build for each OS should be plenty. I don't believe there's any architecture-specific code in the runner. (And the full matrix of arch/OS combinations is quite large.)
Contributor

Would suggest also adding dragonfly and illumos.

Would suggest also adding `dragonfly` and `illumos`.
aahlenst force-pushed cross-compile from 57884ec74b
All checks were successful
issue-labels / release-notes (pull_request_target) Successful in 5s
checks / Build Forgejo Runner (pull_request) Successful in 19s
checks / validate mocks (pull_request) Successful in 21s
checks / validate pre-commit-hooks file (pull_request) Successful in 28s
checks / runner exec tests (pull_request) Successful in 44s
checks / Build unsupported platforms (pull_request) Successful in 53s
checks / integration tests (docker-latest) (pull_request) Successful in 8m10s
checks / integration tests (docker-stable) (pull_request) Successful in 10m25s
to cb26c6f373
All checks were successful
issue-labels / release-notes (pull_request_target) Successful in 5s
Integration tests for the release process / release-simulation (pull_request) Successful in 4m24s
checks / Build Forgejo Runner (pull_request) Successful in 26s
checks / validate mocks (pull_request) Successful in 31s
checks / validate pre-commit-hooks file (pull_request) Successful in 32s
checks / Build unsupported platforms (pull_request) Successful in 22s
checks / runner exec tests (pull_request) Successful in 39s
checks / integration tests (docker-latest) (pull_request) Successful in 8m44s
checks / integration tests (docker-stable) (pull_request) Successful in 11m15s
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Successful in 6s
cascade / forgejo (pull_request_target) Successful in 28s
2026-01-15 12:24:54 +00:00
Compare
Author
Member

@alexrp I trust your judgement. @alexrp wrote in #1295 (comment):

I don't think you actually need to build every architecture; just an amd64 build for each OS should be plenty.

Sure. And if it's not, you know where to find us 😁

Would suggest also adding dragonfly and illumos.

But I won't add Solaris!

@alexrp I trust your judgement. @alexrp wrote in https://code.forgejo.org/forgejo/runner/pulls/1295#issuecomment-73499: > I don't think you actually need to build every _architecture_; just an `amd64` build for each OS should be plenty. Sure. And if it's not, you know where to find us 😁 > Would suggest also adding `dragonfly` and `illumos`. But I won't add Solaris!
mfenniak approved these changes 2026-01-15 22:42:48 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
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
forgejo/runner!1295
No description provided.