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

CI - create archive of dependency sources #7153

Closed
wants to merge 6 commits into from
Closed

Conversation

kumavis
Copy link
Member

@kumavis kumavis commented Sep 11, 2019

status: experiment

the intention of this is to create an uncorruptible record of the dependencies used to create the build

@metamaskbot
Copy link
Collaborator

Builds ready [59874e6]

@kumavis
Copy link
Member Author

kumavis commented Sep 11, 2019

I've created a monster

@metamaskbot
Copy link
Collaborator

Builds ready [37471d4]

@Gudahtt
Copy link
Member

Gudahtt commented Sep 11, 2019

I see what you mean about the CircleCI conditional steps being not fun. It looks like they can't take environment variables at all, so it might not be possible to use them for this kinda thing.

Maybe we could do something like this instead: Gudahtt@269b6c0
It's not pretty, but it works (I think).
I was tempted to add a prep-deps job that included both to avoid having to list both as requirements, but adding another stage (even a "dummy" stage with just an 'echo' like all-tests-pass) has a substantial performance impact.

@Gudahtt
Copy link
Member

Gudahtt commented Sep 11, 2019

We should probably also consider storing these somewhere aside from CircleCI, as they don't make guarantees about how long artifacts remain available.

@kumavis
Copy link
Member Author

kumavis commented Sep 11, 2019

wow, uploading artifacts as tar.gz vs as files is a crazy difference
tar.gz took 2s, individual files has been running for 1+hr 😲

@kumavis
Copy link
Member Author

kumavis commented Sep 11, 2019

@Gudahtt i think its probly best to do the conditions in shell scripts and not put too much into the circle config. one thing to note tho is that the store_artifacts must be in the config

@Gudahtt
Copy link
Member

Gudahtt commented Sep 11, 2019

Yeah, that would probably be best. We can just store an empty deps-archive in the default case.

@kumavis
Copy link
Member Author

kumavis commented Sep 11, 2019

need to verify if artifacts can be tampered with, not sure how they would be tho if it needs to be in the circleci config

@kumavis
Copy link
Member Author

kumavis commented Sep 11, 2019

fyi archive size: yarn-cache.tar.gz (288 MB) link here

@kumavis
Copy link
Member Author

kumavis commented Sep 11, 2019

oh! we could likely upload the archive to github releases (this may affect our manipulation risk)

@kumavis
Copy link
Member Author

kumavis commented Sep 11, 2019

you seem to be able to slap a whole 300mb into the releases page

image

@Gudahtt
Copy link
Member

Gudahtt commented Sep 11, 2019

The only limit I could find was 2 GB per file, which we're well within.

@kumavis
Copy link
Member Author

kumavis commented Sep 23, 2019

lets get #7208 merged first, then I'll update this

@whymarrh
Copy link
Contributor

@kumavis did you still want to merge this?

@whymarrh
Copy link
Contributor

status: experiment

I'm closing this for now, we can re-open it when we update it

@whymarrh whymarrh closed this Jan 30, 2020
@whymarrh whymarrh deleted the yarn-no-scripts branch February 27, 2020 02:24
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

Successfully merging this pull request may close these issues.

4 participants