Releases: oreiche/justbuild
Releases · oreiche/justbuild
v1.2.5
Bug fixes on top of release 1.2.4
.
Fixes
- On errors reading expressions, the full import path is reported
in the error message. - Child processes are now properly waited for in all circumstances.
- Bootstrapping is now also supported if the build directory resides
in the source tree. just-mr
now reports the name of the build tool correctly, even
if not calledjust
.- Taintedness of "configure" targets is now propagated correctly.
- Missing atomic primitives added to the source code.
- A staging conflict in the test setup was fixed.
- The expression
"disjoint_map_union"
did not verify disjointness
in all cases; this is fixed now. - The command line option
"--remote-execution-property"
can be
repeated multiple times to list all the properties, but only the
last one was retained. This is fixed now.
v1.2.4
Bug fixes on top of release 1.2.3
.
Fixes
- The built-in rule
"install"
now properly enforces that the
resulting stage is well-formed, i.e., without tree conflicts. - Local execution and
just execute
now correctly create empty
directories if they are part of the action's input. - Fixed overwrite of existing symlinks in the output directory
when using subcommandsinstall
andinstall-cas
.
v1.2.3
Bug fixes on top of release 1.2.2
.
Fixes
- The cache key used for an export target is now based on the
export target itself rather than that of the exported target. The
latter could lead to spurious cache hits, but only in the case
where the exported target was an explicit file reference, and a
regular target with the same name existed as well. Where the new
cache keys would overlap with the old ones, they would refer to
the same configured targets. However, we used the fact that we
changed the target cache key to also clean up the serialization
format to only contain the JSON object describing repository,
target, and effective configuration, instead of a singleton list
containing this object. Therefore, old and new cache keys do not
overlap at all. In particular, no special care has to be taken
on upgrading or downgrading. However, old target-level cache
entries will not be used leading potentially to rebuilding of
some targets. - Fixed a race condition in an internal cache of
just execute
used for keeping
track of running operations. - Also symlinks are properly unlinked before installing on that
location.
v1.2.2
Bug fixes on top of release 1.2.1
.
Fixes
- Proper handling of fetch errors in
just-mr
- Portability improvements: bootstrapping with
-Wno-pedantic
,
case-insensitive naming, fixed version ranges in conditionals
v1.2.1
Bug fixes on top of release 1.2.0
.
Fixes
- Portability improvements to support a wider range of
system dependencies. - Portability improvement of the bundled absl version.
- Typos in man pages fixed.
v1.2.0
A feature release on top of 1.1.0
, backwards compatible.
Major new features
- Actions can now define additional execution properties and in
that way chose a specific remote execution image, as well as a
factor to scale the time out. This also applies to the built-in
generic
rule. Additionally, the remote-execution endpoint can
be dispatched based on the remote-execution properties using
the--endpoint-configuration
argument. - Relative non-upwards symbolic links are now treated as first-class
objects. This introduces a new artifact type and allows the free use
of such symbolic links throughout the build process. just-mr
can now optionally resolve symlinks contained in archives.
Other changes
just-import-git
now supports an option--plain
to import a
repository without dependencies.- Minor changes to the layout of the local build root; in particular,
left-over execution directories, as well as left-over temporary
directories ofjust-mr
, will eventually get cleaned up by
garbage collection. just-mr
now supports unpacking tar archives compressed with
bzip2, xz, lzip, and lzma.- The option
-P
ofbuild
andinstall-cas
can be used to
inspect parts of a tree. just-mr
now supports unpacking 7zip archives (with default
compression) when provided as"zip"
type repositories.- The configuration variable
COMPILER_FAMILY
is replaced by the more
flexibleTOOLCHAIN_CONFIG
, an object which may contain the field
FAMILY
. From now on, this object is used to set the compiler family
(e.g., for GNU, set{"TOOLCHAIN_CONFIG":{"FAMILY":"gnu"}}
).
Fixes
- Removed potential uses of
malloc
betweenfork
andexec
.
This removes the risk of deadlocks on certain combinations of
C++
standard library andlibc
. - The link flags for the final linking now can be set via the
configuration variableFINAL_LDFLAGS
; in particular, the stack
size can easily be adapted. The default stack size is now set to
8M, removing an overflow on systems where the default stack size
was significantly lower. - The man pages are now provided as markdown files, allowing to
potentially reduce the build dependencies to more standard ones. just-mr
now correctly performs a forced add in order to stage
all entries in a Git repository. Previously it was possible for
entries to be skipped inadvertently in, e.g., imported archives
ifgitignore
files were present.- Temporary files generated by
just execute
are now created inside
the local build root. just install-cas
now correctly handles--raw-tree
also for
remote-execution endpoints.just install-cas
now, likejust install
, removes an existing
destination file before installing instead of overwriting.- Only actions with exit code 0 that generated all required outputs
are taken from cache, instead of all actions with exit code 0.
This only affects remote execution, as purely local build didn't
cache actions with incomplete outputs.
v1.2.0-beta3-1692718990
Merge branch 'just-buildsystem:master' into github-ci
v1.1.3
Bug fixes on top of release 1.1.2
.
Fixes
just
no longer unnecessarily errors out on absence of
a working directory.just-mr
now correctly performs a forced add in order to stage
all entries in a Git repository. Previously it was possible for
entries to be skipped inadvertently in, e.g., imported archives
ifgitignore
files were present.- Temporary files generated by
just execute
are now created inside
the local build root. - Fix an issue in
just-mr
that caused the unpack of archives to
fail if they were compressed with bzip2.
v1.2.0-alpha-1689168349
Merge branch 'just-buildsystem:master' into github-ci
v1.1.2
Bug fixes on top of release 1.1.1
.
Fixes
- Removed another potential uses of
malloc
betweenfork
and
exec
. This removes the risk of deadlocks on certain combinations
ofC++
standard library andlibc
. - Fix bundled build of
ssl
oni686
.