Skip to content
Open
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
a035401
Consolidate several small scripts into a single __tool
vector-of-bool Oct 29, 2025
5f4b103
Significant Earthfile refactor
vector-of-bool Oct 29, 2025
7b73e94
Update Earthly-generated tasks
vector-of-bool Oct 30, 2025
c22a137
Simplify some path handling in Earthfile
vector-of-bool Oct 30, 2025
f488eab
Fix: Allow Ccache to cache properly in Earthly targets
vector-of-bool Oct 30, 2025
358a337
Split out an +init target
vector-of-bool Oct 30, 2025
ec044b1
Update Earthly target documentation
vector-of-bool Oct 30, 2025
e5d322f
Rearrange some Earthly documentation
vector-of-bool Oct 30, 2025
31e88f8
Fix: Wrong build paths to +verify-headers
vector-of-bool Oct 30, 2025
bdd5741
Add Ubuntu 24.04
vector-of-bool Oct 30, 2025
71ffffc
Enable building both with/without Snappy in Earthly
vector-of-bool Oct 30, 2025
1f7d32a
Tasks with/without Snappy
vector-of-bool Oct 30, 2025
082ca14
Merge branch 'master' into CDRIVER-6142-earthfile-refactor
vector-of-bool Nov 10, 2025
e2308aa
Minor commentary tweaks following PR comments
vector-of-bool Nov 11, 2025
59829fc
Add a trailhead for obtaining the detailed Earthfile documentation
vector-of-bool Nov 12, 2025
9a6eb17
Refactor Earthly C++ installation to rely on the same C compiler param
vector-of-bool Nov 12, 2025
0a5ba4f
Fix environment setup when the C package provides C++
vector-of-bool Nov 12, 2025
f0c64eb
Better documentation on the __tool script
vector-of-bool Nov 12, 2025
d43510e
Drop use of Yum in __install
vector-of-bool Nov 12, 2025
792509e
Add a __download for checked downloads
vector-of-bool Nov 13, 2025
e36ac20
Tweak devdocs convenience destination
vector-of-bool Nov 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 28 additions & 2 deletions Earthfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
VERSION --arg-scope-and-set --pass-args --use-function-keyword 0.7

# Example use: <earthly> +build --from=ubuntu:22.04 --sasl=off --tls=OpenSSL --c_compiler=gcc
# (For target names, descriptions, and build parameters, run the "doc" Earthly subcommand.)
# Example use: <earthly> +build --from=ubuntu:22.04 --sasl=off --tls=OpenSSL --compiler=gcc
#
# For target names, descriptions, and build parameters, run the "doc" Earthly subcommand.
# For more detailed documentation, use to the "devdocs" target in this file (ctrl+f "devdocs:"),
# and read the resulting "Earthly" page that is generated.

# Allow setting the "default" container image registry to use for image short names (e.g. to Amazon ECR).
ARG --global default_search_registry=docker.io
Expand Down Expand Up @@ -400,6 +403,29 @@ do-verify-headers-impl:
# by CMake for the VERIFY_INTERFACE_HEADER_SETS target property.
RUN cmake --build $__build_dir --target all_verify_interface_header_sets

# devdocs :
# Builds the developer documentation pages as HTML, and writes the resulting pages into
# `_build/devdocs` on the host for browsing.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be under _build/docs/dev instead?

#
# After building the devdocs, you can read them in a browser with the following command:
#
# $ python -m http.server --directory _build/devdocs/
#
# Which will start a local HTTP server that serves the documentation pages.
devdocs:
FROM +init --from=alpine:3.20
# Warmup the UV cache
RUN uvx --from=sphinx sphinx-build --version
# Copy in the required files
COPY VERSION_CURRENT $__source_dir/
# Docs in the appropriate subdirectory:
LET docs_dir = $__source_dir/docs/dev
COPY --dir docs/dev $docs_dir
# Build the documentation, using uvx to install Sphinx on-the-fly
RUN uvx --from=sphinx sphinx-build $docs_dir $docs_dir/_build --builder=dirhtml
# Copy the build HTML pages to the host
SAVE ARTIFACT $docs_dir/_build AS LOCAL _build/devdocs

# run :
# Run one or more targets simultaneously.
#
Expand Down