nteract / bookstore

📚 Notebook storage and publishing workflows for the masses
https://bookstore.readthedocs.io
BSD 3-Clause "New" or "Revised" License
201 stars 23 forks source link

S3 versioned cloning #176

Closed mpacer closed 4 years ago

mpacer commented 4 years ago

This adds the ability to clone an old version from a versioned s3 bucket.

Addresses #172

Unfortunately we cannot test for this functionality in our minio based integration tests. This is because minio does not support versioned buckets: see https://github.com/minio/minio/pull/6494 for the latest efforts to implement ending in a decision to not do so and https://github.com/minio/minio/issues/1309 for some of the original discussion around it.

This pulls out functionality around creating the kwargs to send to S3 so that we can test that logic independently.

This also updates the API docs.

@MSeal @captainsafia I added you as reviewers per your request earlier today at the team meeting.

codecov[bot] commented 4 years ago

Codecov Report

Merging #176 into master will increase coverage by 0.3%. The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #176     +/-   ##
=========================================
+ Coverage   82.31%   82.62%   +0.3%     
=========================================
  Files          10       10             
  Lines         509      518      +9     
=========================================
+ Hits          419      428      +9     
  Misses         90       90
mpacer commented 4 years ago

@MSeal @captainsafia I just rebased this PR on master and pushed updates to address the version concern & the string legibility concern.

I created #177 so a bumpversion setup can be pursued in a separate PR.

rgbkrk commented 4 years ago

Since it looks like feedback is addressed and there's another thread for the one point of contention, I'll go ahead and merge this.