Re-implement and enhance `check-formatting.yml` Github Actions workflow as a Node script
@miorel ya está trabajando en esto.
Desde el 17/8/2024.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
The workflow introduced in #225 is currently powered by a shell command, namely yarn format && git status --porcelain piped through some not very easy to maintain inline Perl.
Let's rewrite this as a Node script that's more maintainable. This is also an opportunity to address the other TODO in the workflow file, and have it output a summary as described at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary
The general behavior of the workflow should be:
- Run
yarn formatto rewrite any files that are not correctly formatted. This part can still happen outside Node, so for example the command we run becomes something likeyarn format && node some-script.js. - The script basically replaces the
git status --porcelainpart and the subsequent Perl expression it's piped into. The script should therefore still rungit status --porcelainfrom within Node and capture the output. - For each line in the output of
git status --porcelain, the script should remove the first 3 characters (see explanation of the format at https://git-scm.com/docs/git-status#_porcelain_format_version_1 to understand why) to get only the filename. It should then output an error message (using the format described at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-error-message) to indicate that the file in question doesn't respect the repository's formatting rules. - For bonus points (this part can be done as a separate PR) output a markdown summary at the end.
- If there were any files that were improperly formatted, the script should exit with a non-zero exit code so that the check fails and draws the attention of the author and reviewers.
- Lenguaje dominante
- TypeScript
- Estrellas
- 20
- Forks
- 12
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de code-chronicles-code/leetcode-curriculum
-
enhancement kotlin
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
good first issue tests
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
-
Add tests for `swap` utility Abiertogood first issue tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
-
good first issue tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
code-chronicles-code/leetcode-curriculum#418 · 1 comentario ·
Todos los issues de code-chronicles-code/leetcode-curriculum
Issues similares
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Crush Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ElementsProject/cln-application#167 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Quantco/pnpm-licenses#17 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100