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.ci - Dockerfile.openj9.ci - Dockerfile.graalvm-jvm.ci 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: set up JDK 17 uses: actions/setup-java@v3 with: java-version: 17 distribution: temurin check-latest: true cache: "gradle" - name: Run Build run: ./gradlew shadowJar - run: mv build/libs/piped-*-all.jar piped.jar - name: Build Image Locally uses: docker/build-push-action@v3 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