Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: "🐛 Relato de Problema / Bug"
about: Ajude-nos a identificar e corrigir algo que não está funcionando como esperado
title: "[BUG] "
labels: ["bug"]
assignees: ""
---

### ⚠️ O que está acontecendo?
<!-- Descreva o comportamento incorreto ou problema encontrado -->

### 🔄 Como reproduzir?
1. Acesse o site em `...`
2. Clique em `...`
3. Observe o erro: `...`

### 📱 Ambiente onde ocorreu o problema
- **Dispositivo:** (ex: Celular iPhone 14, Computador Dell)
- **Navegador:** (ex: Chrome 124, Safari, Firefox)
- **Sistema Operacional:** (ex: Android, iOS, Linux, Windows, macOS)

### 📸 Captura de tela (opcional)
<!-- Se possível, cole uma captura de tela para facilitar a correção -->
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/content_update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: "📝 Atualização de Conteúdo / Texto"
about: Sugira correções de texto, links, fotos ou informações do evento
title: "[DOCS] "
labels: ["documentation", "good first issue"]
assignees: ""
---

### 📄 Onde está o texto ou informação a ser alterada?
- [ ] No arquivo `variables.yaml`
- [ ] No arquivo `README.md`
- [ ] Em uma página Jinja2 (`pages/index.j2` ou `templates/base.j2`)
- [ ] Imagem ou foto da galeria (`static/img/`)

### ✏️ O que deve ser alterado?
- **Texto / Conteúdo Atual:**
> ...

- **Novo Texto / Sugestão:**
> ...

### 🤝 Você gostaria de enviar um Pull Request com essa correção?
- [ ] Sim, quero fazer a alteração!
- [ ] Não, apenas sugerindo.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: "✨ Sugestão de Melhoria / Funcionalidade"
about: Sugira uma nova ideia, seção ou melhoria para o site da PyNE 2027
title: "[FEAT] "
labels: ["enhancement", "good first issue"]
assignees: ""
---

### 💡 Qual é a ideia ou funcionalidade sugerida?
<!-- Descreva de forma clara e objetiva o que você gostaria de ver no site -->

### 🎯 Qual problema isso resolve ou qual valor agrega à comunidade?
<!-- Ex: Ajuda participantes a encontrarem hospedagem, melhora a navegação no celular, etc. -->

### 🎨 Proposta visual ou referências (opcional)
<!-- Se tiver prints, rascunhos, links de outros sites de eventos Python (ex: PyNE 2024, PythonBrasil), inclua aqui -->

### 🤝 Você gostaria de trabalhar nessa issue?
- [ ] Sim, quero enviar um Pull Request!
- [ ] Não, apenas sugerindo para a comunidade.
67 changes: 67 additions & 0 deletions .github/labels.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
[
{
"name": "type: feat",
"color": "0e8a16",
"description": "Nova funcionalidade ou componente visual"
},
{
"name": "type: enhancement",
"color": "1d76db",
"description": "Melhoria em funcionalidade existente"
},
{
"name": "type: bug",
"color": "d93f0b",
"description": "Correção de comportamento inesperado ou erro"
},
{
"name": "type: docs",
"color": "0075ca",
"description": "Atualização de textos, README ou documentação"
},
{
"name": "type: chore",
"color": "7057ff",
"description": "Tarefas técnicas, CI/CD ou dependências"
},
{
"name": "type: a11y",
"color": "fbca04",
"description": "Acessibilidade (WCAG, leitores de tela, contraste)"
},
{
"name": "scope: ui/ux",
"color": "bfdadc",
"description": "Interface, CSS, animações e responsividade"
},
{
"name": "scope: content",
"color": "d4c5f9",
"description": "Textos, copies e informações do evento"
},
{
"name": "scope: community",
"color": "f9d0c4",
"description": "Código de conduta, voluntários e inclusão"
},
{
"name": "scope: sponsor",
"color": "fef2c0",
"description": "Patrocínio, cotas e media kit"
},
{
"name": "scope: schedule",
"color": "c2e0c6",
"description": "Programação, palestras e palestrantes"
},
{
"name": "good first issue",
"color": "7057ff",
"description": "Ideal para pessoas iniciando no código aberto"
},
{
"name": "help wanted",
"color": "008672",
"description": "Tarefa aberta aguardando contribuição"
}
]
77 changes: 77 additions & 0 deletions .github/workflows/ci-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: CI - Contribuições e Deploy Staging (dev)

on:
push:
branches:
- dev
pull_request:
branches:
- dev

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read
pages: write
id-token: write

jobs:
validate:
name: Validação de Código e Renderização
runs-on: ubuntu-latest

steps:
- name: Checkout do código
uses: actions/checkout@v4

- name: Instalar uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"
enable-cache: true

- name: Instalar Python e dependências
run: |
uv python install 3.14
uv sync --extra dev

- name: Verificar Lint (Ruff)
run: uv run ruff check .

- name: Verificar Formatação (Ruff Format)
run: uv run ruff format --check .

- name: Executar Testes Automatizados (Pytest)
run: uv run pytest -v

- name: Testar Renderização Estática (Build)
run: uv run main render

- name: Verificar Integridade do Site Gerado
run: |
test -f dist/index.html || (echo "dist/index.html não foi gerado!" && exit 1)
test -f dist/static/img/favicon.png || (echo "dist/static/img/favicon.png não foi encontrado!" && exit 1)
test -f dist/robots.txt || (echo "dist/robots.txt não foi gerado!" && exit 1)
test -f dist/.nojekyll || (echo "dist/.nojekyll não foi gerado!" && exit 1)

- name: Upload de Artefato do GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/dev'
uses: actions/upload-pages-artifact@v3
with:
path: ./dist

deploy-staging:
name: Deploy Staging no GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/dev'
needs: validate
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Publicar no GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
77 changes: 77 additions & 0 deletions .github/workflows/ci-main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: CI/CD - Produção e Deploy (main)

on:
push:
branches:
- main
pull_request:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read
pages: write
id-token: write

jobs:
build-and-test:
name: Testes e Build de Produção
runs-on: ubuntu-latest

steps:
- name: Checkout do código
uses: actions/checkout@v4

- name: Instalar uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"
enable-cache: true

- name: Instalar Python e dependências
run: |
uv python install 3.14
uv sync --extra dev

- name: Verificar Lint (Ruff)
run: uv run ruff check .

- name: Verificar Formatação (Ruff Format)
run: uv run ruff format --check .

- name: Executar Testes Automatizados (Pytest)
run: uv run pytest -v

- name: Gerar Build de Produção (Render)
run: uv run main render

- name: Verificar Integridade do Site Gerado
run: |
test -f dist/index.html || (echo "dist/index.html não foi gerado!" && exit 1)
test -f dist/static/img/favicon.png || (echo "dist/static/img/favicon.png não foi encontrado!" && exit 1)
test -f dist/robots.txt || (echo "dist/robots.txt não foi gerado!" && exit 1)
test -f dist/.nojekyll || (echo "dist/.nojekyll não foi gerado!" && exit 1)

- name: Upload de Artefato do GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v3
with:
path: ./dist

deploy:
name: Deploy para GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
needs: build-and-test
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Deploy para GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
31 changes: 31 additions & 0 deletions .github/workflows/sync-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Sincronizar Issues e Labels

on:
workflow_dispatch:

permissions:
issues: write

jobs:
sync:
name: Criar Labels e Issues no Repositório
runs-on: ubuntu-latest

steps:
- name: Checkout do código
uses: actions/checkout@v4

- name: Instalar uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"
enable-cache: true

- name: Instalar Python
run: uv python install 3.14

- name: Executar sincronização de issues e labels
run: uv run python scripts/create_issues.py
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
Loading
Loading