* refactor: improve build
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: coverage
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Currently, the 'goVersion' function is run without any directory set.
This is problematic when a build uses the 'dir' config in combination
with the 'gobinary' config. When 'gobinary' is a relative path (like a
script in the current repository), goVersion silently fails, returning
an empty string.
This commit refactors 'goVersion' to execute the command with '.Dir' set
to the 'build.Dir', in addition to now returning an error, so that
issues may be bubbled up in the build log, rather than silently failing.
It also adds a new helper function to facilitate running 'goVersion' by
creating a temporary executable that outputs a given 'version' string.
This function is only currently used by 'TestWithDefaults'.
Co-authored-by: Rob Prentiss <prentiss@apple.com>
* feat: moving some cmd logs to debug
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: moving some cmd logs to debug
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Saving again the full path of the binary in the artifact name, if needed, we can filepath.Base it and get the name only.
refs #2280closes#2311
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* Implemented build option output_path
* feat: output path renamed to dist_path
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: CR
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: binary name
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
Co-authored-by: Thomas Meckel <tmeckel@users.noreply.github.com>
* fix: default gomips
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: add arm64 to the default goarch list
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: use t.Cleanup instead of defer
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: use t.Cleanup instead of defer
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: use t.Cleanup instead of defer
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: use t.Cleanup instead of defer
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: filepath
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: validate goos, goarch, goarm and gomips
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* refactor: use require on all tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: use require on all tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* chore(deps): bump github.com/golangci/golangci-lint from 1.23.7 to 1.27.0
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: Add build command
* feat(cmd/build): Add skip-post-hooks flag
* Update internal/pipeline/pipeline.go
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: builds.binary template
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: revert
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
All tests share the same environment (hence variable namespace too)
and setting & reading the same variables has lead to race conditions
which are being fixed by using different variables in each test.
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
This helps in situations where hook couldn't run at all,
e.g. because of insufficient permissions.
Previously such failure would only be reported as
empty stdout/stderr output - this allows exposure
of the real root cause.
* fix: checksum pipe will not return an error when artifact list is empty
Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
* new: build.skip option for libraries
Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
* docs: update doc with build.skip option
Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
* fix: non-templateable field as default build.id
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: added test for build.id
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixed test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: multiple archives
* fix: several things
* test: fixed
* fix: several things
* fix: archive id on the artifact
* fix: deprecated since
* docs: deprecations page improvements
* feat: templateable hooks
* test: improved test
* docs: docs about templateable hooks
* test: improve test
* test: skip test that only fails on travis