-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Add Support for Buildless #2
base: main
Are you sure you want to change the base?
Conversation
@@ -2,7 +2,7 @@ | |||
edition = "2021" | |||
name = "sccache" | |||
rust-version = "1.67.1" | |||
version = "0.7.4" | |||
version = "0.7.5-buildless" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
released under a custom version, for now
BuildlessTransport::AUTO => build_https(do_use_agent, endpoint, apikey, &agent_config), | ||
BuildlessTransport::HTTPS => build_https(do_use_agent, endpoint, apikey, &agent_config), | ||
BuildlessTransport::RESP => build_resp(do_use_agent, endpoint, apikey), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
transport selection
"gha", | ||
"webdav", | ||
] | ||
azure = ["opendal", "reqsign"] | ||
buildless = ["opendal", "redis", "webdav"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since buildless implements webdav and redis, this code simply reuses those adapters to reduce code surface
c63a239
to
2958a52
Compare
// ======= Buildless ======= | ||
let buildless = if env::var("SCCACHE_BUILDLESS").is_ok() || env::var("BUILDLESS_APIKEY").is_ok() | ||
{ | ||
// read kill switch | ||
let enable_var = env::var("SCCACHE_BUILDLESS").ok().unwrap_or_default(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
buildless takes last precedence over all other adapters (except fallback to local disk), to prevent conflicts with providers which expect to fail with incomplete config.
Welcome to Codecov 🎉Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment. Thanks for integrating Codecov - We've got you covered ☂️ |
- feat(buildless): add configuration structures for buildless - feat(buildless): implement cache backend for buildless, using webdav - feat(buildless): implement cache backend for buildless, using redis - feat(buildless): implement agent detection and use (where enabled) - feat(buildless): decode agent config and use specified port - fix(buildless): don't use control port for cache traffic - docs(buildless): add `docs/Buildless` and root README references Signed-off-by: Sam Gammon <sam@elide.ventures>
- test(buildless): add integration test for `buildless-cloud` - test(buildless); add integration test for `buildless-agent` Signed-off-by: Sam Gammon <sam@elide.ventures>
2958a52
to
58e8cb2
Compare
Signed-off-by: Sam Gammon <sam@elide.ventures>
Summary
Draft PR which adds Buildless support to
sccache
. If this goes well, later, we can maybe upstream it.Task list
sccache
backendBUILDLESS_APIKEY
sccache
and Buildlesssccache
sccache
readmesccache
integrationsccache
fork and featuresccache
+buildless
cloudsccache
+buildless
agentsccache
sccache
sccache
in releases of thebuildless
CLIChangelog
docs/Buildless
and root README references