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

Release with all vendor dependencies #11760

Open
catap opened this issue Apr 23, 2024 · 5 comments · May be fixed by #11764
Open

Release with all vendor dependencies #11760

catap opened this issue Apr 23, 2024 · 5 comments · May be fixed by #11764

Comments

@catap
Copy link

catap commented Apr 23, 2024

Description

Good day,

Is it possible to add to release a distirbutive which contains all vendor dependencies?

It should make life of package managers much easier.

Thanks!

@ndeloof
Copy link
Contributor

ndeloof commented Apr 24, 2024

Can't you just rely on go.mod for this purpose?
What's the challenge you have to address as a package manager?

@catap
Copy link
Author

catap commented Apr 24, 2024

Yes, I can. Right now I need to pack vedors folder as dedicated archive to make an offline build. Without it build of docker-compose needs an internet to download everything.

The issue that usual workflow for build a pachage is:

  • fetch everything
  • extract
  • patch when needed
  • configure
  • build

go mod nice solution but it should be run after extract that means fetch stage isn't complete, and if other stages goes without internet connection, build fails.

Just an observation: docker-buildx and docker-cli provides such archive.

@ndeloof
Copy link
Contributor

ndeloof commented Apr 24, 2024

both buildx and docker cli projects adopted a vendor folder inside repository, which we don't. This is a long debate, but compose maintainers don't consider this to be a good practice. the source zip archive produced by github during release from tag only contains a git shapshot, so is obviously missing such a vendor folder. If you have a requirement to build offline, then indeed you'll need your pipeline to include an additional do mod download step after extraction

@catap
Copy link
Author

catap commented Apr 24, 2024

Right now I host such artifacts on my host for OpenBSD artifacts for example, see: https://github.com/openbsd/ports/blob/master/sysutils/docker-compose/Makefile

Maybe it isn't so bad idea to prepare one more release artifcat via githib actions? I don't ask to include vendor into sources, just make one more artifact which I may use as source for future updates.

@ndeloof
Copy link
Contributor

ndeloof commented Apr 24, 2024

right, feel free to offer us a pull request for this purpose :)

catap added a commit to catap/docker-compose that referenced this issue Apr 24, 2024
@catap catap linked a pull request Apr 24, 2024 that will close this issue
catap added a commit to catap/docker-compose that referenced this issue Apr 24, 2024
Closes: docker#11760

Signed-off-by: Kirill A. Korinsky <kirill@korins.ky>
catap added a commit to catap/docker-compose that referenced this issue Apr 24, 2024
Closes: docker#11760

Signed-off-by: Kirill A. Korinsky <kirill@korins.ky>
catap added a commit to catap/docker-compose that referenced this issue Apr 24, 2024
Closes: docker#11760

Signed-off-by: Kirill A. Korinsky <kirill@korins.ky>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants