diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index b4791c9..24a9f98 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -41,13 +41,23 @@ jobs: go-version: ${{ env.GO_VERSION }} cache: false + # A bridged Pulumi provider links the whole Terraform provider plus the + # Pulumi SDK into one ~100MB binary, and compiling that is memory-hungry. + # goreleaser defaults its parallelism to the CPU count, so several of + # those compiles overlap and the runner OOMs -- the v0.2.0 release died + # after 31 minutes with `compile: signal: killed` on darwin_amd64. + # + # Build one target at a time. It is slower in wall-clock but it is the + # difference between a release that finishes and one that does not. + # GOGC trades some CPU for a lower peak heap in the compiler itself. - uses: goreleaser/goreleaser-action@v6 with: version: latest - args: release --clean + args: release --clean --parallelism 1 workdir: pulumi-dokploy env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + GOGC: "50" sdks: needs: plugin