-
Notifications
You must be signed in to change notification settings - Fork 110
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
CircleCI to Github actions migration for Kedro-Viz (Release) #1876
Conversation
Signed-off-by: Jitendra Gundaniya <jitendra_gundaniya@mckinsey.com>
Signed-off-by: Jitendra Gundaniya <jitendra_gundaniya@mckinsey.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overall looks fine to me! Ready for review?
Yes! |
Hi @jitu5 , I have left few comments, but most of the code looks great. I feel the migration work is neat and very well organized. Awesome work !! Thank you |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Reminder to set up the secrets in repo settings and change "required" test to merge-gatekeeper
! @rashidakanchwala might also have to disable CircleCI entirely
Signed-off-by: Jitendra Gundaniya <jitendra_gundaniya@mckinsey.com>
Signed-off-by: Jitendra Gundaniya <jitendra_gundaniya@mckinsey.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ravi-kumar-pilla Yes, we treat it as local and show experiment tracking for the following hosts: |
Signed-off-by: Jitendra Gundaniya <jitendra_gundaniya@mckinsey.com>
Co-authored-by: rashidakanchwala <37628668+rashidakanchwala@users.noreply.github.com> Signed-off-by: Jitendra Gundaniya <38945204+jitu5@users.noreply.github.com>
@@ -36,17 +40,25 @@ jobs: | |||
package_name: ${{ steps.version_check.outputs.package_name }} | |||
package_version: ${{ steps.version_check.outputs.package_version }} | |||
|
|||
prepare-release: | |||
needs: [check-version] | |||
test-kedro-viz: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
qq - what is this for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rashidakanchwala Ref: #1785 (comment)
Previously We run all the above jobs in parallel which means even if the tests fail for some reason, we still tag our release and publish it to npm, pypi. this change will runs all the required tests (lint, unit, e2e) -> tags the release -> releases it to pypi and npm in a sequence.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazzzing!!!
Description
Resolves #1785
Development notes
The migration from CircleCI to GitHub Actions will have to be done in parts. This PR addresses the Release part, and the test part was already merged.
Workflows:
deploy-demo.yml
:check-release.yml
:check-version
checks if the version specified on the kedro_viz/__init__.py file is on PyPI already or not. If it isn't, that means a release should be triggered.test-kedro-viz
runs the test suite with all-checks.ymlprepare-release
, extracts release notes from RELEASE.md(using tools/github_actions/extract_release_notes.py) and creates a GitHub release.release.yml
:release_to_npm
checks out the code, sets up Node.js, installs Node dependencies, builds the React application, and then publishes the package to npm.release_to_pypi
checks out the code, sets up tests, makes a Python package, installs twine, and then publishes the package to PyPI.Miro board link
Notes
For demo-project/Dockerfile file, python version updated from 3.8 to 3.9
CircleCI config files removed.
Now publishing to PyPi & npm happening in
check-release -> tests (lint, unit, e2e, js-lint-test) -> tags the release -> releases
I successfully ran all the workflow in private repo. For reference:
For PyPi
https://github.com/jitu5/kedro-viz/actions/runs/8816265319/job/24200003147
https://test.pypi.org/project/kedro-vizzz/9.0.0/
For npm
https://github.com/jitu5/kedro-viz/actions/runs/8816265319/job/24200002881
https://www.npmjs.com/package/kedro-vizzz
For deploy demo
https://github.com/jitu5/kedro-viz/actions/runs/8805821140/job/24169247490
https://jitu5-kedro-viz.puqtrjp4c6474.eu-west-2.cs.amazonlightsail.com/
QA notes
Checklist
RELEASE.md
file