Git Product home page Git Product logo

action-s3-cache's People

Contributors

amendoa avatar brunopadz avatar gmsantos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

action-s3-cache's Issues

use s5cmd

https://github.com/peak/s5cmd

For uploads, s5cmd is 32x faster than s3cmd and 12x faster than aws-cli. For downloads, s5cmd can saturate a 40Gbps link (~4.3 GB/s), whereas s3cmd and aws-cli can only reach 85 MB/s and 375 MB/s respectively.

can we use this to make the s3 powered cache faster?

prefix-match with multiple restore-keys

https://github.com/actions/cache allows giving it multiple restore-keys and it'll try to prefix-match them in order against existing cache entries. This allows useful setups like having a cache per repository branch, with a fallback to get the cache of the default branch when a branch is new (i.e. a PR just got opened). It would be nice if actions-s3-cache supported this too.

Publicly accessible S3 for PRs

I'd like to set up my S3 cache so that CI runs on pull requests can read from the cache, but for security reasons they shouldn't be able to write to it. I tried this by

  • making AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY GitHub Secrets. GitHub Actions make sure that they're only available when built in a branch of the repository, not on PRs.
  • making the S3 bucket publicly readable

Now, unfortunately, action-s3-cache doesn't seem to be able to read public S3 buckets. If I omit the AWS_SECRET_ACCESS_KEY and AWS_ACCESS_KEY_ID variables when calling it, it fails with an error

2021/04/25 23:45:09 NoCredentialProviders: no valid providers in chain. Deprecated.
	For verbose messaging see aws.Config.CredentialsChainVerboseErrors

What's the best way to make this work?

S3 storage class

Hi, thanks for this great project.

It would be cool if it was possible to change the S3 storage class. For caches, OneZoneIA is enough and probably cheaper than Standard.

[feature] Allow for 3rd party S3 providers

Hi!

Opening this ticket to keep track of this potential feature : it would be great to be able to use Minio or Scaleway S3 providers with this lib.

I'm not a Golang developer, but I may give it a try in the upcoming weeks. It seems feasible.

Thanks for this action ๐Ÿ™ , you may want to chime in actions/cache#354 and let them know!

Not a valid zip file error

Hi,

Sometimes I get the following error when getting a cache from S3:

2023-04-19T11:32:04.0904284Z 2023/04/19 11:32:04 Cache downloaded successfully, containing 8870952960 bytes
2023-04-19T11:32:04.0904886Z 2023/04/19 11:32:04 zip: not a valid zip file

It seems that the problem is not with the zip file that's stored in a bucket cause if I rerun the failed GitHub Actions job everything works fine.

What are the possible causes of such error?

Let me know if you require any additional information.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.