Release with all vendor dependencies
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!
Can't you just rely on go.mod for this purpose?
What's the challenge you have to address as a package manager?
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.
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
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.
right, feel free to offer us a pull request for this purpose :)
Seems that it will be won't fix