All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Core: Container names may start with
/
, breaking our checks - Docs: Mistake in field type for Commands
- Core: Add HTTP and TCP Services and require them running
- Core: Add loading environment variables from the system
Release v1.0
- Core:
build_tool::ensure_steps_are_build
for building a custom set of steps - Cli2:
build
(b
,make
) subcommand for building a build step
- Cli:
hisho_cli
has been removed.
- Core:
git::fetch_repo_vars
now includesbranch
,commit_commiter_name
andcommit_committer_email
. - Core:
arg_parse::parse
a simple argument parser for flags and options - Cli2: Start implementation of a new Clap based command line interface
- Cli2: Support option parsing for
arg.
templates - Cli2: Print project commands in help output
- Cli2:
run
now as the aliasesr
andcmd
- Cli: hisho_cli is now deprecated, please use hisho_cli2 instead
- Process now has
cwd
to specify the current working directory where the command is executed
- Split Hisho into
hisho_core
andhisho_cli
crates - Core: Moved
impl
blocks fromconfig
module toconfig_models
module - Core: Renamed
config
module toenvironment
module - Core: Renamed
build
module tobuild_tool
module - Core: Make
resolve_files_from_globs
inbuild_tool
module public - Core: Make
get_home_dir
infiles
module public
- Core: Make
render_environment_value
intemplate
module private
- BREAKING:
capture_all
as removed from Command and[[argv]]
was added for Process argument templates
Tag v0.5.0 as v1.0.0-rc.1 in preparation for a stable release.
There might still be breaking changes before 1.0 stable!
- Git commit_sha, commit_sha_short, commit_date (in ISO8601 format), commit_author_name and commit_author_email available in templates via
git
- Container names can now be templated based on the command environment
- Hisho exists when a container does not exist or can not be started
- BREAKING: BuildStep now takes a list of Processes for its
shell
field - Resolve Git repository relative to the project file, even when
--hisho:file=
is given - Resolve
~
in a given--hisho:file=
path to the users home directory - Resolve environment sources relative to project file
- BuildStep commands are not passed through the template engine twice
- BREAKING: Renamed service_helper to Hisho
- BREAKING: Renamed default file from
service.ron
tohisho.ron
- BREAKING: Renamed
Service
toProject
in configuration files.
- when a container had an empty name, all the existing and stopped containers where started
input_files
vector on BuildStep to get a list of files by glob pattern as{{build.input_files}}
name
of BuildStep as{{build.name}}
--service:file
argument can be used to specify the service ron file to load, defaults toservice.ron
- Cyclic dependencies in environments
- Cyclic dependencies in build steps
- Print message when reading or parsing env file failed
Service: Could not find environment:\n
is not printed when environment is empty
- BREAKING: Templates are now scoped, with
arg.
for command line arguments andenv.
for defined environment variables.
sources
string array onEnvironment
to define .env files to be loaded
- If no shell is defined, Commands exit after running build steps.
- Code improvements
- Build Targets that need to succeed
- Containers that need to run
- Commands