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

Added some CICD best practices to the documentation #5827

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

Murdock9803
Copy link
Contributor

@Murdock9803 Murdock9803 commented Oct 9, 2024

Tracking issue

Closes #4685

Why are the changes needed?

The documentation at this page talks about Github Actions with CI/CD and Flyte. But, It can be new to many people to work with CICD process and some extra documentation will be helpful.

What changes were proposed in this pull request?

In the docs/user_guide/flyte_fundamentals/registering_workflows.md file, which can be seen deployed at this page, I added some documentation related to CI/CD best practices near the end of the file.

How was this patch tested?

The Pull Request is about simple Documentation changes.

Check all the applicable boxes

  • I updated the documentation accordingly.
  • All new and existing tests passed.
  • All commits are signed-off.

Related PRs

Docs link

Copy link

welcome bot commented Oct 9, 2024

Thank you for opening this pull request! 🙌

These tips will help get your PR across the finish line:

  • Most of the repos have a PR template; if not, fill it out to the best of your knowledge.
  • Sign off your commits (Reference: DCO Guide).

@Murdock9803
Copy link
Contributor Author

@davidmirror-ops @samhita-alla I tried to add the documentation regarding CICD, please have a look at this PR 🙌

Copy link

codecov bot commented Oct 9, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 36.82%. Comparing base (ffd72a0) to head (20469ff).

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #5827       +/-   ##
===========================================
- Coverage   50.80%   36.82%   -13.99%     
===========================================
  Files        1163     1309      +146     
  Lines       89206   130938    +41732     
===========================================
+ Hits        45325    48217     +2892     
- Misses      39881    78537    +38656     
- Partials     4000     4184      +184     
Flag Coverage Δ
unittests-datacatalog 51.58% <ø> (ø)
unittests-flyteadmin 54.03% <ø> (ø)
unittests-flytecopilot 11.73% <ø> (ø)
unittests-flytectl 62.40% <ø> (ø)
unittests-flyteidl 6.92% <ø> (?)
unittests-flyteplugins 53.64% <ø> (ø)
unittests-flytepropeller 43.00% <ø> (ø)
unittests-flytestdlib 55.41% <ø> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Murdock9803
Copy link
Contributor Author

I merged the changes (done by recently merged PRs) into my branch, so this PR does not have any merge conflicts 🙌

@Murdock9803
Copy link
Contributor Author

@davidmirror-ops The checks have passed, Please have a look at the Documentation and suggest required changes 🙌

@Murdock9803
Copy link
Contributor Author

@samhita-alla @davidmirror-ops I tried to improve the documentation, Please have a look. As this is a documentation change, I believe continuous feedback and improvement can make for a good article 😄 🙌

Copy link
Contributor

@davidmirror-ops davidmirror-ops left a comment

Choose a reason for hiding this comment

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

Left some comments. Thanks!


- **Container Image Specification** : When managing multiple images across tasks within a Flyte workflow, use the `--image` flag during registration to specify which image to use. This avoids hardcoding the image within the task definition, promoting reusability and flexibility in workflows.

- **Helm and GoReleaser for Packaging and Releasing**: Use Helm for managing Kubernetes package releases and GoReleaser for automating the release of Go applications. These tools streamline the packaging and distribution processes, making the CI/CD pipeline more robust and manageable. These are used in the `helm-release` and `manifest-release` jobs.
Copy link
Contributor

@davidmirror-ops davidmirror-ops Oct 25, 2024

Choose a reason for hiding this comment

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

I think we can remove this one (line 380), we don't expect users to release Go apps with Flyte.


- **Versioning Strategy** : Determining the version of the build for different types of commits makes them consistent and identifiable. For commits on feature branches, use `<branch-name>-<short-commit-hash>` and for the ones on main branches, use `main-<short-commit-hash>`. Use version numbers for the released (tagged) versions.

- **Container Image Management** : With Docker or any other CRI-compliant engine, build and push images to maintain traceability and consistency across environments.
Copy link
Contributor

@davidmirror-ops davidmirror-ops Oct 25, 2024

Choose a reason for hiding this comment

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

Also we can remove this one (line 374) as it's pretty generic

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.

[Docs] document ci/cd best practices
3 participants