🆙 upgrade minor number version #29
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Push latest | |
on: | |
push: | |
branches: | |
- develop | |
jobs: | |
build-image: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@main | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and export | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
tags: islasgeci/api_caller:latest | |
outputs: type=docker,dest=/tmp/image.tar | |
- name: Upload artifact | |
uses: actions/upload-artifact@main | |
with: | |
name: image | |
path: /tmp/image.tar | |
run-tests: | |
needs: build-image | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@main | |
with: | |
name: image | |
path: /tmp | |
- name: Load image | |
run: | | |
docker load --input /tmp/image.tar | |
docker image ls -a | |
- name: Verifica el formato | |
run: docker run islasgeci/api_caller:latest make check | |
- name: Corre pruebas y evalúa cobertura | |
run: docker run islasgeci/api_caller:latest make coverage | |
- name: Upload coverage reports to Codecov with GitHub Action | |
uses: codecov/codecov-action@v3 | |
with: | |
files: ./coverage.xml | |
verbose: true | |
mutation-testing: | |
needs: build-image | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@main | |
with: | |
name: image | |
path: /tmp | |
- name: Load image | |
run: | | |
docker load --input /tmp/image.tar | |
docker image ls -a | |
- name: Evalúa resistencia a mutaciones | |
run: docker run islasgeci/api_caller:latest make mutants | |
test-service: | |
needs: build-image | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run docker-compose | |
uses: hoverkraft-tech/compose-action@v2.0.1 | |
with: | |
compose-file: "docker-compose.yml" | |
env: | |
PWD: ${{ github.workspace }} | |
- name: Execute tests in the running services | |
run: | | |
docker compose run islasgeci make test-services | |
- name: Teardown services | |
run: | | |
docker compose down | |
deploy-image-and-package: | |
needs: [run-tests, test-service] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@main | |
- name: Create/Update tag | |
uses: rickstaa/action-create-tag@v1.5.4 | |
with: | |
tag: "latest" | |
message: "Latest release" | |
force_push_tag: true | |
- name: Download artifact | |
uses: actions/download-artifact@main | |
with: | |
name: image | |
path: /tmp | |
- name: Load image | |
run: | | |
docker load --input /tmp/image.tar | |
docker image ls -a | |
- name: Docker log-in | |
env: | |
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} | |
run: echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin | |
- name: Sube latest a Docker Hub | |
run: docker push islasgeci/api_caller:latest | |
- name: Add github sha tag to Docker image | |
run: docker tag islasgeci/api_caller:latest islasgeci/api_caller:${GITHUB_SHA:0:4} | |
- name: Sube sha a Docker Hub | |
run: docker push islasgeci/api_caller:${GITHUB_SHA:0:4} | |
- name: Build and publish Python 🐍 distributions 📦 to PyPI | |
uses: actions/setup-python@v1 | |
with: | |
python-version: 3.9 | |
- name: Install pypa/build | |
run: >- | |
python -m | |
pip install | |
build | |
--user | |
- name: Build a binary wheel and a source tarball | |
run: >- | |
python -m | |
build | |
--sdist | |
--wheel | |
--outdir dist/ | |
. | |
- name: Publish distribution 📦 to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_TOKEN }} |