Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
296 commits
Select commit Hold shift + click to select a range
a4122a2
hack to allow localhost execution (#24)
Jan 22, 2021
08299de
Remove executor import to fix broken darwin build (#25)
Jan 28, 2021
7fd6b81
Merge branch 'master' into vlad/update-buildkit
vladaionescu Jan 29, 2021
c2e9a46
Merge branch 'earthly-main' into vlad/update-buildkit
vladaionescu Jan 30, 2021
3bc28db
Support for requesting local files from client (#26)
Feb 5, 2021
1552889
Fix broken darwin build (#27)
Feb 5, 2021
60e9352
Fix issue where only single ref is used rather than refs (#29)
Feb 18, 2021
33b7511
Don't save image
vladaionescu Feb 22, 2021
dd44bfe
Add support for copying files from containers to the localhost at any…
Feb 23, 2021
cd1c998
Merge branch 'master' into vlad/update
vladaionescu Feb 25, 2021
38aba1d
Make use of working dir when executing locally (#32)
Mar 9, 2021
b16377d
Only mkdir when dir is specified (#33)
Mar 10, 2021
7c262c8
Retry on timeouts and temporary network failures.
vladaionescu Mar 23, 2021
8e86488
Increase retries for flightcontrol.
vladaionescu Mar 23, 2021
918df8e
Limit parallelism of the worker (#34)
vladaionescu Mar 24, 2021
81d7726
Increase some timeouts to improve stability with high parallelism.
vladaionescu Mar 30, 2021
9023ed8
Increase some timeouts to improve stability with high parallelism.
vladaionescu Mar 30, 2021
5b54467
Revert increasing some timeouts as they do not help.
vladaionescu Mar 30, 2021
d20d543
ensure stream is closed in localhost provider (#36)
Apr 1, 2021
008b1ea
Wait for the client to finish writing the file (#37)
Apr 8, 2021
1a82cfa
Merge branch 'master' into vlad/update
vladaionescu Apr 12, 2021
c1749df
Update buildkit (#40)
Apr 28, 2021
4f1c968
Ability for the Earthly exporter to export locally via a registry (#39)
vladaionescu May 28, 2021
eaf43d0
Unlazy in Earthly exporter for all cases.
vladaionescu May 28, 2021
f8bf147
Use separate providers for push, tar and local reg exports. (#41)
vladaionescu May 28, 2021
3f9630f
Increase initial window size for grpc communication (#42)
vladaionescu Jun 3, 2021
0c59578
Merge branch 'master' into vlad/update
vladaionescu Jun 3, 2021
f8962cb
Fix build.
vladaionescu Jun 3, 2021
a4f2dad
Remove the old parallelismSem implementation.
vladaionescu Jun 3, 2021
c896a90
Reduce diff compared to upstream.
vladaionescu Jun 4, 2021
0002590
vendor earthly/fsutil (#44)
Jun 9, 2021
467c8f2
Update buildkit (#46)
Jul 7, 2021
199ad6a
Update buildkit (#48)
Jul 28, 2021
c409b3d
Corey/more privilege (#49)
dchw Aug 2, 2021
f3e6e96
Allow to also base off the rootless target (#50)
dchw Aug 15, 2021
8dbeab9
Acb/update buildkit (#52)
Oct 19, 2021
91fc05f
Acb/update buildkit (#53)
Oct 26, 2021
f4a6076
Apply Earthly changes to newer buildkit version
Oct 27, 2021
ab1a2e4
Merge remote-tracking branch 'earthly/earthly-main' into acb/manual-r…
Oct 28, 2021
3161e25
Acb/earthly main (#54)
Oct 28, 2021
4d51c04
Merge pull request #55 from earthly/acb/earthly-main
Oct 28, 2021
b951456
Merge remote-tracking branch 'earthly/earthly-main' into HEAD
Oct 29, 2021
d8349d6
Merge pull request #56 from earthly/acb/update-buildkit
Oct 29, 2021
68b15b7
send logrus logs to stderr
Nov 10, 2021
9027211
Merge pull request #58 from earthly/acb/logrus-stderr
Nov 10, 2021
f6a399c
Kind was broken by this accidential regression.
dchw Nov 12, 2021
f3ff010
Merge pull request #57 from earthly/corey/fix-kind
dchw Nov 12, 2021
e11f449
perform builds on earthly-main
Nov 12, 2021
438a263
Merge pull request #59 from earthly/update-ci-for-earthly-main
Nov 12, 2021
0b1a160
Merge remote-tracking branch 'earthly/earthly-main' into HEAD
Dec 14, 2021
975c279
force lazyCacheManager.wait to ensure session is active
Nov 20, 2021
ca354fe
Merge pull request #65 from earthly/acb/update
Dec 14, 2021
82d1566
Merge remote-tracking branch 'moby/master' into acb/update-buildkit
Jan 6, 2022
0177ad8
Merge pull request #66 from earthly/acb/update-buildkit
Jan 7, 2022
7f30fde
Merge remote-tracking branch 'moby/master' into hack
Jan 18, 2022
081355e
update fsutil
Jan 18, 2022
8d4eb6b
Merge pull request #68 from earthly/acb/update-buildkit
Jan 18, 2022
8a1a89c
Merge remote-tracking branch 'moby/master' into earthly-main
Jan 31, 2022
60bb7fe
Merge pull request #69 from earthly/acb/update-buildkit
Feb 8, 2022
1dafcac
Fix invalid layer index error
vladaionescu Feb 17, 2022
1c2e5f1
Merge pull request #71 from earthly/vlad/fix-invalid-layer-index
vladaionescu Feb 17, 2022
73b420b
Add a podman config attachable, to allow loading config from Podman's…
dchw Feb 18, 2022
6cd1084
Fix printed variable in warning.
dchw Feb 18, 2022
f95d211
Use debug logger; and early-exit to Docker style if missing.
dchw Feb 22, 2022
dbcbf88
Update session/auth/authprovider/podman.go
dchw Feb 22, 2022
b4a97a8
Merge pull request #72 from earthly/corey/add-podman-config-attachable
dchw Feb 22, 2022
f7a54ba
Include a timestamp in files output locally.
vladaionescu Mar 2, 2022
7c55df7
Merge pull request #73 from earthly/vlad/local-output-ts
vladaionescu Mar 2, 2022
e59b6d6
Add VERSION to the Earthfile
vladaionescu Mar 25, 2022
f3a14f0
Merge pull request #74 from earthly/vlad/add-version-earthly
vladaionescu Mar 25, 2022
e06364d
fix: sendLocally should respect cwd
Mar 30, 2022
b011dd2
Use cwd when copying files from local target
Mar 30, 2022
f126d5c
Merge pull request #75 from earthly/acb/send-files-with-cwd
Mar 30, 2022
6356863
Add ClientOpt to allow adding metadata to outgoing gRPC requests.
dchw Apr 26, 2022
1a19dba
Comment for public option.
dchw Apr 26, 2022
c70ce32
Update client/client_earthly.go
dchw Apr 26, 2022
a3a7a30
Merge pull request #76 from earthly/corey/add-headers-client-opt
dchw Apr 26, 2022
c571589
Adds Export call to gateway client
May 5, 2022
26a8978
Merge pull request #77 from earthly/acb/save-image
May 27, 2022
6b5fc87
ssh-keyscan should use configured port
May 30, 2022
e0de996
Merge pull request #78 from earthly/acb/sshkeyscan-port
Jun 1, 2022
3106702
Support TLS connection without certificate
brandonSc Jun 20, 2022
de75b35
Merge pull request #80 from earthly/brandon/squash-previous-commits
brandonSc Jun 20, 2022
90d3428
Merge branch 'master' into vlad/update5
vladaionescu Jul 7, 2022
14ae8f3
Remove old opentelemetry replace.
vladaionescu Jul 7, 2022
e88f0a7
Update fsutil to feae5c0ecda934a59e9c0ea03ef402f4861f4bcd.
vladaionescu Jul 8, 2022
5edef27
Fix merge conflicts, lint etc.
vladaionescu Jul 8, 2022
6f5b5dc
Temporarily remove --link from Dockerfile COPY commands.
vladaionescu Jul 8, 2022
d33d80f
Remove unnecessary TODO.
vladaionescu Jul 8, 2022
f9b1fc1
Merge pull request #81 from earthly/vlad/update5
vladaionescu Jul 8, 2022
774a315
Add additional info items to buildkit API.
vladaionescu Jul 8, 2022
04bab2d
Merge pull request #82 from earthly/vlad/info
vladaionescu Jul 8, 2022
d094947
Expose GC analytics in ListWorkers call.
vladaionescu Jul 13, 2022
5d5cbd8
Merge pull request #83 from earthly/vlad/gc-analytics
vladaionescu Jul 14, 2022
35e7d48
wait for lazycachemanager in parallel
Jul 15, 2022
e484565
Merge pull request #84 from earthly/acb/wait-outside-of-mutex
Jul 15, 2022
8252b6e
Add annotations to resp and to pull-ping callback in Earthly exporter.
vladaionescu Jul 15, 2022
a2a3e38
Merge pull request #85 from earthly/vlad/output-resp
vladaionescu Jul 16, 2022
e0f9a1c
Make GC analytics backwards compatible.
vladaionescu Jul 19, 2022
47e3616
Merge pull request #86 from earthly/vlad/gcbackwards
vladaionescu Jul 19, 2022
f76dde0
verbose progress callbacks for receiving files
Jul 20, 2022
7a6f9e1
Merge pull request #87 from earthly/acb/update-fsutils
Jul 21, 2022
bf92a53
Add loggable, configurable timeout
dchw Aug 2, 2022
f64f845
Fix test failures
dchw Aug 3, 2022
0b5cf19
Merge pull request #89 from earthly/corey/configurable-logging-timeout
dchw Aug 3, 2022
4be36d4
Small change to make it more merge-friendly
dchw Aug 3, 2022
691e730
Merge pull request #90 from earthly:corey/merge-friendly
dchw Aug 4, 2022
9a215e6
Add ShutdownIfIdle call to buildkit.
vladaionescu Aug 12, 2022
31506ef
Merge pull request #91 from earthly/vlad/shutdown-if-idle
vladaionescu Aug 12, 2022
fc482ef
Add automatic retries to buildkit client calls.
vladaionescu Aug 17, 2022
fd74555
Merge pull request #93 from earthly/vlad/retry
vladaionescu Aug 18, 2022
778351b
add 'secondsIdle' to Info rpc
brandonSc Aug 18, 2022
3b049bf
Merge pull request #92 from earthly/brandon/seconds-since-last-run
brandonSc Aug 18, 2022
b3bc39b
new reserve endpoint
brandonSc Aug 24, 2022
64d715d
Merge pull request #94 from earthly/brandon/reservation-endpoint
brandonSc Aug 24, 2022
df14b07
mountable unix socket
Sep 2, 2022
9c256c1
Merge pull request #95 from earthly/acb/socketforward
Sep 13, 2022
239e43d
use WithStack instead of Wrap
brandonSc Sep 22, 2022
e395073
Merge pull request #96 from earthly/brandon/reserve-error-fix
brandonSc Sep 22, 2022
e0e4649
No timeout for pullping.
vladaionescu Oct 19, 2022
61efbde
Merge pull request #101 from earthly/vlad/no-pullping-timeout
vladaionescu Oct 19, 2022
aa7bb7f
Merge commit 'c717d6aa7543d4b83395e0552ef2eb311f563aab' into ryan/mer…
r-LaForge Oct 26, 2022
75bffa4
Merge pull request #103 from earthly/ryan/merge-commit-upstream-c717d…
r-LaForge Oct 26, 2022
45f61b8
Squashed hooks work
dchw Oct 20, 2022
53d3f36
Fix test constructor call
dchw Oct 20, 2022
ad8764d
Update cmd/buildkitd/config/config.go
dchw Oct 27, 2022
d599fe5
Update worker/runc/runc.go
dchw Oct 27, 2022
5acdfdf
Bring back earthly-specific changes to Dockerfile
r-LaForge Oct 28, 2022
bc0317b
Merge pull request #106 from earthly/ryan/dockerfile-earthly-buildkit
r-LaForge Oct 28, 2022
69f7944
bring back a test line
r-LaForge Oct 28, 2022
1b71708
add back more test assertions what were previously taken out
r-LaForge Oct 28, 2022
4d7c130
Merge pull request #100 from earthly/corey/use-oom-hook
dchw Oct 28, 2022
9c95e99
Merge pull request #107 from earthly/ryan/reinvestigating-buildkit-merge
r-LaForge Nov 8, 2022
cac1c3e
Merge remote-tracking branch 'moby/master' into acb/update-buildkit
Nov 8, 2022
f46745e
Merge pull request #109 from earthly/acb/update-buildkit
Nov 9, 2022
c09ea1a
prevent long lived connection reuse
alexcb Feb 17, 2023
d6934ee
Merge pull request #114 from earthly/acb/timeout-tweaks
Feb 17, 2023
f707f66
Merge commit '4451e1be0e6889ffc56225e54f7e26bd6fdada54' into hack
alexcb Mar 1, 2023
7a2a64e
support rosetta emulator
Mar 6, 2023
a428b58
Add earthly-specific comments for future merge conflicts; mount proc …
Mar 7, 2023
f8a5153
Merge pull request #117 from earthly/ido-rosetta-support
Mar 7, 2023
414d20a
fix: nil pointer bug
alexcb Mar 14, 2023
3946dd6
Merge pull request #118 from earthly/acb/dont-assign-to-nil
Mar 14, 2023
152fabf
Merge commit '6b004d3536b07b33f3536e999f1e3a771cbc7c74' into hack
alexcb Mar 15, 2023
55e715e
earthly exporter fixes
alexcb Mar 15, 2023
f3e9889
Merge commit 'abcab1426b1c2a2201c4e5665f99f399273047a9' into hack
alexcb Mar 23, 2023
4e3d25f
Merge commit '617b78cb69a5d937d4fbe023c269f4d84d80252f' into hack
alexcb Mar 23, 2023
055b14a
Merge commit '4a778a23d4e730206f343d832b674ba439c0cfb1' into hack
alexcb Mar 23, 2023
4f659f3
Merge commit '03d8feb1c2fb578547865e2141ca7090e3aa29b3' into hack
alexcb Mar 24, 2023
5d6a057
Merge commit '1a763767cb2bffbcc9c9b410050574be16b8a1c9' into hack
alexcb Mar 24, 2023
d7a7e4d
Merge commit '2ee0bcec7d72b4c74b48238b58d338da63ba19df' into hack
alexcb Mar 24, 2023
acacc6f
Merge commit 'fd0c25c7478b0ac91206deecd24e646b2a2b3e56' into hack
alexcb Mar 24, 2023
6dcc52b
Merge commit 'bbb1ec0997353387dfe4c1e2b7621496303901d9' into hack
alexcb Mar 24, 2023
3b22eeb
Merge commit 'ad15d56eefd4f9a500ae3597da9012bad62a848f' into hack
alexcb Apr 4, 2023
c3d7617
method for setting build context
alexcb Mar 24, 2023
1c21c4c
Merge commit '3187d2d056de7e3f976ef62cd548499dc3472a7e' into hack
alexcb Apr 4, 2023
1701faf
fix test that requires session.NewManager params
alexcb Apr 10, 2023
4e601ed
hostBindMount: add a Source path for mountopts.FixUp
nelsam Apr 22, 2023
c74acba
gitsource: perform lfs pull when specified
alexcb May 3, 2023
9ca3c6b
Merge pull request #4 from earthly/sam/unpriv-bindmount-fix
nelsam May 11, 2023
0da0240
include git stderr in error message
alexcb May 11, 2023
b377e91
Merge commit '60d134bf7' into earthly-main
alexcb May 30, 2023
b40fac9
include git command in EARTHLY_GIT_STDERR
alexcb May 29, 2023
dc778eb
dont pull LFS files automatically
alexcb May 29, 2023
697d0f4
llbsolver: set temporary lease in Commit context
Jun 7, 2023
250b5cb
add session history endpoint
brandonSc Jun 8, 2023
20ce3b1
Merge pull request #9 from earthly/brandon/session-reporting
brandonSc Jun 8, 2023
cc591ca
add client for session history
brandonSc Jun 8, 2023
57d319a
Merge pull request #11 from earthly/brandon/fix-buildkit-client
brandonSc Jun 8, 2023
5bcd249
Merge commit '3c4e8f59599d8d61ca426a099b849cff146e7ce4' into earthly-…
Jun 8, 2023
0b68466
session timeout
brandonSc Jun 16, 2023
3e28920
Merge pull request #14 from earthly/brandon/session-timeouts
brandonSc Jun 16, 2023
f2adb53
include buildkit version in logs
Jun 20, 2023
14ace84
increase lease duration to prevent GC
Jun 21, 2023
e0f2b80
merge cdf28d6fff9583a0b173c62ac9a28d1626599d3b
Jul 4, 2023
6c53e63
keep ResponseHeaderTimeout value for now
Jul 10, 2023
71894c3
Merge pull request #18 from earthly/acb/dont-revert-response-header-t…
Jul 10, 2023
6f855c3
Open files for local writes with truncate flag
Jul 12, 2023
cf348cf
Merge pull request #19 from rrjjvv/local-copy-overwrite-fix
Jul 14, 2023
9574b42
Merge remote-tracking branch 'moby/master' into acb/merge-upstream
Jul 25, 2023
2b7fc7d
Use min instead of max caching during the build provenance stage of a…
dchw Jul 25, 2023
97d5352
Merge remote-tracking branch 'earthly/earthly-main' into acb/merge-up…
Jul 27, 2023
6d9a29f
emit extra debug info on scheduler errors
Aug 10, 2023
c7693eb
Do not cause control client status to fail on canceled.
vladaionescu Aug 22, 2023
53fc896
Revert "Do not cause control client status to fail on canceled."
mikejholly Aug 30, 2023
8df7c52
Merge pull request #24 from earthly/mh/revert-cancel
mikejholly Aug 30, 2023
343404c
Registry proxy
mikejholly Sep 27, 2023
af796f0
Merge pull request #25 from earthly/mh/registry-proxy
mikejholly Sep 28, 2023
f3b4f01
Use lower level TCP
mikejholly Sep 29, 2023
0fde422
Merge pull request #26 from earthly/mh/regproxy-v2
mikejholly Oct 3, 2023
7dfd9c2
Add support for Caps to registry service
mikejholly Sep 29, 2023
edd19e4
Merge commit 'e5afd84534e7ed8b1a1b648e920a62d1c50d086f' into acb/upst…
Oct 13, 2023
6cce299
solver: protect against nil rres upon errors
Oct 11, 2023
0b107b0
solver: fix issue with double merged edges
tonistiigi Sep 28, 2023
d5e9d25
Use read deadline for registry server read
mikejholly Oct 23, 2023
c7c1f7a
Merge remote-tracking branch 'moby/master' into acb/update-buildkit
alexcb Oct 30, 2023
b4cfdf1
collect cpu and memory stats for each container
alexcb Nov 3, 2023
b61b1c9
dont log context canceled errors
Nov 17, 2023
54a4452
improve push failure errors
alexcb Nov 23, 2023
8fa3be1
track actives map usage for use in error reporting
alexcb Nov 30, 2023
086f60e
Support supplying a custom Git sshCommand (earthly/earthly#3499)
weaversam8 Nov 17, 2023
a552655
Merge commit '585d8c719ab77ed07380656dd95a986628bca78c' into acb/upda…
alexcb Jan 26, 2024
de54320
Allow for a custom timeout on exec ops
mikejholly Feb 7, 2024
fbd249f
Merge pull request #42 from earthly/mh/exec-time-limit
mikejholly Feb 8, 2024
0be6bbd
update runc to 1.1.12
alexcb Mar 7, 2024
d0245fe
update alpine
alexcb Mar 7, 2024
20d4e2f
chore: remove accidentally added Printf
alexcb Mar 11, 2024
19c0eb7
chore: fix minor typos in scheduler_test.go
jedevc Jan 17, 2024
f7c4974
chore: update merging log message to include index
jedevc Jan 17, 2024
54c7457
progress: add panic for multiwriter cycles
jedevc Jan 17, 2024
6d042bf
scheduler: always edge merge in one direction
jedevc Jan 16, 2024
422af49
test: add a test for cyclic merges
jedevc Jan 16, 2024
594835b
Indicate if token is an anonymous token
alexcb Apr 19, 2024
e163acd
feat: allow option for client to use grpc dialer
brandonSc May 15, 2024
531b303
Merge pull request #59 from earthly/brandon/http-proxy
brandonSc May 15, 2024
4733dac
kick ci tyres (#1)
gilescope Jul 30, 2025
143b22e
fix: username now not a secret (#3)
gilescope Aug 7, 2025
3555e1c
chore: pass "on push pr" workflows (#6)
janishorsts Sep 21, 2025
70cf987
ci: add earthly count (#7)
janishorsts Sep 24, 2025
c40c767
fix: ensure minimum ulimits (#10)
gilescope Feb 19, 2026
67d0d85
Merge remote-tracking branch 'moby-buildkit/master'
kmannislands Apr 8, 2026
31fd25f
Fix getGitSSHCommand test to match earthly's extended signature
gilescope Apr 9, 2026
6fd9aa6
Update OCI hooks to use containerd v2 imports
gilescope Apr 9, 2026
9046e48
Replace CloneVT with value copy for vendored fsutil compatibility
gilescope Apr 9, 2026
13d4d82
Add fsutil types proto include path for protoc generation
gilescope Apr 9, 2026
dcdf577
Fix NewWorkerOpt argument order for earthly hooks and CDI manager
gilescope Apr 9, 2026
98fda15
Fix OCI hooks: Env field bug and deprecation lint warning
gilescope Apr 9, 2026
d018ede
Fix golangci-lint issues in earthly-specific code
gilescope Apr 9, 2026
d8293f6
Fix gopls analyzer and gocritic lint issues in earthly-specific code
gilescope Apr 9, 2026
eb6df62
Fix gofmt import ordering in earthly exporter
gilescope Apr 9, 2026
b092f90
Fix gopls unused parameter warnings in earthly-specific code
gilescope Apr 9, 2026
d62820a
Fix git CLI error wrapping breaking upstream error detection
gilescope Apr 9, 2026
cd2e503
Remove stale vendored dependencies after containerd v2 migration
gilescope Apr 10, 2026
6e5e1e0
Fix validate-generated-files: regenerate protos with modern protoc
gilescope Apr 10, 2026
5638371
fix: point to latest fsutil
gilescope Apr 10, 2026
5a8d2be
Fix copylocks lint and re-vendor for updated fsutil
gilescope Apr 10, 2026
f4ec24b
fix: disable forced security upgrade (to allow bootstrapping to it)
gilescope Apr 11, 2026
da92d34
fix: downgrade multi-ref platform check to warning for earthly compat
gilescope Apr 11, 2026
447cef5
fix: disable gateway mount caching for earthly CACHE compatibility
gilescope Apr 11, 2026
51fe8fb
build: bake version.Package as github.com/EarthBuild/buildkit (#18)
kmannislands Jun 17, 2026
c8c1b40
fix: drop redundant LockOSThread workaround in runc executor
gilescope Jun 20, 2026
3f79445
fix: restore COPY ModeStr and AlwaysReplaceExistingDestPaths
gilescope Jun 23, 2026
7346f9f
chore: revert no-op divergences from upstream to shrink delta
gilescope Jun 23, 2026
80e66c7
revert: drop earthly Rosetta /proc archutil patch
gilescope Jun 24, 2026
e708358
revert: remove scheduler inconsistent-graph-state diagnostics
gilescope Jun 28, 2026
c41dbaf
fix: guard nil frontendAttrs map in Client.solve
gilescope Jun 28, 2026
8ee6771
Revert "revert: drop earthly Rosetta /proc archutil patch"
gilescope Jun 29, 2026
f623d45
Revert "revert: remove scheduler inconsistent-graph-state diagnostics"
gilescope Jun 29, 2026
b0a5159
refactor: drop EarthBuild/fsutil fork, use stock tonistiigi/fsutil
gilescope Jun 29, 2026
9552374
Merge main into merge-in-buildkit-all-at-once
gilescope Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 5 additions & 2 deletions .github/workflows/.test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ jobs:
name: Build
uses: docker/bake-action@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.0
with:
provenance: false
targets: integration-tests-base
set: |
*.cache-from=type=gha,scope=${{ inputs.cache_scope }}
Expand Down Expand Up @@ -165,6 +166,7 @@ jobs:
name: Build test image
uses: docker/bake-action@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.0
with:
provenance: false
targets: integration-tests
set: |
*.cache-from=type=gha,scope=${{ inputs.cache_scope }}
Expand All @@ -180,8 +182,9 @@ jobs:
TEST_REPORT_SUFFIX: -${{ env.TEST_REPORT_NAME }}
TEST_COVERAGE: 1
TESTPKGS: ${{ matrix.pkg }}
SKIP_INTEGRATION_TESTS: ${{ matrix.skip-integration-tests }}
CACHE_FROM: type=gha,scope=${{ inputs.cache_scope }}
SKIP_INTEGRATION_TESTS: 1
# TODO(jhorsts): errors with HTTP 400
# CACHE_FROM: type=gha,scope=${{ inputs.cache_scope }}
-
name: Send to Codecov
if: always()
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/buildkit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ jobs:
const defaultBase = core.getInput('default-base');
const ref = core.getInput('ref');
const imageName = core.getInput('image-name');

function getTagSuffixAndLatest(base, target) {
let tagSuffix = '';
if (target) {
Expand All @@ -204,20 +204,20 @@ jobs:
}
return { tagSuffix, tagLatest };
}

const matrix = [
{ base: 'alpine' },
{ base: 'alpine', target: 'rootless'},
{ base: 'ubuntu', buildTags: 'nvidia venus' }
]

for (const entry of matrix) {
const { tagSuffix, tagLatest } = getTagSuffixAndLatest(entry.base, entry.target);
entry.imageName = imageName;
entry.tagSuffix = tagSuffix;
entry.tagLatest = tagLatest;
}

core.info(JSON.stringify(matrix, null, 2));
core.setOutput('includes', JSON.stringify(matrix));

Expand Down Expand Up @@ -311,7 +311,7 @@ jobs:
name: Login to DockerHub
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Scout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/buildx-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
if: github.event.inputs.dry-run != 'true'
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Create
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/dockerd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,8 @@ jobs:
TESTPKGS: "${{ matrix.pkg }}"
TESTFLAGS: "${{ env.TESTFLAGS }} --run=//worker=${{ matrix.worker }}$"
SKIP_INTEGRATION_TESTS: "${{ matrix.skip-integration-tests }}"
CACHE_FROM: "type=gha,scope=build-integration-tests"
# TODO(jhorsts): replace with upstream
# CACHE_FROM: "type=gha,scope=build-integration-tests"
BUILDKIT_INTEGRATION_DOCKERD_FLAGS: |
--bip=10.66.66.1/24
--default-address-pool=base=10.66.66.0/16,size=24
185 changes: 185 additions & 0 deletions .github/workflows/earthly-count.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
name: Track Earthly to Earthbuild Progress

on:
pull_request:
types: [opened, synchronize]

jobs:
count-earthly:
runs-on: ubuntu-24.04-arm
permissions:
contents: read
pull-requests: write

steps:
- name: Checkout PR branch
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0

- name: Count occurrences in PR branch
id: count_pr
run: |
# Count total occurrences
total_count=$(git grep -i "earthly" -- ':!.github/workflows/earthly-count.yml' 2>/dev/null | wc -l || echo "0")
echo "total_count=$total_count" >> $GITHUB_OUTPUT

# Count by file type
go_count=$(git grep -i "earthly" -- "*.go" 2>/dev/null | wc -l || echo "0")
md_count=$(git grep -i "earthly" -- "*.md" 2>/dev/null | wc -l || echo "0")
earthfile_count=$(($(git grep -i "earthly" -- "Earthfile" 2>/dev/null | wc -l || echo "0") + $(git grep -i "earthly" -- "*.earth" 2>/dev/null | wc -l || echo "0")))

echo "go_count=$go_count" >> $GITHUB_OUTPUT
echo "md_count=$md_count" >> $GITHUB_OUTPUT
echo "earthfile_count=$earthfile_count" >> $GITHUB_OUTPUT

echo "PR branch - Total: $total_count (Go: $go_count, MD: $md_count, Earthfiles: $earthfile_count)"

- name: Checkout main branch
run: |
git checkout origin/main

- name: Count occurrences in main branch
id: count_main
run: |
# Count total occurrences
total_count=$(git grep -i "earthly" -- ':!.github/workflows/earthly-count.yml' 2>/dev/null | wc -l || echo "0")
echo "main_total_count=$total_count" >> $GITHUB_OUTPUT

# Count by file type
go_count=$(git grep -i "earthly" -- "*.go" 2>/dev/null | wc -l || echo "0")
md_count=$(git grep -i "earthly" -- "*.md" 2>/dev/null | wc -l || echo "0")
earthfile_count=$(($(git grep -i "earthly" -- "Earthfile" 2>/dev/null | wc -l || echo "0") + $(git grep -i "earthly" -- "*.earth" 2>/dev/null | wc -l || echo "0")))

echo "main_go_count=$go_count" >> $GITHUB_OUTPUT
echo "main_md_count=$md_count" >> $GITHUB_OUTPUT
echo "main_earthfile_count=$earthfile_count" >> $GITHUB_OUTPUT

echo "Main branch - Total: $total_count (Go: $go_count, MD: $md_count, Earthfiles: $earthfile_count)"

- name: Calculate difference
id: calculate
run: |
pr_count=${{ steps.count_pr.outputs.total_count }}
main_count=${{ steps.count_main.outputs.main_total_count }}
difference=$((main_count - pr_count))

# Calculate percentage with proper formatting
if [ $main_count -gt 0 ]; then
# Use awk for better decimal handling
percentage=$(awk "BEGIN {printf \"%.2f\", $difference * 100 / $main_count}")
else
percentage="0.00"
fi

echo "difference=$difference" >> $GITHUB_OUTPUT
echo "percentage=$percentage" >> $GITHUB_OUTPUT
echo "pr_count=$pr_count" >> $GITHUB_OUTPUT
echo "main_count=$main_count" >> $GITHUB_OUTPUT

# Calculate differences by type
go_diff=$((${{ steps.count_main.outputs.main_go_count }} - ${{ steps.count_pr.outputs.go_count }}))
md_diff=$((${{ steps.count_main.outputs.main_md_count }} - ${{ steps.count_pr.outputs.md_count }}))
earthfile_diff=$((${{ steps.count_main.outputs.main_earthfile_count }} - ${{ steps.count_pr.outputs.earthfile_count }}))

echo "go_diff=$go_diff" >> $GITHUB_OUTPUT
echo "md_diff=$md_diff" >> $GITHUB_OUTPUT
echo "earthfile_diff=$earthfile_diff" >> $GITHUB_OUTPUT

- name: Comment on PR
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
const prCount = ${{ steps.calculate.outputs.pr_count }};
const mainCount = ${{ steps.calculate.outputs.main_count }};
const difference = ${{ steps.calculate.outputs.difference }};
const percentage = '${{ steps.calculate.outputs.percentage }}';

// File type differences
const goDiff = ${{ steps.calculate.outputs.go_diff }};
const mdDiff = ${{ steps.calculate.outputs.md_diff }};
const earthfileDiff = ${{ steps.calculate.outputs.earthfile_diff }};

let emoji = '📊';
let message = '';

if (difference > 0) {
emoji = '🎉';
message = `Great progress! You've reduced "earthly" occurrences by **${difference}** (${percentage}%)`;
} else if (difference < 0) {
emoji = '⚠️';
message = `Warning: "earthly" occurrences have increased by **${Math.abs(difference)}** (${Math.abs(parseFloat(percentage))}%)`;
} else {
emoji = '➖';
message = 'No change in "earthly" occurrences';
}

// Build detailed breakdown
let breakdown = '';
if (goDiff !== 0 || mdDiff !== 0 || earthfileDiff !== 0) {
breakdown = `

### 📁 Changes by file type:
| File Type | Change |
|-----------|--------|
| Go files (.go) | ${goDiff > 0 ? '✅ -' + goDiff : goDiff < 0 ? '❌ +' + Math.abs(goDiff) : '➖ No change'} |
| Documentation (.md) | ${mdDiff > 0 ? '✅ -' + mdDiff : mdDiff < 0 ? '❌ +' + Math.abs(mdDiff) : '➖ No change'} |
| Earthfiles | ${earthfileDiff > 0 ? '✅ -' + earthfileDiff : earthfileDiff < 0 ? '❌ +' + Math.abs(earthfileDiff) : '➖ No change'} |`;
}

const body = `## ${emoji} Are we earthbuild yet?

${message}

### 📈 Overall Progress
| Branch | Total Count |
|--------|-------------|
| main | ${mainCount} |
| This PR | ${prCount} |
| **Difference** | **${difference > 0 ? '-' : '+'}${Math.abs(difference)}** ${difference !== 0 ? `(${Math.abs(parseFloat(percentage))}%)` : ''} |
${breakdown}

---
*Keep up the great work migrating from Earthly to Earthbuild!* 🚀

<details>
<summary>💡 Tips for finding more occurrences</summary>

Run locally to see detailed breakdown:
\`\`\`bash
./.github/scripts/count-earthly.sh
\`\`\`

**Note that the goal is not to reach 0.**
There is anticipated to be at least _some_ occurences of \`earthly\` in the source code due to backwards compatibility with config files and language constructs.
</details>`;

// Find existing comment
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});

const botComment = comments.find(comment =>
comment.user.type === 'Bot' &&
comment.body.includes('Are we earthbuild yet?')
);

if (botComment) {
// Update existing comment
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: botComment.id,
body: body
});
} else {
// Create new comment
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: body
});
}
3 changes: 1 addition & 2 deletions .github/workflows/frontend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ jobs:
pkgs: ./frontend/dockerfile
kinds: |
integration
dockerfile
codecov_flags: dockerfile-frontend
secrets:
codecov_token: ${{ secrets.CODECOV_TOKEN }}
Expand Down Expand Up @@ -211,7 +210,7 @@ jobs:
name: Login to DockerHub
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Scout
Expand Down
7 changes: 4 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ ENV GOFLAGS=-mod=vendor
# buildkit-version builds stage with version/revision info
FROM buildkit-base AS buildkit-version
# TODO: PKG should be inferred from go modules
ARG RELEASE_VERSION=v0.0.0+earthlyunknown
RUN --mount=target=. <<'EOT'
# if git is worktree (file starting with gitdir:) then skip verions check
if [ -f .git ] && head -1 .git | grep -q "^gitdir:"; then
Expand All @@ -87,9 +88,9 @@ RUN --mount=target=. <<'EOT'
exit 1
fi
set -ex
export PKG=github.com/moby/buildkit VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags) REVISION=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi) COMMIT_DATE=$(git show -s --format=%cI HEAD);
echo "-X ${PKG}/version.Version=${VERSION} -X ${PKG}/version.Revision=${REVISION} -X ${PKG}/version.Package=${PKG}" > /tmp/.ldflags;
echo -n "${VERSION}" > /tmp/.version;
export PKG=github.com/moby/buildkit EARTHLY_PKG=github.com/EarthBuild/buildkit VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags) REVISION=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi) COMMIT_DATE=$(git show -s --format=%cI HEAD);
echo "-X ${PKG}/version.Version=${RELEASE_VERSION} -X ${PKG}/version.Revision=${REVISION} -X ${PKG}/version.Package=${EARTHLY_PKG}" > /tmp/.ldflags;
echo -n "${RELEASE_VERSION}" > /tmp/.version;
echo -n "${COMMIT_DATE}" > /tmp/.commit_date;
EOT

Expand Down
14 changes: 14 additions & 0 deletions Earthfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

VERSION 0.6

FROM alpine:3.13
WORKDIR /buildkit

# build buildkit image
build:
ARG RELEASE_VERSION=v0.0.0+earthlyunknown
FROM DOCKERFILE --build-arg RELEASE_VERSION=$RELEASE_VERSION --target buildkit-linux .

code:
COPY . .
SAVE ARTIFACT /buildkit
Loading
Loading