Releases: hashicorp/actions-go-build
Releases · hashicorp/actions-go-build
v1
v0.1.9
v0.1.8
Changed:
-
Dirty builds now fail early when running the action.
In CI, there's no good use-case for dirty builds, however dirty builds still
work locally when running the CLI directly. -
You can now set
TARGET_DIR
when running thebuild
subcommand of the CLI.
This dictates the the output directory for the binary, as well as where to place
other filed that need to be included in the release zip. -
The
-clean
flag now produces a more useful error message when the worktree is dirty.
It lists the paths which are flagged as dirty, to make it much easier to debug.
Added:
- New inspect flag:
-worktree
which reports on the dirty/clean status of the worktree. - Development documentation docs/development.md
- Build system:
make build
- build dev (maybe dirty) CLI binaries & zips for all supported platforms.make release
- build release (clean) CLI binaries & zipe for all supported platforms. Note: If running locally on a mac, you'll need to installenvsubst
withbrew install gettext
Fixed:
- No longer using the deprecated
::set-output
syntax in the action YAML.
v0.1.7
fix darwin arm64 builds (#20)
v0.1.6
Changed:
- Windows executables automatically have a .exe extension.
- Default verification result filenames now end with .verificationresult.json
v0.1.4
Fixed
Added
- New input
product_version_meta
for adding a metadata field to the product version. - New input
work_dir
for setting the working directory. - New CLI allows running local build and verification just like in CI.
Changed
- The
product_version
input is now optional. Instead we should use a VERSION file
in either the repo root, or .release/ or dev/. - The
product_name
input's default is now the working directory name, unless
the working directory is the repository root, in which case it still defaults
to the repository name.
Internal Changes
- Add
make version/set VERSION=<X.Y.Z>
to set the development version. - Changelog generation more robust.
- When pre-push hook fails you now see the output so it's easier to debug.
- Readme tidied up.
- Converted digest inputs to Go.
- Converted build functionality to Go.
- Converted remaining functionality to Go.
v0.1.3
- Adds .exe extension for windows binaries.
- Clearer logging when calculated default values are used.
- Internal:
- Better handling of inputs with default values that also need to be manipulated or validated.
- Better test coverage for input handling.
- 'make changelog/add' reminds about recent commits to help remember what's been done recently, regenerates the main CHANGELOG.md, and commits the result.
- Release workflow to release via GitHub Actions.
v0.1.2
- Default
product_name
torepo_name
- Automatically append
+ent
suffix for-enteprise
products unless there's already
any version metadata present. - Fix broken tests.
Development
- Added convenience script to set the current development version:
./dev/release/set_version
- Added git pre-push hook to check that tests pass, all docs are up to date and more.
v0.1.1
More conventional default zip name.
This means that e.g. actions-docker-build will guess the right
zip file name without explicit config.
v0.1.0
Fixed
- Uses the
-X
flag when zipping to exclude UID and GID info from the zip.
This seems to make the zip file more likely to reproduce correctly.
Improved
- Test cases now moved to their own reusable workflow which parameterises
the runner. This means there are half as many test cases defined,
and we just run the entire suite twice, once for linux and once for mac. - Test cases are now ready to be run on our own self-hosted runners as well
so we can exercise them in that environment. - When there is a zip mismatch, we now dump detailed info about the zip file
usingzipinfo
and we stat the product binary to aid with debugging. - Logging now uses bold and coloured text to highlight major passages
in the logs (bold blue) errors (bold red) and other important info
(just bold).