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 / Local dev refresh and Helm2->3 transition #1188

Merged
merged 46 commits into from
Nov 3, 2020

Conversation

consideRatio
Copy link
Member

@consideRatio consideRatio commented Oct 31, 2020

With a easy to understand CI system without tangled configuration that influence too many things at once, I hope that it will help myself and others to make contributions to this project in the long term. I wanted to update this step by step towards being easier to understand, maintain, and update it with tricks learned over time.

Work to be done

Review notes

  • No tooling changes. We still use minikube and I have not introduced new tooling (except the helm v2 to v3 migration).
  • No changes to BinderHub or Helm chart itself. This PR only impacts the CI system local development instructions, and the guide with regards to now having instructions on how to use Helm 3 rather than Helm 2.
  • CONTRIBUTING.md would benefit from your review. I have improved them especially with regards to anyone wanting to develop the Helm chart in full rather than a BinderHub running locally interacting with a JupyterHub running in k8s.

Positive outcomes

  1. CI refactoring reduced complexity. This will make it easier to maintain for current maintainers, but for me, the most important part is that it can attract more maintenance contributions which makes the project more sustainable in the long term.
  2. Helm2 to Helm3 migration complete.
  3. Helm3 based template and rendered template validation. helm3 template --validate both renders the templates but also validates them as valid k8s resources against a k8s api-server. It is a more heavy weight option to using kubeval and such tools as it requires a k8s api-server to speak with.
  4. Faster CI jobs. With the chartpress feature developed, we can avoid triggering rebuilds of the BinderHub docker image for the Helm chart all the time, which can save us multiple minutes in build time.

@consideRatio consideRatio changed the title CI docs and refactoring for easier maintenanc CI docs, refactoring, and refresh for a better maintenance experience Oct 31, 2020
@consideRatio consideRatio force-pushed the pr/ci-test-refactoring branch from eb05ca9 to c71b52b Compare October 31, 2020 16:11
@consideRatio consideRatio force-pushed the pr/ci-test-refactoring branch 5 times, most recently from eca9320 to d4847ed Compare October 31, 2020 23:51
@consideRatio consideRatio force-pushed the pr/ci-test-refactoring branch from 4e498b7 to 9665399 Compare November 1, 2020 23:06
@consideRatio consideRatio changed the title CI docs, refactoring, and refresh for a better maintenance experience CI / Local dev refresh and Helm2->3 transition Nov 2, 2020
Copy link
Member

@sgibson91 sgibson91 left a comment

Choose a reason for hiding this comment

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

Thank you for this work @consideRatio! ✨ I have just left a few comments but this looks good to me :)

.gitattributes Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Show resolved Hide resolved
CONTRIBUTING.md Show resolved Hide resolved
CONTRIBUTING.md Show resolved Hide resolved
doc/zero-to-binderhub/setup-prerequisites.rst Outdated Show resolved Hide resolved
doc/zero-to-binderhub/setup-prerequisites.rst Outdated Show resolved Hide resolved
doc/zero-to-binderhub/setup-prerequisites.rst Show resolved Hide resolved
@consideRatio consideRatio added documentation maintenance Under the hood improvements and fixes labels Nov 2, 2020
CONTRIBUTING.md Outdated Show resolved Hide resolved
Co-authored-by: Sarah Gibson <44771837+sgibson91@users.noreply.github.com>
@consideRatio consideRatio force-pushed the pr/ci-test-refactoring branch from 84e8c83 to 3bb3eff Compare November 2, 2020 11:13
@consideRatio
Copy link
Member Author

@sgibson91 ❤️ 🎉 thank you for the review!!

@consideRatio
Copy link
Member Author

I am not looking to many any more changes to this PR at this point, and it is ready for a final review.

Merging this gives us faster CI + faster upgrades by not replacing the docker image as often for no reason.

@consideRatio consideRatio requested a review from bitnik November 3, 2020 08:10
@minrk
Copy link
Member

minrk commented Nov 3, 2020

Looks nice. Thanks!

@consideRatio
Copy link
Member Author

Chartpress 0.7.0 ability to not trigger a build of the images when not needed demonstrated to work in the CI system now.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation maintenance Under the hood improvements and fixes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants