By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
This PR splits the go-build-release Makefile rule into individual targets based on arch, and composes them such that they can be parallelized using make -j.
It also applies this parallelization to the pull request CI workflow using a build matrix with each Makefile rule being a separate entry in said matrix, which cuts CI times massively.
How to test?
go-build-release should work the same as before, and CI times should be cut by a non-trivial number.
🔄 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/fosrl/newt/pull/200
**Author:** [@water-sucks](https://github.com/water-sucks)
**Created:** 12/12/2025
**Status:** ✅ Merged
**Merged:** 12/13/2025
**Merged by:** [@oschwartz10612](https://github.com/oschwartz10612)
**Base:** `main` ← **Head:** `parallelize-makefile`
---
### 📝 Commits (3)
- [`de5627b`](https://github.com/fosrl/newt/commit/de5627b0b778e7040c13a0a8d24558c797f2c7d4) feat(build): parallelize go-build-release using separate arch rules
- [`865ac4b`](https://github.com/fosrl/newt/commit/865ac4b68273db1374d28a99dd83c1f443d4507a) feat(build): double-tag docker release builds with "latest" and tag name
- [`1dcb68d`](https://github.com/fosrl/newt/commit/1dcb68d6942a8c598b73fa7e0e2cc9bd7baeda4c) feat(ci): use matrix for building all makefile targets in parallel
### 📊 Changes
**2 files changed** (+59 additions, -18 deletions)
<details>
<summary>View changed files</summary>
📝 `.github/workflows/test.yml` (+20 -12)
📝 `Makefile` (+39 -6)
</details>
### 📄 Description
## Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
## Description
This PR splits the `go-build-release` Makefile rule into individual targets based on arch, and composes them such that they can be parallelized using `make -j`.
It also applies this parallelization to the pull request CI workflow using a build matrix with each Makefile rule being a separate entry in said matrix, which cuts CI times massively.
## How to test?
`go-build-release` should work the same as before, and CI times should be cut by a non-trivial number.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/fosrl/newt/pull/200
Author: @water-sucks
Created: 12/12/2025
Status: ✅ Merged
Merged: 12/13/2025
Merged by: @oschwartz10612
Base:
main← Head:parallelize-makefile📝 Commits (3)
de5627bfeat(build): parallelize go-build-release using separate arch rules865ac4bfeat(build): double-tag docker release builds with "latest" and tag name1dcb68dfeat(ci): use matrix for building all makefile targets in parallel📊 Changes
2 files changed (+59 additions, -18 deletions)
View changed files
📝
.github/workflows/test.yml(+20 -12)📝
Makefile(+39 -6)📄 Description
Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
This PR splits the
go-build-releaseMakefile rule into individual targets based on arch, and composes them such that they can be parallelized usingmake -j.It also applies this parallelization to the pull request CI workflow using a build matrix with each Makefile rule being a separate entry in said matrix, which cuts CI times massively.
How to test?
go-build-releaseshould work the same as before, and CI times should be cut by a non-trivial number.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.