Releases: simplesurance/baur
Releases · simplesurance/baur
v3.4.2
Release Notes
Changes
- 3. party packages updates
baur show
: now shows the Config Files of an app after the Name line
Bugfixes
baur run
does not panic anymore on some errors when a command is executed. This happened for example if the path to the executed binary did not exist.
Full changelog: v3.4.1...v3.4.2
v3.4.1
Release Notes
Changes
- built with Golang 1.22
- 3. party packages updates
- Golang Input Resolver
- Improved error message when executing
go env
fails
- Improved error message when executing
Bug Fixes
- Golang Input Resolver
- When baur was not run from the application directory and Golang sources
were resolved via afileglob
pattern that matched multiple main packages,
the result only contained the source files for one of them.
file=
andfileglob=
patterns are now always converted to
absolute paths before to prevent the issue. - When
go env
was invoked when resolving Golang input files, it was run in
the current directory instead of the application directory.
No cases are known where it caused issue, allgo env
variables
that are read and used are normally the same independent of the execution
directory.
- When baur was not run from the application directory and Golang sources
Full changelog: v3.4.0...v3.4.1
v3.4.0
Release Notes
Changes
- JSON Support:
The commandsbaur ls apps
,baur status
andbaur ls outputs
now support
JSON as output format via the new--format=json
parameter.
The--csv
parameter is deprecated in favor of--format=csv
. - Change Tracking:
- Symlinks in input file paths are now resolved and tracked.
Tasks are rerun when:- a symlink is replaced with their target file and vice-versa,
- a symlink target path is changed to a file that has the same content
then the previous one,
- On Unix systems, changes of the executable bit of the owner of InputFiles
are now tracked, changes trigger tasks reruns.
- Symlinks in input file paths are now resolved and tracked.
- Shell Completion:
Completion for the--repository
parameter is limited to directory paths. - 3. party package updates
Bug Fixes
baur run
: when--show-task-output
or--verbose
was passed, the output of
the executed command was interpreted as format string for the log-printf
function, this resulted in unexpected output.
Full changelog: v3.3.0...v3.4.0
v3.3.0
Release Notes
Changes
- baur now supports to query git object IDs from a git repository and use them as file digests.
This is faster then having to read each file and calculate it's digest.
Object IDs for untracked or modified files are calculated by runninggit hash-object
.
For non-git repositories, input file digest calculation remains as before, the SHA384 of their content is calculated. - added global
--repository
parameter, to specify a path to the baur repository, enabling runningbaur
from outside of a baur repository
v3.2.0
Release Notes
Changes
- For task artifacts that are uploaded to S3 , baur now stores the
s3://<BUCKET>/<OBJECT-ID>
URI instead of the https path-style URL of the S3 object. - baur run and baur status: got a new
--require-clean-git-worktree
parameter, when passed and the git repository of the baur project contains files that are not tracked or have been modified and not commited baur will fail - baur run
- When the execution of a task command fails, the execution directory, the executed binary and it
s argument, if the process was killed by a signal or if broken pipe occurred is now included in the error message, the text coloring has also been improved - When the output of the command is streamed and error occurs during streaming, the error message contains the name of the stream
- When the execution of a task command fails, the execution directory, the executed binary and it
- Release artifacts built with Go 1.21.6
Bug Fixes
- baur run:
- fixed that when writing to one of the output channels failed, the error message about the command execution could lack the last stdout and stderr output of the command
- fixed that when
--verbose
was passed, newlines were duplicated in the streamed output
Semantic Versioning from Next Minor Version
From baur 3.3.0 on the semantic versioning rules will only be applied to the CLI and database scheme of baur.
The public API of the baur Go packages will be excluded from semantic versioning.
v3.1.1
Release Notes
Changes
baur run
: when running a command and--show-task-output
is not passed, it's output is not splitted into lines and unnecessarily anymore- Third party aws packages were updated
Bug Fixes
- when
--show-task-output
is passed tobaur run
and an executed command prints lines longer then 512KB to stdout or stderr, the execution of the command won't fail anymore. Instead a message will be logged and streaming the output is stopped.
Full changelog: v3.1.0...v3.1.1
v3.1.0
Release Notes
Changes
- Binaries built with Go 1.21.5
- Third-party packages updated
baur run
- Significantly reduced memory consumption when running task commands that generate a lot of output
- When
--show-task-output
is passed, the stderr output from the command is now colored red - On error only the first and last 8KB of output per stdout and stderr is shown, instead of the complete output
- On error the stdout and stderr output of the task are shown consecutively instead of intermixed
Full changelog: v3.0.1...v3.1.0
v3.0.2
Release Notes
Changes
- entries in the
application_dirs
list in the.baur.toml
file are now
deduplicated, to prevent that baur searches the same directory twice if it
is listed multiple times - built with go 1.20
- 3. party package updates:
- github.com/aws/aws-sdk-go-v2
- github.com/bmatcuk/doublestar/v4
- github.com/containerd/containerd
- github.com/docker/docker
- github.com/fatih/color from 1.13.0 to 1.15.0
- github.com/fsouza/go-dockerclient from 1.9.0 to 1.9.7
- github.com/jackc/pgx/v4 from 4.17.2 to 4.18.1
- github.com/spf13/cobra from 1.6.1 to 1.7.0
- github.com/stretchr/testify from 1.8.1 to 1.8.2
- golang.org/x/tools from 0.3.0 to 0.9.1
Bug Fixes
- if an application was discovered by multiple
application_dirs
entries in
the.baur.toml
file,baur ls apps
andbaur status
listed it multiple
times, instead of once, when the commands were called without specifiers.
v3.0.1
Release Notes
Changes
- built with go 1.19.4
- 3. party package updates:
- github.com/aws/aws-sdk-go-v2/service/s3
- github.com/aws/aws-sdk-go-v2/feature/s3/manager
Bug Fixes
- when the
baur
process got killed while it executed a command for a task, the task process continued to run.
On Linux and FreeBSD the task process is now terminated via SIGKILL when thebaur
process gets killed.
The issue still persists on other OSes (#403).
Full changelog: v3.0.0...v3.0.1
v3.0.0
Release Notes
The version brings support for environment variable inputs, excluding files from
inputs by glob patterns, better shell completion support and major performance
improvements when resolving input files.
The configuration files and the database schema is not compatible with
version 2. Upgrade instructions and documentation can be found in the Wiki.
Changes
New Features
Input Resolvers
- Environment variables can be tracked as inputs of tasks in the new
Input.EnvironmentVariables
config section - Files can be excluded from inputs by specifying glob patterns in a
Input.ExcludedFiles
config file section
Command Line
- support to generate shell completion scripts for
- fish via
baur init fishcomp
, - zsh via:
baur init zshcomp
, - powershell via:
baur init powershellcomp
- fish via
- shell completion completes arguments to app-names, task-names, task-ids and
application directories, when the completion is done inside a baur repository.
Arguments are not completed anymore to files or directories if those are not
supported by the command. baur upgrade db
: is a new command to upgrade the database schema to the current
versionbaur init bashcomp
got a--stdout
parameter to write the completion script
to stdout
Enhancements
-
Inputs:
- the performance penalty of enabling
git_tracked_only
for file inputs is
gone, resolving inputs withgit_tracked_only
enabled is now similar fast
then without - performance of resolving and hashing input files was improved,
- multiple
**
patterns in an input file path can now be specified, instead
of only 1 occurrence
- the performance penalty of enabling
-
Misc:
baur init bashcomp
now prints how to load the written shell completion script- build with go 1.19.3
- third party package updates
- windows binaries are now provided in .zip instead of .tar.xz archives
- windows/arm64 release binaries are created
- a signed file containing release file checksum is provided
Bug fixes
- input file paths are correctly calculated when
baur
is invoked in path were
the repository root directory is a symlink
Full changelog: v2.2.0...v3.0.0