name: Docker-Compose Build and Test on: push: paths-ignore: - "**.md" branches: - master pull_request: jobs: build-jdk: uses: ./.github/workflows/fat-build.yml build-test: runs-on: ubuntu-latest needs: build-jdk strategy: matrix: docker-compose-file: - docker-compose.yml - testing/docker-compose.cockroachdb.yml - testing/docker-compose.yugabytedb.yml dockerfile: - Dockerfile.ci - Dockerfile.azul.ci - Dockerfile.openj9.ci - Dockerfile.graalvm-jvm.ci include: - sleep: 20 - docker-compose-file: testing/docker-compose.cockroachdb.yml sleep: 30 - docker-compose-file: testing/docker-compose.yugabytedb.yml sleep: 120 fail-fast: false steps: - uses: actions/checkout@v4 - uses: actions/download-artifact@v3 with: name: piped.jar - name: Create Version File run: echo $(git log -1 --date=short --pretty=format:%cd)-$(git rev-parse --short HEAD) > VERSION - name: Build Image Locally uses: docker/build-push-action@v4 with: context: . load: true file: ${{ matrix.dockerfile }} tags: 1337kavin/piped:latest - name: Start Docker-Compose services run: docker-compose -f ${{ matrix.docker-compose-file }} up -d && sleep ${{ matrix.sleep }} - name: Run tests run: ./testing/api-test.sh - name: Collect services logs if: failure() run: docker-compose -f ${{ matrix.docker-compose-file }} logs