Skip to content

feat(github-actions): included tests on actions workflow #397

feat(github-actions): included tests on actions workflow

feat(github-actions): included tests on actions workflow #397

name: Publish Eleições / CMS docker image
on:
push:
paths:
- 'app/contrib/**'
- 'app/project/**'
- 'app/tailwind/**'
- 'app/admin_styled/**'
- 'app/org_eleicoes/**'
branches:
- main
- 'release/**'
- 'feature/**'
- 'hotfix/**'
tags:
- v*
jobs:
build-docker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r app/requirements.txt
pip install pytest pytest-django
- name: Run tests
run: |
pytest --ds=org_eleicoes.eleicaodoano.settings app/org_eleicoes/eleicaodoano/eleicao/tests/
pytest --ds=org_eleicoes.votepeloclima.settings app/org_eleicoes/votepeloclima/candidature/tests/
pytest --ds=project.settings app/contrib/ds/tests/
pytest --ds=project.settings app/contrib/ds/blocks/tests/
pytest --ds=project.settings app/contrib/ds/card/tests/
pytest --ds=project.settings app/contrib/ds/accordion/tests/
pytest --ds=project.settings app/contrib/ds/carousel/tests/
pytest --ds=project.settings app/contrib/ds/counter/tests/
pytest --ds=project.settings app/contrib/ds/grid/tests/
pytest --ds=project.settings app/contrib/ds/link/tests/
pytest --ds=project.settings app/contrib/ds/picture/tests/
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: nossas/eleicoes-cms
- name: Build and Push
uses: docker/build-push-action@v3
with:
context: ./app
file: app/org_eleicoes/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}