Skip to content

Commit

Permalink
Merge pull request #3 from JessiAraujo/JessiAraujo-feature-github-act…
Browse files Browse the repository at this point in the history
…ions

Feat: Create python-app.yml
  • Loading branch information
wouerner authored Oct 22, 2024
2 parents e29433b + b6874f8 commit 85289f8
Show file tree
Hide file tree
Showing 5 changed files with 101 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@ services:

volumes:
mysql_database:
name: mysql_database
name: mysql_database
45 changes: 45 additions & 0 deletions .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python


name: Python application

on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]

permissions:
contents: read

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python 3.12
uses: actions/setup-python@v3
with:
python-version: "3.12"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Format with Black
run: black .

- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest and coverage
run: |
pytest --cov=app --cov-report=term --cov-fail-under=100
51 changes: 51 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,55 @@
# stars-api

### Adicionando Verificações de Qualidade de Código

1. **Adicionar Verificação de Formatação com Black e Padrão PEP8:**

O PEP 8 define regras para a indentação, uso de espaços em branco, nomes de variáveis, entre outros aspectos do estilo de código. Ao adicionar a verificação do Black no GitHub Actions, estaremos garantindo que o código esteja formatado de acordo com as recomendações do PEP 8.

- Para instalar o Black, utilize o comando:
```bash
pip install black
```
- Para executar o Black, utilize:
```bash
black <nome_do_seu_arquivo_ou_diretório>
```

2. **Adicionar Verificação do Pytest com 100% de Cobertura:**

O Pytest é uma biblioteca de testes unitários que permite escrever testes simples e escaláveis em Python. Ele fornece suporte para detecção automática de testes, relatórios detalhados e plugins personalizados.

**Cobertura:**
A biblioteca Coverage é usada para medir a cobertura de testes do código-fonte Python. Ela ajuda a identificar áreas do código que não estão sendo testadas, fornecendo relatórios sobre a porcentagem de código coberto pelos testes.

- Para instalar o Pytest e o pytest-cov, utilize o comando:
```bash
pip install pytest pytest-cov
```
- Para executar os testes com o Pytest e calcular a cobertura de código, utilize o pytest-cov diretamente no comando Pytest:
```bash
pytest --cov=.
```
- Para cobrir todo o código ou
```bash
pytest --cov=app
```
- para cobrir apenas o diretório app.

3. **Adicionar Verificação do Flake8:**

O Flake8 é uma ferramenta de verificação de código que combina as funcionalidades de outras ferramentas populares. Ele verifica o estilo do código, identifica problemas potenciais e fornece sugestões de melhoria.

- Para instalar o Flake8, utilize o comando:
```bash
pip install flake8
```
- Para verificar seu código com o Flake8, utilize o seguinte comando:
```bash
flake8
```


# Documentação
## Este projeto é um aplicativo Python com FastApi com todo o ambiente de execução encapsulado em Docker.

Expand Down Expand Up @@ -47,3 +97,4 @@ http://localhost:8000/docs
### Parar o servidor
docker stop <seu id> 65d05c5e44806478fd97914e8ecdb61a3a1b530686b20640da7c68e5717ec7a3


4 changes: 4 additions & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[pytest]
addopts = --cov=app --cov-report=term --cov-fail-under=100
testpaths = tests
pythonpath = .
Empty file added tests/.gitkeep
Empty file.

0 comments on commit 85289f8

Please sign in to comment.