Skip to content

Atualiza Python 3.8 para 3.12 e dependências #159

Atualiza Python 3.8 para 3.12 e dependências

Atualiza Python 3.8 para 3.12 e dependências #159

name: Test
on:
pull_request:
branches:
- main
jobs:
test:
name: Build, test and show code coverage
strategy:
matrix:
include:
- platform: linux/amd64
runner: ubuntu-latest
- platform: linux/arm64
runner: ubuntu-24.04-arm
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout source code
uses: actions/checkout@v4
- name: Free up disk space
run: |
echo "=== Initial disk usage ==="
df -h
echo "=== Cleaning up disk space ==="
sudo apt-get autoremove -y
sudo apt-get autoclean
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
sudo rm -rf /opt/hostedtoolcache/CodeQL
sudo docker system prune -af
echo "=== Disk usage after cleanup ==="
df -h
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Verify Docker Compose
run: |
docker compose version
- name: Setup environment files
run: |
cp --no-clobber config/sample.env config/current.env || true
test -f censo.csv || curl -s -O https://querido-diario.nyc3.cdn.digitaloceanspaces.com/censo/censo.csv
test -f themes_config.json || curl -s -O https://raw.githubusercontent.com/okfn-brasil/querido-diario-data-processing/main/config/themes_config.json
- name: Monitor disk usage before build
run: |
echo "=== Disk usage before build ==="
df -h
echo "=== Docker system info ==="
docker system df
- name: Build and test for platform
env:
DOCKER_BUILDKIT: 1
COMPOSE_DOCKER_CLI_BUILD: 1
run: |
# Update docker-compose.test.yml to build for specific platform
sed -i "s|dockerfile: Dockerfile|dockerfile: Dockerfile\n platforms:\n - ${{ matrix.platform }}|" docker-compose.test.yml
# Start dependencies
docker compose -f docker-compose.test.yml up -d postgres opensearch
# Wait for them to be healthy
docker compose -f docker-compose.test.yml up setup
# Run tests
docker compose -f docker-compose.test.yml up --abort-on-container-exit --exit-code-from api api
- name: Clean up test images
if: always()
run: |
docker compose -f docker-compose.test.yml down -v || true
docker system prune -f
docker image prune -af
echo "=== Disk usage after cleanup ==="
df -h