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

Github Actions artifact caching #6678

Closed
1 of 2 tasks
runspired opened this issue Nov 5, 2019 · 6 comments
Closed
1 of 2 tasks

Github Actions artifact caching #6678

runspired opened this issue Nov 5, 2019 · 6 comments

Comments

@runspired
Copy link
Contributor

runspired commented Nov 5, 2019

We currently have two categories of assets for which a cache would significantly improve the run times of our actions-based PR checks. The actions/cache that Github provides is ideal for this.

  • node_modules

We should cache node_modules by hashing our yarn.lock file. This would allow commits that do not change the lock file to reuse the same assets easily.

Example: https://github.com/actions/cache/blob/master/examples.md#node---yarn

  • Production Build Dists

We should cache the built dist artifacts from yarn workspace ember-data ember build -e production. These should be cached by SHA. Most commonly commits comparing themselves to master will reuse SHAs on master (AssetSizeCheck, Tracerbench perf analysis), but also we currently do production builds for the SHA being tested by the AssetSizeCheck as well as for running tests in production. We should be able to build once for both jobs.

@igorT
Copy link
Member

igorT commented Nov 7, 2019

@runspired is there an easy way to bust the cache? I have some ptsd from cached node_modules

@runspired
Copy link
Contributor Author

@igorT we would likely use an ENV for that. It’s a good question for the actions team though I’ll ask them.

@igorT
Copy link
Member

igorT commented Nov 7, 2019

How would that work? Lets say a test suspiciously fails, I would make a new commit with a flag?

@runspired
Copy link
Contributor Author

Probably. There’s a lot of things we could do. We could also write an action that we manually trigger from the UI to purge all caches I think, need to check on that.

@runspired
Copy link
Contributor Author

We mostly have this infra in place now, but would love someone to finish polishing it up and getting it over the line

@runspired
Copy link
Contributor Author

with turbo this is no longer a distinct ticket

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Continuous Integration
  
Quest Issues
Development

No branches or pull requests

2 participants