Skip to content

Conversation

@hsanjuan
Copy link
Contributor

The build process:

  • Sets a custom GOPATH
  • Clones the repo we want to build inside it
  • Does a go mod init and requires the repository we want to build directly (ignoring submodules) by doing a "rev-parse HEAD" on what we cloned
  • Then go-builds the package "go build [...] -mod=mod my.package/abc.

I'm not sure why -mod=mod is updated, but this automatically updates the go.mod when working with submodules (sub-packages) that are tagged separately, to the point that it uses wrong releases (not the checked out one).

This has not been noticed in 4 years because we usually build the last tagged version of things. It you attempt to build a submodule with their own tag while using a tag that is not the latest it will start misbehaving.

This attempts to require exactly what we are trying to build in the go.mod file.

The build process:

  * Sets a custom GOPATH
  * Clones the repo we want to build inside it
  * Does a go mod init and requires the repository we want to build directly (ignoring submodules) by doing a "rev-parse HEAD" on what we cloned
  * Then go-builds the package "go build [...] -mod=mod my.package/abc.

I'm not sure why -mod=mod is updated, but this automatically updates the
go.mod when working with submodules (sub-packages) that are tagged separately,
to the point that it uses wrong releases (not the checked out one).

This has not been noticed in 4 years because we usually build the last tagged
version of things. It you attempt to build a submodule with their own tag
while using a tag that is not the latest it will start misbehaving.

This attempts to require exactly what we are trying to build in the go.mod file.
@hsanjuan hsanjuan self-assigned this Jun 13, 2023
@hsanjuan hsanjuan temporarily deployed to Deploy June 13, 2023 21:47 — with GitHub Actions Inactive
@github-actions
Copy link

This change produced no new differences in built artifacts.

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