aws / aws/aws-encryption-sdk-python

CI: Avoid GH throttling via Consolidation

Abierto
#565 0 comentarios 0 reacciones 0 asignados Ver en GitHub
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.