constabulary/gb

feat: output action graph without execution

Opened this issue · 2 comments

The dotfile produced by gb build -dotfile build.dot is quite cool.

Given a project with multiple commands (multiple 'main' packages), I'd like find out which of them would be build with next gb build run and which are quite fine against the actual cache.

Is there any chance to give the build command an dry-run option to produce no compiled/linked code but the action graph?
Or just the package list of the to-be-build-packages on stdout when dry-run is given but no dotfile requested.

you can do this with gb list

On Wed, 2 Nov 2016, 01:11 Stephan Heinze notifications@github.com wrote:

The dotfile produced by gb build -dotfile build.dot is quite cool.

Given a project with multiple commands (multiple 'main' packages), I'd
like find out which of them would be build with next gb build run and
which are quite fine against the actual cache.

Is there any chance to give the build command an dry-run option to
produce no compiled/linked code but the action graph?
Or just the package list of the to-be-build-packages on stdout when
dry-run is given but no dotfile requested.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#651, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAcA79h0sRI4qd9WEwnllz6L32S62Nnks5q50iQgaJpZM4KmIUO
.

Not exactly: List lists packages imported by the project.

I do not want to know what packages are imported - I want to know what packages will be build.

gb's cool feature is to build only those artifacts that experienced change in source files or in dependencies. Given a gb project providing 2 commands (separate executables) sitting in src/cmd/foo and src/cmd/bar a call of gb build in the project's root will build those 2 commands and pack them into bin/foo and bin/bar. A second call of gb build (without -f) will build nothing. After a change in src/cmd/foo/main.go a third call of gb build will build foo only and leave bar untouched.

I got a project with lot of commands which will be packed into separate docker images in later stages. And I do not want to start all those pipelines - just those with a changed executable and not those which are still up-to-date.

I hope you could follow :-)