Skip to content
This repository was archived by the owner on Oct 8, 2025. It is now read-only.

Conversation

@lbeckman314
Copy link
Collaborator

@lbeckman314 lbeckman314 commented Mar 4, 2025

Overview 🌱

This PR reverts changes to OHSU's forked version of gen3-client in order to fix compilation issues related to the unbound furObjects variable.

This PR will make our master branch identical to that of upstream's (including the updates from PR #23 required to run multipart uploads to non-AWS S3 buckets).

Previous Behavior ❌

Compile errors:

➜ go build -o cdis-data-client
# github.com/uc-cdis/gen3-client/gen3-client/g3cmd
gen3-client/g3cmd/upload-multiple.go:82:30: undefined: furObjects
gen3-client/g3cmd/upload-multiple.go:84:13: undefined: batchFURObjects
gen3-client/g3cmd/upload-multiple.go:84:32: undefined: workers
gen3-client/g3cmd/upload-multiple.go:85:32: undefined: batchFURObjects
gen3-client/g3cmd/upload-multiple.go:87:34: undefined: batchFURObjects
gen3-client/g3cmd/upload-multiple.go:87:51: undefined: workers
gen3-client/g3cmd/upload-multiple.go:87:60: undefined: respCh
gen3-client/g3cmd/upload-multiple.go:87:68: undefined: errCh
gen3-client/g3cmd/upload-multiple.go:88:7: undefined: batchFURObjects
gen3-client/g3cmd/upload-multiple.go:89:32: undefined: batchFURObjects
gen3-client/g3cmd/upload-multiple.go:89:32: too many errors

New Behavior ✅

Successful compilation!

➜ go build -o cdis-data-client

➜ ls cdis-data-client
cdis-data-client

➜ ./cdis-data-client
Gen3 Client for downloading, uploading and submitting data to data commons.
gen3-client version: N/A, commit: N/A

Next Steps 🌀

  • Test upload with to non-AWS S3 buckets (previously encountered the issue where a test file appeared to be pushed but did not actually get uploaded to the bucket...
    • This should have been resolved with PR #23 but not yet clear what is causing this bug 🐛

Test Steps ✍️

Adapted from the Download and Upload Files Using the Gen3-client and Upload Data Files using the Gen3 Client

1. Build gen3-client

➜ which gen3-client
~/.gen3/gen3-client

➜ mv ~/.gen3/gen3-client ~/.gen3/gen3-client.bak

➜ go build -o ~/.gen3/gen3-client

➜ gen3-client --version
gen3-client version N/A

2. Upload Single File via gen3-client

echo "This is a test file for gen3-client" > gen3-client-test.txt

➜ gen3-client upload --profile=cbds --upload-path=gen3-client-test.txt
  • Verify that the gen3-client-test.txt file has been uploaded to the expected bucket

3. Upload Single File via g3t

➜ g3t clone cbds-dev

➜ cd cbds-dev

➜ echo "This is a test file for g3t" > g3t-test.txt

➜ g3t add g3t-test.txt

➜ g3t meta init

➜ g3t commit -m "adding test file"

➜ g3t push

# Then verify that the `g3t-test.txt` file has been uploaded to the expected bucket 
  • Verify that the g3t-test.txt file has been uploaded to the expected bucket

@lbeckman314 lbeckman314 self-assigned this Mar 4, 2025
@lbeckman314 lbeckman314 added the bug Something isn't working label Mar 4, 2025
@lbeckman314 lbeckman314 requested a review from kellrott March 4, 2025 22:23
@kellrott
Copy link

kellrott commented Mar 4, 2025

Any idea why all the GitHub action tests are failing?

@kellrott
Copy link

kellrott commented Mar 4, 2025

The source seems to build correctly on my machine

@lbeckman314
Copy link
Collaborator Author

lbeckman314 commented Mar 4, 2025

Yes! Most (all?) of the workflows are dependent on upstream infrastructure (and not yet compatible with forked versions like ours), for example:

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants