2023-08-14 17:26:14 +00:00
|
|
|
name: Docker-Compose Build and Test Migration
|
|
|
|
|
|
|
|
on:
|
|
|
|
pull_request:
|
|
|
|
paths:
|
|
|
|
- "src/main/resources/changelog/**"
|
|
|
|
- "src/main/java/me/kavin/piped/utils/obj/db/**"
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build-new:
|
|
|
|
uses: ./.github/workflows/fat-build.yml
|
|
|
|
build-old:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2023-09-04 14:18:06 +00:00
|
|
|
- uses: actions/checkout@v4
|
2023-08-14 17:26:14 +00:00
|
|
|
with:
|
|
|
|
ref: ${{ github.event.pull_request.base.sha }}
|
|
|
|
- name: set up JDK 17
|
|
|
|
uses: actions/setup-java@v3
|
|
|
|
with:
|
|
|
|
java-version: 17
|
|
|
|
distribution: temurin
|
|
|
|
cache: "gradle"
|
|
|
|
- name: Run Build
|
|
|
|
run: ./gradlew shadowJar
|
|
|
|
- run: mv build/libs/piped-*-all.jar piped.jar
|
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
|
with:
|
|
|
|
name: piped-old.jar
|
|
|
|
path: piped.jar
|
|
|
|
|
|
|
|
docker-build-test:
|
|
|
|
needs: [ build-new, build-old ]
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
docker-compose-file:
|
|
|
|
- docker-compose.yml
|
|
|
|
- testing/docker-compose.cockroachdb.yml
|
|
|
|
- testing/docker-compose.yugabytedb.yml
|
|
|
|
dockerfile:
|
|
|
|
- Dockerfile.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:
|
2023-09-04 14:18:06 +00:00
|
|
|
- uses: actions/checkout@v4
|
2023-08-14 17:26:14 +00:00
|
|
|
- run: echo "unknown" > VERSION
|
|
|
|
- uses: actions/download-artifact@v3
|
|
|
|
with:
|
|
|
|
name: piped-old.jar
|
|
|
|
- name: Build Old 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 }}
|
|
|
|
- run: rm piped.jar
|
|
|
|
- uses: actions/download-artifact@v3
|
|
|
|
with:
|
|
|
|
name: piped.jar
|
|
|
|
- name: Build New 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
|