Skip to content
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

Git LFS usage quota #12

Open
holiman opened this issue Aug 13, 2019 · 8 comments
Open

Git LFS usage quota #12

holiman opened this issue Aug 13, 2019 · 8 comments
Assignees

Comments

@holiman
Copy link

holiman commented Aug 13, 2019

Hi,
The ethereum organization is reaching the max quota for Git LFS usage

You’ve used 100% of your data plan for Git LFS on the organization ethereum. Please purchase additional data packs to cover your bandwidth and storage usage:

The quota is not the size, but the bandwidth:

Screenshot_2019-08-13 Build software better, together

When I looked into it, it appears that only this particular repo uses LFS, due to this setting: https://github.com/ethereum/eth2.0-spec-tests/blob/master/.gitattributes

I'm not quite sure what this integration does, nor how LFS works, but is this really something that is needed?

Please advice if we need this, because if we do we'll have to purchase additional data packs.
cc @jpitts

@protolambda
Copy link
Collaborator

The problem here is that we are hosting mainnet-configuration tests, which are quite large. Too large really for a normal git repository. But we still wanted to version them. And then multiple eth2 implementer teams are downloading them, some of which didn't even care to cache them in their CI unfortunately. So we reached the free limit relatively quick. Things should be better with the latest refactor, since individual identical tests between versions do not have to be redownloaded anymore (since they are split up now, not big suite files anymore). Alternatively, we could buy a little data pack, if it's not too much (less than a single work hour for the rest of the year?)

@jpitts
Copy link
Member

jpitts commented Aug 13, 2019

Each data pack is $5 per month, I have purchased two. We will monitor this and will reduce it if this refactor does manage to bring the bandwidth usage down.

(sorry if I jumped the gun, LMK if I should cancel it for next month)

@holiman
Copy link
Author

holiman commented Aug 13, 2019

... aaand we hit the new (bumped) limit within a couple of hours... I think some other solution is needed

@protolambda
Copy link
Collaborator

Ah that's crazy, I wonder if one of the teams is still pulling in the complete repository every CI run. Will check with them, and see what others think. I hope the mainnet size tests can stay, otherwise we cut them.

@djrtwo
Copy link
Contributor

djrtwo commented Aug 13, 2019

I expect we might hit the 100GB limit sometime in the future, but because we are currently only using 10GB, we are needlessly introducing these bandwidth constraints on the repo with git-lfs.

Shall we downgrade to normal repo for the time being?

@djrtwo
Copy link
Contributor

djrtwo commented Aug 14, 2019

Never mind, I think a normal repo would have worse bandwidth restrictions.
Looks like all of the teams are now caching for CI. Hope that works. Otherwise need to look into something else.

@karalabe
Copy link
Member

Just found this issue. My SSZ lib currently does not cache on CI, though I don't expect a lot of activity on it either. If needed, I can enable some CI caching, but no idea how, so ping me if you see something annoying so I can look into it.

@protolambda
Copy link
Collaborator

@karalabe you can download the test vectors from the releases like this:

SPEC_VERSION ?=v1.5.0-alpha.3

download-tests:
	mkdir -p tests/spec/eth2.0-spec-tests
	wget https://github.com/ethereum/consensus-spec-tests/releases/download/$(SPEC_VERSION)/general.tar.gz -O - | tar -xz -C tests/spec/eth2.0-spec-tests
	wget https://github.com/ethereum/consensus-spec-tests/releases/download/$(SPEC_VERSION)/minimal.tar.gz -O - | tar -xz -C tests/spec/eth2.0-spec-tests
	wget https://github.com/ethereum/consensus-spec-tests/releases/download/$(SPEC_VERSION)/mainnet.tar.gz -O - | tar -xz -C tests/spec/eth2.0-spec-tests

This won't incur the same costs as git LFS, should be a bit faster, and the data can be cached in CI, with spec-version as key.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants
@karalabe @holiman @jpitts @djrtwo @protolambda and others