name: Docker-Compose Build and Test on: push: paths-ignore: - "**.md" branches: - master pull_request: jobs: build-test: runs-on: ubuntu-latest strategy: matrix: docker-compose-file: - docker-compose.yml - testing/docker-compose.hsqldb.yml - testing/docker-compose.cockroachdb.yml - testing/docker-compose.yugabytedb.yml dockerfile: - Dockerfile - Dockerfile.openj9 - Dockerfile.graalvm-jvm steps: - uses: actions/checkout@v3 - name: Create Version File run: echo $(git log -1 --date=short --pretty=format:%cd)-$(git rev-parse --short HEAD) > VERSION - name: Build Locally uses: docker/build-push-action@v3.1.1 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 20 - name: Run tests run: ./testing/api-test.sh - name: Collect services logs if: failure() run: docker-compose -f ${{ matrix.docker-compose-file }} logs