diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index e69de29..81684f1 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -0,0 +1,58 @@ +name: Build and test + +on: + push: + branches: + - "**" + tags-ignore: + - "v*" + pull_request: + branches: + - "**" + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + services: + postgres: + image: postgres:latest + ports: + - 5432:5432 + env: + POSTGRES_DB: demo + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: "recursive" + + - name: Setup Java + uses: actions/setup-java@v4 + with: + java-version: "17" + distribution: "temurin" + + - name: Wait for Postgres + run: | + while ! pg_isready -h localhost -p 5432; do + echo "Waiting for postgres..." + sleep 1 + done + + - name: Run Build + env: + SPRING_DATASOURCE_URL: jdbc:postgresql://localhost:5432/demo + SPRING_DATASOURCE_USERNAME: postgres + SPRING_DATASOURCE_PASSWORD: password + run: ./gradlew clean build +