Add liquibase to perform database migrations #2
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | |
- uses: actions/checkout@v3 | |
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: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: piped-old.jar | |
- run: mv piped-old.jar piped.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 |