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

docs: Add CI/CD example for building Argo Workflows using Argo Workflows - Fixes #8591 #13876

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

wesleyscholl
Copy link

@wesleyscholl wesleyscholl commented Nov 6, 2024

A detailed example for implementing CI/CD pipelines to build Argo Workflows using Argo Workflows

Fixes #8591

Motivation

This issue was more than 2 years old and I wanted to contribute to the project. I also work with Argo Workflows everyday and I'm CAPA certified (Certified Argo Project Associate).

Modifications

CI

  • WorkflowEventBinding
  • WorkflowTemplate - Build the CLI.
  • WorkflowTemplate - Build images using Buildkit - Pushes image to Docker Hub
  • WorkflowTemplate - Run unit tests and collect test report.
  • WorkflowTemplate - Run coverage and collect report.
  • WorkflowTemplate - Deploy to a cluster.
  • WorkflowTemplate - Run basic E2E tests and collect report.
  • CI Documentation

CD

  • Tag and push tag.
  • Update deployment manifests using kustomize edit set image.
  • Commit deployment manifests.
  • Start Argo CD sync step.
  • CD Documentation

Pipeline

  • Combine CI and CD jobs with an approval step.
  • Pipeline Documentation

Verification

  • Thoroughly tested each step in the workflow.

  • clone-repo

Screenshot 2024-11-07 at 9 29 08 AM
  • build-cli
Screenshot 2024-11-07 at 9 50 37 AM
  • create-exec-image
Screenshot 2024-11-07 at 10 13 17 AM
  • create-cli-image
Screenshot 2024-11-07 at 10 55 04 AM
  • run-tests
Screenshot 2024-11-07 at 12 02 53 PM
  • run-coverage
Screenshot 2024-11-07 at 12 09 01 PM
  • prepare-deploy-to-cluster-e2e-test

  • approval

  • docker-tag-push

  • update-manifests

  • commit-manifests

  • start-argocd-sync

…8591

This commit introduces a detailed example for implementing CI/CD pipelines to build Argo Workflows using Argo Workflows:

- **CI**: Includes steps for initializing builds via webhook, building the CLI, using Buildkit for image builds, running tests, collecting coverage reports, deploying to a cluster, and executing basic E2E tests.
- **CD**: Covers tagging, updating manifests with kustomize, committing updates, and initiating an Argo CD sync.
- **Pipeline**: Integrates CI and CD jobs with an approval step.

Signed-off-by: Wesley Scholl <[email protected]>
@wesleyscholl wesleyscholl changed the title feat: Add CI/CD example for building Argo Workflows using Argo Workflows. Closes #8591 feat: Add CI/CD example for building Argo Workflows using Argo Workflows. Fixes #8591 Nov 7, 2024
@wesleyscholl wesleyscholl changed the title feat: Add CI/CD example for building Argo Workflows using Argo Workflows. Fixes #8591 docs: Add CI/CD example for building Argo Workflows using Argo Workflows. Fixes #8591 Nov 7, 2024
@wesleyscholl wesleyscholl changed the title docs: Add CI/CD example for building Argo Workflows using Argo Workflows. Fixes #8591 docs: Add CI/CD example for building Argo Workflows using Argo Workflows - Fixes #8591 Nov 7, 2024
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.

Add an example of CI/CD - one that builds Argo Workflows, using Argo Workflows
1 participant