Skip to content

Releases: oreiche/justbuild

v1.2.5

10 Apr 20:34
eb1a316
Compare
Choose a tag to compare

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 called just.
  • 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

19 Dec 12:45
2c58785
Compare
Choose a tag to compare

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 subcommands install and install-cas.

v1.2.3

17 Nov 13:42
233efd6
Compare
Choose a tag to compare

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

17 Oct 16:11
eb8626f
Compare
Choose a tag to compare

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

26 Sep 10:56
192a30f
Compare
Choose a tag to compare

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

25 Aug 17:21
43d9a85
Compare
Choose a tag to compare

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 of just-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 of build and install-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
    flexible TOOLCHAIN_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 between fork and exec.
    This removes the risk of deadlocks on certain combinations of
    C++ standard library and libc.
  • The link flags for the final linking now can be set via the
    configuration variable FINAL_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
    if gitignore 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, like just 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

23 Aug 09:12
afb34f0
Compare
Choose a tag to compare
Pre-release
Merge branch 'just-buildsystem:master' into github-ci

v1.1.3

19 Jul 09:39
978863c
Compare
Choose a tag to compare

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
    if gitignore 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

13 Jul 11:07
e71e220
Compare
Choose a tag to compare
Pre-release
Merge branch 'just-buildsystem:master' into github-ci

v1.1.2

09 Jun 22:54
7730579
Compare
Choose a tag to compare

Bug fixes on top of release 1.1.1.

Fixes

  • Removed another potential uses of malloc between fork and
    exec. This removes the risk of deadlocks on certain combinations
    of C++ standard library and libc.
  • Fix bundled build of ssl on i686.