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

Cache Dependencies in GitHub Actions #454

Open
Kurt-von-Laven opened this issue Jun 2, 2021 · 2 comments
Open

Cache Dependencies in GitHub Actions #454

Kurt-von-Laven opened this issue Jun 2, 2021 · 2 comments

Comments

@Kurt-von-Laven
Copy link
Collaborator

I am not requesting this for my own benefit, but if faster CI performance is of interest, I would suggest using the official cache action or, more aggressively, zero installs.

@Jason3S
Copy link
Collaborator

Jason3S commented Jun 8, 2021

Most of the time goes towards building the dictionaries.

I have thought about keeping the {dictionary}.txt.gz files and only building them if their source changed. This is how the en_US dictionary is handled.

There are a few steps necessary to do this:

  1. Create a .js equivalent to shasum because it is not available on all platforms.
  2. Add checksum files and scripts to all dictionaries
  3. Create a workflow action that will build dirty dictionaries to ensure that the *.txt.gz files are up to date.
    This is needed because I think it is important to enable people to add words from the GitHub UI without needing to clone and build locally.

I have been moving towards this model because it make publishing easier and quicker.

@Kurt-von-Laven
Copy link
Collaborator Author

Oh, that makes sense that the dictionaries are the bottleneck on account of their size. What does building them entail exactly? For step 1, my instinct would be to use hashFiles. Manually compressing the dictionary files seems at face value like more work but the same result as using zero installs. I obviously have vastly less context on this code base than you do, so it won't surprise to learn I am missing some things.

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

2 participants