Repository navigation
refactor: use std uuid - #882
Merged
Merged
Conversation
➖ Are we earthbuild yet?No change in "earthly" occurrences 📈 Overall Progress
Keep up the great work migrating from Earthly to Earthbuild! 🚀 💡 Tips for finding more occurrencesRun locally to see detailed breakdown: ./.github/scripts/count-earthly.shNote that the goal is not to reach 0. |
gilescope
approved these changes
Sep 2, 2026
janishorsts
enabled auto-merge (squash)
September 2, 2026 16:28
janishorsts
added a commit
that referenced
this pull request
Sep 9, 2026
* refactor: use std uuid * fix: lint
kmannislands
added a commit
that referenced
this pull request
Sep 11, 2026
* docs: rename Earthly to EarthBuild across markdown Apply the project rename in markdown docs per AGENTS.md conventions: `Earthly` (project name) becomes `EarthBuild`, and the `earthly` CLI becomes `earth`. Preserve literal identifiers: EARTHLY_* env vars, the earthly.dev domain and subdomains, github.com/earthly repos, earthly/* image and repo names, +earthly-* targets, /usr/bin/earthly paths, .earthlyignore, and the __earthly__ completion function. Leave references to the upstream project untouched: AGENTS.md, the README fork banner, and docs/migrating-from-earthly.md all describe the migration from the original Earthly and keep that name. CHANGELOG.md is left as-is to preserve historical release notes. Also fix the in-page TOC anchors whose renamed headings would otherwise break. * Update .github/actions/failure-diagnostics/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * docs: complete earthly to earth rename in identifiers and paths Address PR review feedback: rename earthly-prefixed literals that have earth equivalents in v0.8.18+ (installation name drives the config dir, buildkit container, and cache volume names). - Rename EARTHLY_CONFIG/EARTHLY_BUILD_ARGS env vars to EARTH_ prefix - Rename earthly-cache volume and earthly-buildkitd container references - Rename ~/.earthly paths to ~/.earth - Rename .earthlyignore to .earthignore (the code's preferred file) - Fix docs.earthly.dev to docs.earthbuild.dev in docs-internals - Revert accidental 'Migrating from earth' back to 'Migrating from earthly' - Rename doc files/dirs: earthly-command, earthly-config, earthlyignore and update all inbound links, anchors, and gitbook redirects - Update failure-diagnostics action to inspect ~/.earth * docs: rename remaining ~/.earthly and earthly-buildkitd references Sweep user-facing docs for installation-name-derived identifiers that resolve to earth on official releases: - ~/.earthly/config.yml -> ~/.earth/config.yml - earthly-buildkitd -> earth-buildkitd (commands and example output) - earthly-cache -> earth-cache in uninstall steps Left intact: /etc/.earthly paths (hardcoded in the image entrypoint), CONTRIBUTING.md (from-source dev workflow), and CHANGELOG.md (history). * docs: use EARTH_ env var prefix for CLI settings CLI flag env vars are read via the EarthEnvVars helper, which prefers the EARTH_ prefix (EARTHLY_ is deprecated). Update all 'Also available as an env var setting' references and the .env example in the command reference, plus EARTH_BUILDKIT_HOST/EARTH_TARGET_PADDING/EARTH_FULL_TARGET. Left intact: image/buildkitd env vars hardcoded as EARTHLY_ in the entrypoint scripts (EARTHLY_ADDITIONAL_BUILDKIT_CONFIG, EARTHLY_EXEC_CMD, EARTHLY_TMP_DIR, EARTHLY_RESET_TMP_DIR). * docs: use EARTH_ORG env var in config reference * docs: rename earthly-buildkitd to earth-buildkitd in Go example * Update examples/tutorial/js/part6/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update examples/tutorial/js/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update examples/tutorial/python/part1/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update examples/tutorial/python/part2/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update examples/tutorial/python/part3/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update examples/tutorial/python/part4/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update examples/tutorial/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update release/apt-repo/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update release/yum-repo/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update .gitbook.yaml Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update CONTRIBUTING.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update CONTRIBUTING.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update CONTRIBUTING.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update CONTRIBUTING.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update CONTRIBUTING.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update CONTRIBUTING.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update CONTRIBUTING.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update CONTRIBUTING.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update CONTRIBUTING.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update CONTRIBUTING.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * Update release/apt-repo/README.md Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * fix: complete EARTHLY_ -> EARTH_ migration for internal vars (#800) * fix: complete EARTHLY_ -> EARTH_ migration for internal vars The EARTHLY_ -> EARTH_ rename was done for the CLI surface but not for the variables EarthBuild sets on itself. Because the deprecation scan cannot tell a user-set variable from one the product set, the published image emitted six unactionable warnings per invocation, and EARTHLY_WITH_DOCKER warned you to migrate to a name that was silently ignored. Make EarthBuild only ever write EARTH_ names, so the scan becomes correct by construction and no allowlist is needed: - Rename the image ENVs, the earthly-entrypoint.sh exports, and the Go writers into the buildkitd container. Readers accept the EARTHLY_ spelling via a new earth_env shim (buildkitd/earth-env.sh), warning but still working. - Read WITH_DOCKER through env.Lookup so EARTH_WITH_DOCKER is honoured and the earth-in-earth cgroup bind-mount is no longer lost by following the warning. - Pass WITH DOCKER settings to dockerd-wrapper.sh as flags rather than EARTHLY_* environment variables. That removes them from the namespace entirely, so they can never trip the scan again. An older CLI paired with a newer buildkitd image still works, with a warning. - Drop EARTHLY_IMAGE and EARTHLY_GIT_CONFIG, which had no reader and no writer respectively. dockerd-wrapper.sh is bind-mounted into RUN commands as a single file, so it carries its own copy of earth_env rather than sourcing the shared one. Also sweeps the docs, which #753 deliberately left on the EARTHLY_ spelling because these variables had no working EARTH_ equivalent until now. Fixes #751 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * style: tighten comments in the internal env var rename Drop bare ticket links used as justification, and reword a test comment that framed itself around the migration rather than the behaviour it covers. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Update buildkitd/buildkitd.go Co-authored-by: Janis Horsts <janis.horsts@gmail.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * fix: ship the CLI as earth in the published docker image (#801) * fix: ship the CLI as earth in the published docker image The v0.8.18 release notes document the CLI binary rename earthly -> earth, and the release assets follow it, but the published earthbuild/earthbuild image shipped only earthly -- there was no earth anywhere on the filesystem, so following the release notes into the image failed with "earth: not found". +earthly-docker hardcoded DEFAULT_INSTALLATION_NAME="earthly" while the release path passes "earth". That value is an ldflag which also drives the config dir, the buildkitd container name, the cache volume name and the buildkit port offset, so the image's CLI disagreed with the released binaries on all of them -- visible to anyone extracting the CLI from the image, which is how the issue was found. DEFAULT_INSTALLATION_NAME is now threaded into +earthly-docker instead of hardcoded, and declared once as a global in release/Earthfile so the release binaries and the image cannot drift apart again. The CLI installs as /usr/bin/earth with an earthly symlink kept for one deprecation cycle. Two things fall out of the rename: PortOffset special-cased only "earthly" as the official name, so switching the image to "earth" would have moved buildkit to 8846 and the local registry to 8845 while earthly-entrypoint.sh and buildkitd.tcp.template hardcode 8372/8371. Both official spellings now offset to zero. earthly-entrypoint.sh hardcoded /root/.earthly/certs for the certificates the CLI generates under ~/.<installation name>/certs, which would have become three dangling symlinks and a TLS failure with no diagnostic. The path now derives from the installation name the image was built with, and the script fails loudly if the directory is absent. Also fixes two defects in the rename notice itself: it claimed earthly "is currently symlinked" whether or not it was, and its rm suggestion was gated on a path built from the deprecated name, so it tested for the invoked binary rather than its replacement. Fixes #796. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * style: tighten comments in the earth binary rename Drop changelog voice, ticket references and reviewer-facing justification from the comments introduced with the image binary rename. State the invariant each one is protecting instead: that the image and the release binaries must agree on the installation name, that the official names must map to a zero port offset because other files hardcode the resulting ports, and that /etc/.earthly is a caller-supplied mount point rather than a CLI-derived path. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * test: follow the image config dir to ~/.earth The config tests assert the default config location, which the installation name determines. The image installs as earth, so the default is ~/.earth. Cases that set an installation name explicitly keep their own directories. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix: stop the image shadowing a caller's installation name The entrypoint needs the installation name to locate the certificates the CLI generates under ~/.<name>/certs, and took it from EARTH_INSTALLATION_NAME baked into the image. That is the CLI's own variable, and env.Lookup prefers it over EARTHLY_INSTALLATION_NAME, so the baked value silently overrode a caller using the deprecated spelling: the CLI kept writing to ~/.earth while the caller expected their own directory. Carry the build-time name in EARTH_IMAGE_INSTALLATION_NAME, which the CLI does not read, and use it only as the fallback when resolving the name. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * ci: address the buildkit daemon under the pinned earth name #796 makes the published image install the CLI as `earth`, which also renames the daemon it manages: `earthly-buildkitd` becomes `earth-buildkitd`. CI built its binaries with DEFAULT_INSTALLATION_NAME=earthly, so the image test's docker.sock case looked for `earth-buildkitd`, found nothing, and tried to pull `ghcr.io/earthbuild/earthbuild:buildkitd-image-test` -- a tag `+earthly-docker` never builds. Pin DEFAULT_INSTALLATION_NAME=earth in ci.yml and build-earthly.yml and follow the name through everywhere CI addresses the daemon directly: reusable-test.yml and reusable-misc-tests-{1,2}.yml, the registry-certs test, and the bug-report template. tests/bootstrap/test-bootstrap.sh derives the name from $default_install_name instead of hardcoding it, so it tracks whatever CI passes rather than needing a second edit next time. earth-retry.sh and the failure-diagnostics defaults keep the deprecated names alongside the new ones: both are best-effort cleanup and diagnostics, and a job may still have either container. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix: follow the installation name for the in-image config path Review feedback on #801: the entrypoint derived the certs directory from the installation name but kept the config at a hardcoded /etc/.earthly/config.yml, so the two disagreed as soon as the image switched to `earth`. The config now sits at /etc/.<installation name>/config.yml alongside the other per-installation paths, and the variable is `earth_config` to match. The pre-rename path is still honoured when a caller mounts a config there and nothing is mounted at the derived path, so an existing `-v ./config.yml:/etc/.earthly/config.yml` keeps working for one deprecation cycle; `earthly_config` stays exported as an alias for the test call sites that read it. setup-registry.sh and tests/warn-if-not-logged-in write to the derived path rather than relying on that fallback, and the Earthfile reads buildkit_additional_config back from the same place. Also renames earthly-entrypoint.sh to earth-entrypoint.sh, with /usr/bin/earthly-entrypoint.sh kept as a symlink: the CI integration guides name that path explicitly, so it gets the same deprecation cycle as /usr/bin/earthly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix: silence SC2016 on the entrypoint symlink assertion +lint-scripts-misc runs shellcheck at default severity, so the info-level SC2016 fails the build. The single quotes are deliberate: the readlink is evaluated by `sh -c` inside the container, not by the test script, so the warning does not apply here. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com> * test: drive the earth binary throughout the integration suite (#803) * test: drive the earth binary throughout the integration suite `earthly` compatibility symlink. The integration suite still reached the CLI through the deprecated name, so ~176 call sites were exercising the symlink rather than the binary users actually get. This drives `earth` throughout and keeps one deliberate case on `earthly`. +deprecated-name-test is that case: it asserts the symlink reaches the CLI and that the rename warning is emitted, so the compatibility path stays covered deliberately rather than incidentally. Three things a mechanical s/earthly/earth/ gets wrong, all handled here: 1. COMP_POINT is a byte offset into COMP_LINE. Most cases derive it via `wc -m`, but two are literal (10 and 9). autocomplete/complete.go returns early when compPoint > len(compLine), so a stale offset yields no completions and the test fails confusingly rather than obviously. Now 8 and 7. 2. The bash completion file is named `earthly` regardless of installation name (bootstrap_cmds.go), so the assertions in tests/autocompletion/install must keep the old name. 3. The eine tests copy the binary in rather than taking it from the image, so their COPY destination moves to `earth` alongside their invocations. Also left on the deprecated spelling on purpose: earthly_config (a shell variable exported by the entrypoint), earthly.output and /tmp/*-earthly-script (filenames), github.com/earthly/earthly+base (a remote target ref), +earthly-docker (a target name), and the .earthly-test2 / .earthly-not-test directories belonging to cases that set an installation name explicitly. CI's installation-name pin and the earth-buildkitd rename live in #801, so that PR is green on its own; this one is purely the suite rename. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * test: read the config path from earth_config The suite read $earthly_config, which earth-entrypoint.sh now exports only as a deprecated alias of $earth_config. Keeping the call sites on the alias meant the integration tests were exercising the compatibility shim rather than the spelling callers get, which is the opposite of what this branch is for. The alias itself stays: it is a contract for callers outside this repo, and scripts/tests/earth-image.sh still asserts it resolves. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * test: remove the unrunnable AWS OIDC integration test tests/oidc has not been exercised since #32 (Aug 2025), which commented out the docker-test-oidc-command and podman-test-oidc-command jobs pending an AWS account; those commented jobs were later dropped from the workflows entirely, so nothing builds ./tests/oidc+test today. It could not be reinstated as written in any case. It depends on three things the fork removed: `earth account login`, which no longer exists as a subcommand; EARTHLY_TOKEN, documented as removed in docs/migrating-from-earthly.md along with Earthly Cloud auth; and the cloud-backed secret `test-oidc-user/token` plus the `PROJECT other-service+oidc-ci-test/my-project` reference in aws.earth, neither of which resolves without a cloud provider. Note this leaves the live --run-with-aws-oidc feature with only unit coverage (util/oidcutil). The commented-out test-aws-oidc block in tests/Earthfile still records the error-case assertions if someone reinstates integration coverage; its pointer to this directory is dropped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com> * fix(deps): update github.com/tonistiigi/fsutil digest to 83cac42 (#865) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update module github.com/sirupsen/logrus to v1.10.2 (#867) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update module google.golang.org/grpc to v1.83.2 (#868) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update module google.golang.org/protobuf to v1.36.12 (#869) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency kubernetes-sigs/kind to v0.33.0 (#870) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update module github.com/gofrs/flock to v0.13.1 (#871) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency com.eed3si9n:sbt-assembly to v2.5.0 (#854) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: register shell completion for the installed binary name (#857) The bash and zsh completion entries written by `bootstrap --with-autocomplete` hardcoded `earthly` as the command word, and installed to files named `earthly` / `_earthly`. The released binary is `earth`, so `earth <TAB>` offered nothing. Derive the command word and the completion filenames from the basename of the running executable instead. The installation name is deliberately not used: it names on-disk resources and can be overridden independently of what the user actually types. A binary still installed as `earthly` also registers `earth`, matching the alias symlinkEarthlyToEarth already creates for it. The uninstall docs in docs/alt-installation already documented `completions/earth` and `_earth`; this makes the code match. Co-authored-by: Claude Opus 5 <noreply@anthropic.com> * chore(deps): update dependency scala to v3.9.0 (#872) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update aws sdk (#873) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update otel (#874) * fix(deps): update otel * fix: bump to the highest possible otel * chore: bump semconv to v1.43.0 --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * chore(deps): update dependency golangci/golangci-lint to v2.13.2 (#875) * chore(deps): update dependency golangci/golangci-lint to v2.13.2 * fix: lint --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * chore(deps): update dependency sbt/sbt to v2.0.8 (#876) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update aws sdk (#877) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dockerfile-dependencies (#880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * docs: add missing param to top-level WITH DOCKER doc (#881) The Earthfile reference doc for `WITH DOCKER` mentions the `--platform` flag in the list of args, but it isn't shown in the top level invocation doc. Add it there. Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * fix(deps): update otel (#879) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): lock file maintenance (#885) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update public.ecr.aws/amazonlinux/amazonlinux docker tag to v2023.12.20260831.0 (#886) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update module github.com/aws/aws-sdk-go-v2/config to v1.33.2 (#887) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update module al.essio.dev/pkg/shellescape to v1.6.1 (#888) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor: migrate from encoding/json to encoding/json/v2 (#883) * refactor: migrate from encoding/json to standard library encoding/json/v2 * chore: tidy --------- Co-authored-by: Squirrel <gilescope@gmail.com> * chore(deps): update dependency bundler to v4.0.20 (#889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor: use std uuid (#882) * refactor: use std uuid * fix: lint * fix(deps): update dependency org.clojure:clojure to v1.12.6 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update module golang.org/x/crypto to v0.56.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency org.apache.maven.plugins:maven-compiler-plugin to v3.16.0 (#893) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update jdkato/vale docker tag to v3.20.0 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update public.ecr.aws/amazonlinux/amazonlinux docker tag to v2027 (#895) * chore(deps): update public.ecr.aws/amazonlinux/amazonlinux docker tag to v2027 * fix: support both Amazon Linux 2023 and 2027 --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Janis Horsts <janis.horsts@gmail.com> * chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.6.0 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update module github.com/docker/cli to v29.8.0+incompatible (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update aws sdk (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore: tidy * chore: sort gitbook redirects alphabetically * chore: tidy release/README.md * Apply suggestion from @janishorsts Co-authored-by: Janis Horsts <janis.horsts@gmail.com> --------- Co-authored-by: Janis Horsts <janis.horsts@gmail.com> Co-authored-by: Kieran Mann <kieranjarrettmann@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: John Moon <john.moon@voyagertechnologies.com> Co-authored-by: Squirrel <gilescope@gmail.com>
gilescope
pushed a commit
that referenced
this pull request
Sep 21, 2026
refactor: use std uuid (#882) Line 4 of docs-internals/plan-merge-main.md. Drops github.com/google/uuid for the standard library's, which is `uuid.New().String()` where the old one was `uuid.NewString()`. It edits cmd/earth/app/before.go, which this branch rewrote for the frontend gate, but in a different function - the branch's `needsFrontend` is untouched. Nothing under engine/ imports uuid at all, so the merge is the whole of the change and the engine owes nothing. go.sum conflicted and was regenerated with `go mod tidy` rather than resolved by hand. Main deletes the module outright; here it survives as an indirect dependency, because this branch's internal/telemetry pulls go.opentelemetry.io/otel/sdk/resource, which imports it. No Go file imports it directly any more, which is what the commit was for. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PQ2c9xLfQvSY8YGLr7o5tv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces third-party
github.com/google/uuidusage with standard libraryuuid.