argocd-helm/scripts/release-analysis
Tim Collins 56c5a31c9e
feat(github): Analyse past release times (#3135)
* feat(github): Analyse past release times

Signed-off-by: Tim Collins <tim@thecollins.team>

* typo

Signed-off-by: Tim Collins <tim@thecollins.team>

* add megalinter config. Fix my rubbish code to appease the linter

Signed-off-by: Tim Collins <tim@thecollins.team>

---------

Signed-off-by: Tim Collins <tim@thecollins.team>
Co-authored-by: Aikawa <yu.croco@gmail.com>
2025-01-29 13:43:03 +00:00
..
.mega-linter.yaml feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
argo_helm_releases.csv feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
argo_releases.csv feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
Dockerfile feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
fetch_helmet_releases.py feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
fetch_releases.py feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
main.py feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
merge_csvs.py feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
merged_releases.csv feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
plot_graph.py feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
README.md feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
requirements.txt feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
time_difference_plot_argo-cd.png feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
time_difference_plot_argo-events.png feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
time_difference_plot_argo-rollouts.png feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00
time_difference_plot_argo-workflows.png feat(github): Analyse past release times (#3135) 2025-01-29 13:43:03 +00:00

argo-helm release analysis

Compare the time of the upstream release to the time of the equivalent Helm Chart release to determine the time it takes for a new release to be available in argo-helm.

How to run

This is quite github-api-intensive, so you'll need a github PAT

# Build the container
docker build . -t team-helm-analysis

# Delete any existing data
rm -f argo_helm_releases.csv argo_releases.csv merged_releases.csv time_difference_plot_argo*.png

# Run the container
GITHUB_TOKEN=your_token_here
docker run --rm -e GITHUB_TOKEN=$GITHUB_TOKEN -v ${PWD}:/app team-helm-analysis

You should get 3 csvs and 4 graphs once this completes. It takes around 5 mins to run.

Linting

I ran megalinter against this just to give some confidence that it's not completely broken. It's not perfect, but it's something.

Run megalinter locally against this directory with: docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:rw -v $(pwd):/tmp/lint:rw oxsecurity/megalinter:v8