Skip to content

feat: rework ci

feat: rework ci #4

Workflow file for this run

name: Docker Build for PR
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
on:
pull_request:
branches: [ "main" ]
env:
TEST_FULL_IMAGE_NAME: local/kapoeira:test
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# Set up BuildKit Docker container builder to be able to build
# multi-platform images and export cache
# https://github.com/docker/build-push-action
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
# Build locally Docker image with Buildx
# https://github.com/docker/build-push-action
- name: Docker build with unit tests
id: build-and-test
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
with:
context: .
load: true
tags: ${{ env.TEST_FULL_IMAGE_NAME }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Launch Kafka environment
run: |
docker compose up -d
- name: Run integration tests
run: |
docker compose run --rm --name kapoeira-it kapoeira
- name: Stop Kafka environment
run: |
docker compose down