Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: use actual repo/package/version to do go mod init #858

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

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.

1 participant