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 createSSH_AUTH_SOCK
when run inside aWITH 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 whenEARTHLY_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 byearthly 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 useVERSION --explicit-global 0.6
.
๐ Changed
- โก๏ธ Updated buildkit to include changes up to 17c237d69a46d61653746c03bcbe6953014b41a5
๐ Fixed
- Ability to load a different
-
v0.6.4 Changes
January 17, 2022 -
v0.6.3 Changes
January 12, 2021๐ Changed
- โก๏ธ Updated buildkit to contain changes up to
15fb1145afa48bf81fbce41634bdd36c02454f99
frommoby/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 whereSNAPSHOT
dependencies are added frequently, an NPM project wherenode_modules
change frequently, or programming languages using incremental compilers. #1399 - Config file entries can be deleted using a
--delete
flag (for exampleearthly config global.conversion_parallelism --delete
). #1449 - ๐ Earthly now provides the following builtin ARGs:
EARTHLY_VERSION
andEARTHLY_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 settingstrict_host_key_checking
tofalse
under thegit
section ofearthly/config.yml
(defaults totrue
). - ๐ 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 toearthly config
commands. #1449 - ๐
known_host
entries were being ignored when custompattern
andsubstituted
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
vsssh [email protected]
).
- โก๏ธ Updated buildkit to contain changes up to
-
v0.6.2 Changes
December 01, 2021 -
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 asthe 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, 2021This 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 assumeVERSION 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 declareVERSION 0.5
or they don't declare a version at all.Declaring
VERSION 0.6
is equivalent toVERSION \ --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 Earthly0.5.*
is not able to run aVERSION 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 throughFROM
orCOPY
are no longer output locally.
To update existing scripts, you may issue a duplicate
BUILD
in addition to aFROM
(or aCOPY
), 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 likeEarthfile
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 topanic 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 theEARTHLY_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
andRUN --interactive-keep
have been promoted to GA #693. - ๐
IF
andFOR
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
afterRUN --push
is now GA #586. SAVE ARTIFACT --if-exists
andCOPY --if-exists
have been promoted to GA #588.- ๐ Shared cache and
--ci
mode are now GA #11. - ๐ New builtin args
USERPLATFORM
,USEROS
,USERARCH
, andUSERVARIANT
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.
- ๐ 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
-
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.
- cache export was not honoring