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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross Version Testing Locally and Faster CI #8610

Merged
merged 2 commits into from Mar 26, 2021

Conversation

adamgordonbell
Copy link
Contributor

@adamgordonbell adamgordonbell commented Mar 22, 2021

This is a 馃檵 feature or enhancement to the build process. Jekyll itself is unchanged.

  • I've adjusted the contributor documentation to explain how to use the local cross-version feature

Summary

Introduce earthly to speed up JRuby tests and allow for running the CI locally across various ruby versions. This build should be about 10 minutes faster than the previous build (40+ minutes -> 27ish minutes).

I discussed this change with @DirtyF via email.

The JRuby build in GitHub Actions is the bottleneck for the CI process. By introducing an earthfile, the step can be optimized a bit, and also it allows for running the CI locally, across various ruby versions, by using containers.

Details

You can now run the full CI locally by running:

earthly +all

GitHub Actions also does a similar process, although it calls individual steps, which can also be run locally like follows:

    earthly --build-arg RUBY=2.5 +test

I believe the build can be made a bit faster than this, by running the jruby cucumber tests in parallel. This will add a little complexity to the build script and probably take another 10 minutes off. Let me know if interested and I can try it out and create a follow on PR.

Additionally, one cucumber test was failing in master, I believe I have fixed it.

@adamgordonbell adamgordonbell marked this pull request as ready for review March 22, 2021 14:49
@DirtyF DirtyF requested a review from a team March 22, 2021 19:11
Copy link
Member

@mattr- mattr- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks fantastic. I left a whitespace nit that I would appreciate a fix for but won't let that block the PR

.github/workflows/ci.yml Outdated Show resolved Hide resolved
@adamgordonbell
Copy link
Contributor Author

This looks fantastic. I left a whitespace nit that I would appreciate a fix for but won't let that block the PR

You are too kind. Thanks for the review! I adjusted the whitespace.

@adamgordonbell
Copy link
Contributor Author

I believe this is ready to merge by someone with permission to do so.

@mattr-
Copy link
Member

mattr- commented Mar 26, 2021

@jekyllbot: merge +dev

@jekyllbot jekyllbot merged commit df24131 into jekyll:master Mar 26, 2021
jekyllbot added a commit that referenced this pull request Mar 26, 2021
github-actions bot pushed a commit that referenced this pull request Mar 26, 2021
Adam Bell: Cross Version Testing Locally and Faster CI (#8610)

Merge pull request 8610
@jekyll jekyll locked and limited conversation to collaborators Mar 26, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants