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

CircleCI to Github actions migration for Kedro-Viz (Release) #1876

Merged
merged 11 commits into from
May 21, 2024

Conversation

jitu5
Copy link
Contributor

@jitu5 jitu5 commented Apr 24, 2024

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:

    • Triggered by push on the demo branch.
    • Sets up the environment, installs AWS CLI, builds a Docker image of the demo project, and pushes it to AWS ECR.
    • The script for building the Docker image and pushing it to AWS ECR is embedded in the Build demo container image step.
    • Creates a new AWS Lightsail deployment using the lightsail.json config file.
    • It deploys the demo project to AWS Lightsail.
  • check-release.yml:

    • Triggered by push on main branch.
    • The first job - 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.
    • The script for checking of versions is tools/github_actions/check_version.py
    • The second job - test-kedro-viz runs the test suite with all-checks.yml
    • The third job - prepare-release, extracts release notes from RELEASE.md(using tools/github_actions/extract_release_notes.py) and creates a GitHub release.
  • release.yml:

    • Triggered by a GitHub release publish event.
    • The first job - 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.
    • The second job - release_to_pypi checks out the code, sets up tests, makes a Python package, installs twine, and then publishes the package to PyPI.
Screenshot 2024-04-24 at 2 20 15 p m

Miro board link

Notes

QA notes

Checklist

  • Read the contributing guidelines
  • Opened this PR as a 'Draft Pull Request' if it is work-in-progress
  • Updated the documentation to reflect the code changes
  • Added new entries to the RELEASE.md file
  • Added tests to cover my changes

Signed-off-by: Jitendra Gundaniya <jitendra_gundaniya@mckinsey.com>
@jitu5 jitu5 self-assigned this Apr 24, 2024
jitu5 and others added 2 commits April 24, 2024 18:44
Signed-off-by: Jitendra Gundaniya <jitendra_gundaniya@mckinsey.com>
Copy link
Contributor

@ankatiyar ankatiyar left a 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?

@jitu5 jitu5 marked this pull request as ready for review April 26, 2024 09:52
@jitu5
Copy link
Contributor Author

jitu5 commented Apr 26, 2024

overall looks fine to me! Ready for review?

Yes!

@jitu5 jitu5 requested a review from Huongg April 26, 2024 10:07
@ravi-kumar-pilla
Copy link
Contributor

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

Copy link
Contributor

@ankatiyar ankatiyar left a 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

.github/workflows/check-release.yml Show resolved Hide resolved
jitu5 and others added 3 commits May 1, 2024 12:16
Signed-off-by: Jitendra Gundaniya <jitendra_gundaniya@mckinsey.com>
Signed-off-by: Jitendra Gundaniya <jitendra_gundaniya@mckinsey.com>
Copy link
Contributor

@ravi-kumar-pilla ravi-kumar-pilla left a comment

Choose a reason for hiding this comment

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

The demo link does not have experiment tracking, but our demo site should have ET. Apart from this, PR LGTM. Awesome work @jitu5 !! Thank you

@jitu5
Copy link
Contributor Author

jitu5 commented May 1, 2024

The demo link does not have experiment tracking, but our demo site should have ET. Apart from this, PR LGTM. Awesome work @jitu5 !! Thank you

@ravi-kumar-pilla Yes, we treat it as local and show experiment tracking for the following hosts: 'localhost', '127.0.0.1', and 'demo.kedro.org'.

jitu5 and others added 2 commits May 20, 2024 12:19
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:
Copy link
Contributor

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?

Copy link
Contributor Author

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.

Copy link
Contributor

@rashidakanchwala rashidakanchwala left a comment

Choose a reason for hiding this comment

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

Amazzzing!!!

@jitu5 jitu5 merged commit 5a7b2af into main May 21, 2024
20 of 21 checks passed
@jitu5 jitu5 deleted the feature/gha-release branch May 21, 2024 11:37
@rashidakanchwala rashidakanchwala mentioned this pull request May 29, 2024
5 tasks
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

Successfully merging this pull request may close these issues.

Migrate Kedro-Viz from CircleCI to GitHub Actions
4 participants