All Versions
63
Latest Version
Avg Release Cycle
12 days
Latest Release
558 days ago

Changelog History
Page 3

  • v0.6.8 Changes

    February 16, 2022

    🛠 Fixed

    • RUN --interactive command exit codes were being ignored.
    • RUN --ssh command were failing to create SSH_AUTH_SOCK when run inside a WITH DOCKER. #1672

    🔄 Changed

    • expanded help text for earthly account register --help.
  • v0.6.7 Changes

    February 09, 2022

    🌲 Log Sharing (experimental)

    🌲 This version of Earthly includes an experimental log-sharing feature which will 🏗 upload build-logs to the cloud when enabled.

    To enable this experimental feature, you must first sign up for an earthly account 📄 by using the earthly account register command, or by visiting https://ci.earthly.dev/

    🌲 Once logged in, you must explicitly enable log-sharing by running:

    earthly config global.disable_log_sharing false
    

    0️⃣ In a future version, log-sharing will be enabled by default for logged-in users; however, you will still be able to disable it, if needed.

    👀 When log-sharing is enabled, you will see a message such as

    Share your build log with this link: https://ci.earthly.dev/logs?logId=dc622821-9fe4-4a13-a1db-12680d73c442
    

    as the last line of earthly output.

    🛠 Fixed

    • 👯 GIT CLONE now works with annotated git tags. #1571
    • CACHE command was not working for versions of earthly installed via homebrew.
    • Autocompletion bug when directory has both an Earthfile and subdir containing an earthfile.
    • Autocompletion bug when directory has two subdirectories where one is a prefix of the other.

    🔄 Changed

    • earthly account logout raises an error when EARTHLY_TOKEN is set.
  • v0.6.6 Changes

    January 26, 2022

    ➕ Added

    • 🛠 Ability to change mounted secret file mode. fixes #1434

    🔄 Changed

    • Permission errors related to reading ~/.earthly/config.yml and .env files are now treated as errors rather than silently ignored (and assuming the file does not exist).
    • 🏗 Speedup from pre-emptive execution of build steps prior to them being referenced in the build graph.

    🛠 Fixed

    • earthly panic when running with SUDO_USER pointing to a user the current user did not have read/write permission; notably encountered when running under circleci.

    ✂ Removed

    • ✂ Removed --git-url-instead-of flag, which has been replaced by earthly config git ...
  • v0.6.5 Changes

    January 24, 2022

    ➕ Added

    • Ability to load a different .env file via the --env-file flag.
    • ➕ Added experimental feature than changes the ARGs defined in the +base target to be local, unless defined with a --global flag; To enable this feature use VERSION --explicit-global 0.6.

    🔄 Changed

    • ⚡️ Updated buildkit to include changes up to 17c237d69a46d61653746c03bcbe6953014b41a5

    🛠 Fixed

    • 0️⃣ failed to solve: image is defined multiple times for the same default platform errors. #1594, #1582
    • 🐳 failed to solve: image rmi after pull and retag: command failed: docker image rm ...: exit status 1: Error: No such image errors. #1590
  • v0.6.4 Changes

    January 17, 2022

    🛠 Fixed

    • Duplicate execution occuring when using ARGs. #1572, #1582
    • Overriding builtin ARG value now displays an error (rather than silently ignoring it).
  • v0.6.3 Changes

    January 12, 2021

    🔄 Changed

    • ⚡️ Updated buildkit to contain changes up to 15fb1145afa48bf81fbce41634bdd36c02454f99 from moby/master.

    ➕ Added

    • ⚡️ Expirmental CACHE command can be used in Earthfiles to optimize the cache in projects that perform better with incremental changes. For example, a Maven project where SNAPSHOT dependencies are added frequently, an NPM project where node_modules change frequently, or programming languages using incremental compilers. #1399
    • Config file entries can be deleted using a --delete flag (for example earthly config global.conversion_parallelism --delete). #1449
    • 🔖 Earthly now provides the following builtin ARGs: EARTHLY_VERSION and EARTHLY_BUILD_SHA. These will be generally available in Earthly version 0.7+, however, they can be enabled earlier by using the --earthly-version-arg. feature flag #1452
    • Config option to disable known_host checking for specific git hosts by setting strict_host_key_checking to false under the git section of earthly/config.yml (defaults to true).
    • 🏗 Error check for using both --interactive and --buildkit-host (which are not currently supported together). #1492
    • earthly ls [<project-ref>] to list Earthfile targets.

    🛠 Fixed

    • Gracefully handle empty string "" being provided as a value to earthly config commands. #1449
    • 📄 known_host entries were being ignored when custom pattern and substituted git config options were used (commonly used for self-hosted git repos)
    • Unable to connect to ssh server when known_hosts doesn't contain ssh-rsa host scan, but contains a different key-scan (e.g. ecdsa-sha2-nistp256, ssh-ed25519, etc).
    • 0️⃣ When git auth is set to ssh but no user is given, default to current user (similar to calling ssh example.com vs ssh [email protected]).
  • v0.6.2 Changes

    December 01, 2021

    🛠 Fixed

    • unexpected non-relative path within git dir bug when using case insensitive file systems #1426
    • Unable to access private GitHub repos #1421
  • v0.6.1 Changes

    November 29, 2021

    🛠 Fixed

    • 🏗 BUILD arguments containing a subshell ($(...)) were executed twice, and when +base target was empty would result errors such as the first command has to be FROM, FROM DOCKERFILE, LOCALLY, ARG, BUILD or IMPORT #1448
    • 🏗 TLS error (transport: authentication handshake failed: remote error: tls: no application protocol) when enabling buildkit mTLS #1439
    • Unable to save artifacts to local directory (.) #1422
  • v0.6.0 Changes

    November 24, 2021

    This version promotes a number of features that have been previously in Experimental and Beta status. To make use of the features in this version you need to declare VERSION 0.6 at the top of your Earthfile. If a version is not declared, then Earthly's interpreter will assume VERSION 0.5.

    ⚡️ If you are not ready to update your scripts to take advantage of VERSION 0.6, then you may upgrade Earthly anyway and your scripts should continue to work as before, provided that they either declare VERSION 0.5 or they don't declare a version at all.

    Declaring VERSION 0.6 is equivalent to

    VERSION \
      --use-copy-include-patterns \
      --referenced-save-only \
      --for-in \
      --require-force-for-unsafe-saves \
      --no-implicit-ignore \
      0.5
    

    It is recommended to use VERSION 0.6 instead as individual feature flags don't guarantee proper forwards-backwards compatibility. Note, however, that Earthly 0.5.* is not able to run a VERSION 0.6 Earthfile and will return an error.

    👀 For more information on the individual Earthfile feature flags see the Earthfile version-specific features page.

    🔄 Changed

    📜 <!--changelog-parser-ignore-start-->

    • 🏗 What Earthly outputs locally has changed in a way that is not backwards compatible. For an artifact or an image to be produced locally it needs to be part of a BUILD chain (or be part of the target being directly built). Artifacts and images introduced through FROM or COPY are no longer output locally.

    To update existing scripts, you may issue a duplicate BUILD in addition to a FROM (or a COPY), should you wish for the referenced target to perform output.

    For example, the following script

      FROM +some-target
      COPY +another-target/my-artifact ./
    

    could become

      FROM +some-target
      BUILD +some-target
      COPY +another-target/my-artifact ./
      BUILD +another-target
    

    in order to produce the same outputs.

    For more details see #896.

    • 🏗 The syntax for passing build args has been changed.

    Earthly v0.5 (old way)

      FROM --build-arg NAME=john +some-target
      COPY --build-arg NAME=john +something/my-artifact ./
      WITH DOCKER --build-arg NAME=john --load +another-target
        ...
      END
    

    Earthly v0.6 (new way)

      FROM +some-target --NAME=john
      COPY (+something/my-artifact --NAME=john) ./
      WITH DOCKER --load (+another-target --NAME=john)
        ...
      END
    

    Passing build args on the command-line has also changed similarly:

    Earthly v0.5 (old way)

      earthly --build-arg NAME=john +some-target
    

    Earthly v0.6 (new way)

      earthly +some-target --NAME=john
    

    This change is part of the UDC proposal #581. The old way of passing args is deprecated and will be removed in a future version (however, it still works in 0.6). 📜 <!--changelog-parser-ignore-end-->

    • If a SAVE ARTIFACT is unsafe (writing to a directory outside of the Earthfile directory), it'll require the --force flag.
    • .earthlyignore no longer includes any implicit entries like Earthfile or .earthlyignore. These will need to be specified explicitly. #1294
    • ⚡️ Buildkit was updated to d429b0b32606b5ea52e6be4a99b69d67b7c722b2. This includes a number of bug fixes, including eliminating crashes due to panic failed to get edge.

    ➕ Added

    • 🐳 Earthly now performs local image outputs to the local Docker daemon through a built-in registry. This speeds up the process drastically as common layers no longer need to be transferred over #500.
    • Earthly now enables additional parallelism to speed up certain operations that were previously serialized #888. Note that this setting was previously controlled by --conversion-parallelism flag or the EARTHLY_CONVERSION_PARALLELISM environment variable while in experimental stage. It has now been moved as part of the Earthly config and has been promoted to GA.
    • 🏗 COPY transfers are sped up as only the necessary files are sent over to BuildKit #1062.
    • 🐳 WITH DOCKER has been promoted to GA #576.
    • 🐳 FROM DOCKERFILE has been promoted to GA.
    • 📄 LOCALLY has been promoted to GA #580.
    • 📄 RUN --interactive and RUN --interactive-keep have been promoted to GA #693.
    • 📄 IF and FOR have been promoted to GA #779.
    • 👌 Support for Apple Silicon M1 has been promoted to GA #722.
    • 🏗 Multi-platform builds have been promoted to GA #536.
    • Mounting secrets as files have been promoted as GA #579.
    • 📄 VERSION has been promoted to GA #991
    • 📄 User-defined commands (UDCs) have been promoted to GA #581.
    • 👍 Allow running SAVE ARTIFACT after RUN --push is now GA #586.
    • SAVE ARTIFACT --if-exists and COPY --if-exists have been promoted to GA #588.
    • 📄 Shared cache and --ci mode are now GA #11.
    • 🆕 New builtin args USERPLATFORM, USEROS, USERARCH, and USERVARIANT which represent the platform, OS, architecture, and processor variant of the system Earthly is being called from #1251. Thanks to @akrantz01 for the contribution!
    • 🏗 Config option for buildkit's max_parallelism configuration. Use this to increase parallelism for faster builds or decrease parallelism when resources are constraint. The default is 20. #1308
    • 👌 Support for required ARGs (ARG --required foo) #904. Thanks to @camerondurham for the contribution!
    • 🏗 Extended auto-completion to be build-arg aware. Typing earthly +my-target --<tab><tab> now prints possible build-args specific to +my-target. #1330.
    • The console output now has an improved structure #1226.

    🛠 Fixed

    • ⚠ Eliminated some spurious warnings (ReadDataPacket failed, Failed to connect to terminal, failed to read from stdin and others) #1241.
    • 🛠 Minor fixes related to the experimental Podman support #1239.
    • 👌 Improved some error messages related to frontend detection #1250.
    • 🛠 Fixed Podman's ability to load OCI images #1287.
    • 🛠 Fixed homebrew installation on macOS 12. #1370, homebrew/earthly#13
    • 👍 failed due to failed to autodetect a supported frontend errors will now include underlying reason for failure
    • Cache export was not honoring EARTHLY_MAX_REMOTE_CACHE setting.
    • 🏗 Buildkit logs were not being sent to earthly-buildkitd container's output.
    • 🏗 kind required permissions were not available in earthly-buildkitd.
  • v0.6.0-rc3 Changes

    November 15, 2021

    🛠 Fixed

    • cache export was not honoring EARTHLY_MAX_REMOTE_CACHE setting
    • 🏗 buildkit logs were not being sent to earthly-buildkitd container's output.
    • 🏗 kind required permissions were not available in earthly-buildkitd.

    🔄 Changed

    • 🏗 docker and fsutils versions were set to match versions defined in earthly's buildkit fork.