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

Closed
wants to merge 0 commits into 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

WorkflowTemplate example includes:

CI

Description Resource Status
Argo Workflows API endpoint, submits WorkflowTemplate WorkflowEventBinding ☑️
Build the CLI WorkflowTemplate ☑️
Build images using Buildkit - Push images 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 WorkflowTemplate ☑️

Pipeline

Description Resource Status
Combine CI and CD jobs with an approval step WorkflowTemplate ☑️

CD

Description Resource Status
Tag and push tag WorkflowTemplate ☑️
Update deployment manifests using kustomize edit set image WorkflowTemplate ☑️
Commit deployment manifests WorkflowTemplate ☑️
Start Argo CD sync step WorkflowTemplate ☑️

Documentation & Configuration

Description Resource Status
CI, CD, & Pipeline Documentation Comments ☑️
Service Account for WorkflowEventBinding ServiceAccount ☑️
$ARGO_TOKEN - Bearer Authorization for WorkflowEventBinding Secret ☑️
Role to submit workflow templates for WorkflowEventBinding Role ☑️
RoleBinding the Role to the ServiceAccount for WorkflowEventBinding RoleBinding ☑️
Docker configuration - Hub credentials Secret ☑️
GitHub PAT - GitHub credentials Secret ☑️
ArgoCD server and credentials Secret ☑️
ArgoCD network policy NetworkPolicy ☑️

Verification

Thoroughly tested the workflow:

  • E2E Workflow
Screenshot 2024-11-10 at 2 03 19 PM
  • Workflow steps

  • 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
Screenshot 2024-11-12 at 11 35 58 AM
  • approval
Screenshot 2024-11-08 at 1 00 57 PM
  • docker-tag-push
Screenshot 2024-11-08 at 1 04 11 PM
  • update-manifests
Screenshot 2024-11-08 at 1 04 46 PM
  • commit-manifests
Screenshot 2024-11-08 at 1 05 08 PM
  • start-argocd-sync
Screenshot 2024-11-08 at 1 07 01 PM

@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