CI: do not persist the checkout token, and test the minimum supported Node

Aberta Para iniciantes
#111 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
68/100
Tipo de issue
Refatoração
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
git, github-actions, nodejs
Domínio
build-system, ci-cd

Direção de pesquisa

Comece por .github/workflows/ci.yml e .github/workflows/deploy.yml, onde ambos os passos actions/checkout precisam de persist-credentials: false. Para o item do Node, compare package.json engines, .nvmrc e .github/dependabot.yml, e então decida com um mantenedor se adiciona uma entrada de matriz para Node 22 ou se eleva engines para 24. Concluído quando ambos os workflows passarem com a mudança no checkout e o CI testar a versão que engines declara.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

ci good first issue severity: low

Summary

Two small gaps in the GitHub Actions workflows: the checkout step leaves the job token in the local git config while dependency scripts run, and CI only tests Node 24 although the project says it supports Node 22.12 and later.

Checklist

  • Do not persist the checkout token. .github/workflows/ci.yml:18 and .github/workflows/deploy.yml:24 use actions/checkout without persist-credentials: false, so the job's GITHUB_TOKEN stays in .git/config while npm ci, lint, tests and the build run code from node_modules. The token is already least-privilege (contents: read, plus pages: read in the deploy build job), and nothing later in either job uses git with it, so add with: { persist-credentials: false } to both checkout steps. This is defence in depth: it matters if job permissions are widened later.
  • Test the oldest supported Node. package.json:7-9 declares "node": ">=22.12" and Dependabot pins @types/node to the oldest supported major (.github/dependabot.yml:15-17), but .nvmrc and both workflows use Node 24 only (ci.yml:21). Either add a Node 22 leg to ci.yml, or raise engines to >=24 and move @types/node to 24.

Acceptance criteria

  • Both checkout steps set persist-credentials: false, and both workflows still pass.
  • CI runs the declared minimum Node version, or engines matches what CI tests.

Getting started

  • Relevant files: .github/workflows/ci.yml, .github/workflows/deploy.yml, package.json, .nvmrc, .github/dependabot.yml
  • Related: #20, #23

Filed by repo-audit/full-audit at de2b25b. Severity: low. Effort: S. audit-key: ci|.github/workflows/ci.yml|actions/checkout persist-credentials

Linguagem predominante
TypeScript
Estrelas
3
Forks
3
Merge médio
8h 13min
PRs com merge (30d)
2

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de TMHSDigital/GH-Arcade

Todas as issues de TMHSDigital/GH-Arcade

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.