Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
7d2e342
feat: Implementa funcionalidades core e testes unitários
LAMP-LUCAS Aug 28, 2025
661bac1
feat: Implementa testes e CI/CD
LAMP-LUCAS Aug 28, 2025
1c593dc
docs(docs): atualiza README e formaliza entregas, status e próximos p…
LAMP-LUCAS Aug 29, 2025
351d63f
docs(core): atualiza DataModel.md, nomenclaturas.md e tutorial para r…
LAMP-LUCAS Aug 29, 2025
daa0b11
chore(setup): atualiza setup.py, pyproject.toml e requirements.txt pa…
LAMP-LUCAS Aug 29, 2025
a275abc
refactor(core): refatora pipeline, processor, database e downloader p…
LAMP-LUCAS Aug 29, 2025
ed1ac17
test(core): refatora e amplia cobertura dos testes unitários e integr…
LAMP-LUCAS Aug 29, 2025
edf8cab
docs(docs): Organiza a localização do workPlan.md para a pasta docs c…
LAMP-LUCAS Aug 29, 2025
a29eea0
feat: Refatora pipeline e adiciona versionamento dinâmico (#3)
LAMP-LUCAS Aug 30, 2025
abbb1da
feat(docker): Adiciona suporte para ambiente containerizado
LAMP-LUCAS Aug 31, 2025
543b80d
Feature/etl processing improvements (#4)
LAMP-LUCAS Sep 3, 2025
5cc9450
Merge remote-tracking branch 'origin/develop' into develop
LAMP-LUCAS Sep 3, 2025
0056210
test(suite): Atualiza e corrige a suíte de testes para refletir a nov…
LAMP-LUCAS Sep 3, 2025
35653b1
docs(documentation): Conclui Fase 3 de documentação e aprimora README…
LAMP-LUCAS Sep 3, 2025
5d8c78e
Docs/new documentation | docs: Adiciona diretrizes de contribuicao e …
LAMP-LUCAS Sep 3, 2025
5748dd4
fix(ci): corrige erros em testes do github actions e atualiza workflo…
LAMP-LUCAS Sep 3, 2025
b44e377
Feature/setup release automation | Configuração da Automação de Relea…
LAMP-LUCAS Sep 3, 2025
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
20 changes: 20 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Ignora o ambiente virtual
venv/

# Ignora arquivos de cache do Python
__pycache__/
*.pyc
*.pyo
*.pyd

# Ignora arquivos de cache do pytest
.pytest_cache/

# Ignora arquivos de build do setuptools
build/
dist/
*.egg-info/

# Ignora arquivos de configuração local
.env
sql_access.secrets
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,4 @@ def run_etl(db_config: dict, sinapi_config: dict, mode: str) -> dict:
## Referências
- #issue_number (se houver)
- [Documento de Arquitetura](docs/workPlan.md)
- [Padrões de Nomenclatura](docs/nomenclaturas.md)
- [Padrões de Contribuição](docs/CONTRIBUTING.md)
35 changes: 35 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# .github/release-drafter.yml

# Define as categorias com base nos tipos de Conventional Commits
categories:
- title: '🚀 Novas Funcionalidades'
labels:
- 'feature'
- 'feat'
- title: '🐛 Correções de Bugs'
labels:
- 'fix'
- 'bug'
- title: '🔧 Melhorias e Refatorações'
labels:
- 'refactor'
- 'chore'
- title: '📚 Documentação'
labels:
- 'docs'

# Exclui labels que não devem aparecer no changelog
exclude-labels:
- 'skip-changelog'

# O template do corpo da sua release.
# A variável $CHANGES será substituída pela lista categorizada de mudanças.
template: |
## O que há de novo nesta versão?

*Aqui você pode escrever sua copy, explicando o objetivo principal da release.*

$CHANGES

---
**Agradecemos a todos os contribuidores!** 🎉
21 changes: 21 additions & 0 deletions .github/workflows/draft-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# .github/workflows/draft-release.yml

name: Draft a new release

on:
push:
branches:
- develop # Roda toda vez que algo é mesclado em develop

jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5
with:
# (Opcional) Publica a release se a tag corresponder,
# mas para o seu caso, vamos deixar o seu 'release.yml' cuidar disso.
# A principal função aqui é apenas ATUALIZAR o rascunho.
publish: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47 changes: 47 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Release

on:
push:
tags:
- 'v*' # Aciona o workflow em tags como v1.0, v1.2.3, etc.

jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write # Permissão necessária para a action criar a release

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine

- name: Build package
run: python -m build

- name: Create GitHub Release and Upload Assets
uses: softprops/action-gh-release@v1
with:
# Usa o nome da tag (ex: v1.2.0) como nome da release
name: Release ${{ github.ref_name }}
# Gera o corpo da release automaticamente a partir dos commits
generate_release_notes: true
# Faz o upload de TODOS os arquivos do diretório dist/*
files: ./dist/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Publish package to PyPI
run: twine upload dist/*
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
63 changes: 63 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Tests and Quality Checks

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, "3.10", "3.11"]

steps:
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[test]"

- name: Run tests
run: |
pytest --cov=autosinapi --cov-report=xml

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
fail_ci_if_error: true

lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 black isort

- name: Check formatting
run: |
black --check autosinapi tests
isort --check-only autosinapi tests

- name: Lint with flake8
run: |
flake8 autosinapi tests --count --select=E9,F63,F7,F82 --show-source --statistics --ignore=E203,W503
flake8 autosinapi tests --count --max-complexity=10 --max-line-length=88 --statistics --ignore=E203,W503
18 changes: 16 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
# =========================
# Arquivos de build e distribuição
# =========================
build/
dist/
*.egg-info/

# =========================
# Arquivos sensíveis e temporários
# =========================

# Ignora todos os arquivos com extensão .secrets em qualquer diretório
**/*.secrets
**/*.env

# Ignora arquivo .secrets na raiz
.secrets
Expand Down Expand Up @@ -52,8 +60,10 @@
# Ignora arquivos compactados
**/*.zip

# Ignora arquivos JSON
# Ignora arquivos JSON, exceto os de exemplo
**/*.json
!**/*.example.json


# =========================
# Exceções (remova o ! se não quiser versionar)
Expand Down Expand Up @@ -82,4 +92,8 @@ Thumbs.db
.DS_Store

# Ignora diretórios de downloads
downloads/
downloads/
tools/docker/.env
AutoSINAPI.code-workspace
.coverage
coverage.xml
Loading
Loading