From 7f37fe311c36039fed716be55ee94e3a60107470 Mon Sep 17 00:00:00 2001 From: Miguel Alves Cordeiro Braz Date: Tue, 15 Sep 2026 19:03:01 -0300 Subject: [PATCH] fix(ci): publica site na branch gh-pages --- .github/workflows/deploy.yml | 31 +++++++++++++------------------ README.md | 8 ++++---- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 74a4361..ba73a37 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -47,17 +47,12 @@ jobs: run: npm run test --if-present publicar: - name: Publicar no GitHub Pages + name: Publicar na branch gh-pages if: github.event.action == 'closed' && github.event.pull_request.merged == true needs: validar runs-on: ubuntu-latest - environment: - name: github-pages - url: ${{ steps.publicacao.outputs.page_url }} permissions: - contents: read - pages: write - id-token: write + contents: write steps: - name: Obter versão integrada na main @@ -78,14 +73,14 @@ jobs: - name: Gerar site de produção run: npm run build - - name: Configurar GitHub Pages - uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5 - - - name: Enviar artefato do site - uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3 - with: - path: dist - - - name: Publicar site - id: publicacao - uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4 + - name: Configurar autoria do commit de publicação + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + - name: Publicar arquivos estáticos + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" + npx gh-pages -d dist -b gh-pages diff --git a/README.md b/README.md index 797b55a..10f6358 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ O Vite inicia o servidor de desenvolvimento em `http://localhost:5173`. | `npm run build` | Executa a checagem de tipos e gera `dist/`. | | `npm run check` | Executa `lint` e `build`; é o comando de validação padrão. | | `npm run preview` | Serve localmente a versão gerada em `dist/`. | -| `npm run deploy` | Publica manualmente em `gh-pages`; não é utilizado pelo CI/CD. | +| `npm run deploy` | Publica manualmente os arquivos de `dist/` na branch `gh-pages`. | ## Organização do código @@ -80,8 +80,8 @@ Ainda não há uma suíte de testes automatizados configurada. A pipeline execut O workflow [`.github/workflows/deploy.yml`](.github/workflows/deploy.yml) é acionado por Pull Requests direcionados à `main`. - Em abertura, reabertura ou atualização do PR, instala dependências com `npm ci` e executa validação e testes disponíveis. -- Em um PR fechado com merge, recompila a versão integrada da `main` e a publica no GitHub Pages. -- O job de validação tem permissão apenas de leitura. As permissões de publicação (`pages: write` e `id-token: write`) são concedidas exclusivamente no job de deploy após o merge. +- Em um PR fechado com merge, recompila a versão integrada da `main` e publica os arquivos gerados na branch `gh-pages`. +- O job de validação tem permissão apenas de leitura. A permissão de escrita em conteúdo é concedida exclusivamente ao job de publicação após o merge. - As actions são fixadas em commits imutáveis para reduzir o risco de alterações não revisadas em tags. -No repositório do GitHub, configure **Settings → Pages → Build and deployment → Source** como **GitHub Actions** para habilitar a primeira publicação pelo workflow. +No repositório do GitHub, mantenha **Settings → Pages → Build and deployment → Source** configurado para servir a branch `gh-pages` a partir do diretório `/ (root)`.