π©π½βπ fix compose step #34
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: | |
- uses: actions/checkout@v4 | |
- 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 compose run islasgeci 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: | |
- 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: EvalΓΊa resistencia a mutaciones | |
run: docker compose run islasgeci make mutants | |
- name: Teardown services | |
run: | | |
docker compose down | |
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 }} |