Skip to content

Commit

Permalink
feat(ghac): Bump opendal to support ghac v2 (Cherry-pick of #21994) (#…
Browse files Browse the repository at this point in the history
…21997)

Github is planning to sunset the legacy services before March 1st. This
PR updates OpenDAL to version 0.52.0, which automatically supports GHAC
v2.

The ghac v2 requires using azblob to upload data internally, so we need
to add some extra dependencies in this PR. Perhaps we can consider
enabling both s3 and azblob support in the future since all dependencies
have already been included.

Refer to apache/opendal#5620 for more details.

Signed-off-by: Xuanwo <[email protected]>
Co-authored-by: Xuanwo <[email protected]>
Co-authored-by: Huon Wilson <[email protected]>
  • Loading branch information
3 people authored Feb 25, 2025
1 parent 4514391 commit cbd57e3
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 9 deletions.
2 changes: 1 addition & 1 deletion docs/notes/2.25.x.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ one in `remote_store_headers` or `remote_execution_headers`.

Pants now supports the `{chroot}` replacement marker in remote execution contexts. (With local and Docker execution, the `{chroot}` marker is replaced with the absolute path of the sandbox directory if it appears in program arguments or environment variables. Pants will do the same as well in remote execution contexts. This requires `/bin/bash` to be available on the remote execution server.)

The OpenDAL library powering the Github Actions cache backend has been updated, picking up some bug fixes for Github Enterprise Server instances using AWS S3 as backing storage for the Github Actions cache.
The OpenDAL library powering the Github Actions cache backend has been updated, picking up support for the new GitHub Actions cache v2, and some bug fixes for Github Enterprise Server instances using AWS S3 as backing storage for the Github Actions cache.

### New Options System

Expand Down
77 changes: 72 additions & 5 deletions src/rust/engine/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/rust/engine/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ notify = { git = "https://github.com/pantsbuild/notify", rev = "276af0f3c5f300bf
num_cpus = "1"
num_enum = "0.5"
once_cell = "1.20"
opendal = { version = "0.51.1", default-features = false, features = [
opendal = { version = "0.52.0", default-features = false, features = [
"services-memory",
"services-fs",
"services-ghac",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ async fn write_test_data(provider: &Provider, digest: Digest, data: remexec::Act
.operator
.write(&test_path(digest), data.to_bytes())
.await
.unwrap()
.unwrap();
}

#[tokio::test]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ impl ByteStoreProvider for Provider {
let path = self.path(digest.hash);

match self.operator.write(&path, bytes).await {
Ok(()) => Ok(()),
Ok(_) => Ok(()),
// The item already exists, i.e. these bytes have already been stored. For example,
// concurrent executions that are caching the same bytes. This makes the assumption that
// which ever execution won the race to create the item successfully finishes the write, and
Expand Down

0 comments on commit cbd57e3

Please sign in to comment.