aws / aws/aws-encryption-sdk-python
CI: Avoid GH throttling via Consolidation
- Lenguaje dominante
- Python
- Estrellas
- 255
- Forks
- 92
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 2
Descripción
#### Issue:
Our CI can fail due to GitHub throwing a 429.
i.e: Too many CI actions tried to pull from the repo and GitHub throttled us.
There are two causes of this:
1. We use GH Workflow Matrices, which spawn a job per entry
2. Every Dependabot PR updates on a merge
Thus the requests to pull the Repo from GitHub is:
```
|dependabot_prs| x 79
```
Where 79 is the current number of individual GitHub actions created through our matrix use.
#### A Solution:
Too prevent this in the future, we should consolidate are GitHub Workflow Jobs.
Technically, a Job could run all the tox envs for a OS Version,
even across Python versions.
That would dramatically reduce the requests to pull the repo down.
This reduce the number GitHub Jobs and increase the Steps per Job.
We would loose some of our high level test reporting,
but I believe that is acceptable.
_Originally posted by @texastony in https://github.com/aws/aws-encryption-sdk-python/issues/564#issuecomment-1441033254_
Guía de contribución
Línea de trabajo
Comienza localizando las definiciones de la matriz de GitHub Workflow y revisando cómo se distribuyen los entornos de tox entre los trabajos de sistema operativo y de versión de Python. Compara el número actual de trabajos con una disposición consolidada y, a continuación, verifica que CI siga ejecutando todos los entornos de tox e informe de los fallos de forma aceptable sin activar la limitación de GitHub.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- github-actions, python
- Área
- ci-cd
- Tipo de issue
- Refactorización
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 30/100