-
Notifications
You must be signed in to change notification settings - Fork 54
Conversation
Signed-off-by: Kent Rancourt <kent.rancourt@microsoft.com>
Signed-off-by: Kent Rancourt <kent.rancourt@microsoft.com>
Signed-off-by: Kent Rancourt <kent.rancourt@microsoft.com>
Isn't the purpose of a lockfile to pin dependencies at particular versions which can rebuild the vendor tree? I'm not following why the vendor directory needs to be checked into source control. |
You need: | ||
* A working Go 1.11.4 (or later) environment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I run make build-all-bins
without go
in the path, the command fails with:
bash -c "LDFLAGS=\"-w -s -X github.com/deislabs/duffle/pkg/version.Version=c6a43ae\" scripts/build.sh"
building linux-amd64
scripts/build.sh: line 11: go: command not found
make: *** [build-all-bins] Error 127
So it seems that go is still needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You may have caught a mistake here. Will look.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love not having to make bootstrap
any more. The vendor/
directory will also insulate us from various network issues.
I'd like a quick/memorable way to make bin/duffle
on macOS or linux.
It seems that Go is still needed, which is fine by me.
I'm not sure that building the docker image should be part of build
, but that's fine so long as there are alternatives which can avoid it.
See doc changes. There is a way, but perhaps not adequately quick or memorable. I would be happy to add a few OS-specific convenience targets. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM for the build and vendoring part (not enough confident on brigade.js
to review it properly...)
About versioning the vendoring, I don't have strong opinion about that, even if I prefer having everything versioned (easier to review/backtrack changes while bumping dependencies, safer if any dependency closes it's github account), but both options are fine with me.
This is a classic debate and from what I have observed, Beyond that, when vendor code isn't tracked, there's a need for some additional dependency resolution step (e.g. |
That would be really helpful. I'd like something like |
Makefile
Outdated
|
||
.PHONY: build-all-bins | ||
build-all-bins: | ||
$(GO_DOCKER_CMD) bash -c "LDFLAGS=\"$(LDFLAGS)\" scripts/build.sh" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep... there a mistake on this line. The prefix here should just be DOCKER_CMD
. GO_DOCKER_CMD
is some copy/pasta and is always undefined and @glyn, this is why you were still needing Go on your path. I will fix this as soon as I get to a proper keyboard.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep... there a mistake on this line. The prefix here should just be
DOCKER_CMD
.GO_DOCKER_CMD
is some copy/pasta and is always undefined and @glyn, this is why you were still needing Go on your path. I will fix this as soon as I get to a proper keyboard.
Thanks. But actually I like being able to do a "local" (i.e. non-docker) build using my Go tooling, so please can we preserve that, at least when just building bin/duffle
for the current OS?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can opt out of it with SKIP_DOCKER=true
.
Signed-off-by: Kent Rancourt <kent.rancourt@microsoft.com>
… choosing Signed-off-by: Kent Rancourt <kent.rancourt@microsoft.com>
@glyn I added a
That makes me uneasy. The same build script that produces binaries on-demand for you also produces deployable artifacts in our pipeline. I think it's best if those artifacts are named unambiguously. This being said... Elsewhere we discussed Does that seem ok? |
Yes. I can use a symlink |
I re-tested and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great now. Ideally, I'd like make duffle-darwin
et al. described in the developer's guide, for posterity.
Yes. I will add that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll leave the rest of the CI changes up to the interested parties who'll more actively interact w/ them, but otherwise all looks good to me. One minor comment on the brigade.js
update...
Signed-off-by: Kent Rancourt <kent.rancourt@microsoft.com>
Signed-off-by: Kent Rancourt <kent.rancourt@microsoft.com>
Just tested on Windows:
Of course, this assumes WSL is configured on the machine; or requires the build to use Docker, none of which should be requirements for a simple |
@radu-matei lemme look at that. This is really odd. I'm not sure how |
Ok. Apparently the |
Signed-off-by: Kent Rancourt <kent.rancourt@microsoft.com>
@radu-matei the latest issue you reported should be fixed by the latest commit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This currently has 4 LGTMs by core maintainers, so I am merging. |
PR cnabio#766 changed env vars to GOOS and GOARCH but forgot to update docs
PR cnabio#766 changed env vars to GOOS and GOARCH but forgot to update docs Signed-off-by: Stev Witzel <switzel@pivotal.io>
By request from @jeremyrickard
Highlights:
cc @vdice