-
Notifications
You must be signed in to change notification settings - Fork 0
46 lines (41 loc) · 1.38 KB
/
ci-python.yml
File metadata and controls
46 lines (41 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
name: CI Python
on:
push:
paths:
- 'etl/**'
- '.github/workflows/ci-python.yml'
pull_request:
paths:
- 'etl/**'
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install deps and Project
run: |
cd etl
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
pip install pytest-httpx
# 💡 NOVO: Instala o código-fonte como um pacote editável (`-e`),
# que é a melhor prática para projetos com src/ para garantir que o 'etl' seja importável.
pip install -e .
- name: Run tests
run: |
# Não precisamos mais do `cd etl` aqui, pois a instalação já configurou o path
# e o ambiente virtual foi ativado.
# Entramos no diretório etl para ativar o ambiente.
cd etl
. .venv/bin/activate
# 💡 NOVO: Executamos o pytest no diretório PAI (o diretório 'etl'),
# mas apontamos explicitamente para os testes em 'tests/'.
# O pytest consegue encontrar o pacote 'etl' porque ele foi instalado
# no passo anterior (`pip install -e .`).
pytest tests -q