Build and Test #217
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: Build and Test | |
on: | |
workflow_dispatch: | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
push: | |
branches: | |
- main | |
permissions: | |
contents: write | |
pull-requests: write | |
jobs: | |
authorize: | |
environment: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository && 'external' || 'internal' }} | |
runs-on: ubuntu-latest | |
steps: | |
- run: true | |
build-test: | |
needs: authorize | |
uses: liquibase/build-logic/.github/workflows/os-extension-test.yml@main | |
secrets: inherit | |
with: | |
java: "[11, 17, 21]" | |
integration-tests: | |
name: Integration Tests -- Java ${{ matrix.java }} on Cassandra ${{ matrix.cassandra }} | |
runs-on: ubuntu-latest | |
needs: build-test | |
strategy: | |
matrix: | |
java: [11, 17] | |
services: | |
cassandra-3: | |
image: liquibase/liquibase:cassandra-test-3 | |
ports: | |
- "9042:9042" | |
cassandra-4: | |
image: liquibase/liquibase:cassandra-test-4 | |
ports: | |
- "9043:9042" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Restore Built Code | |
uses: actions/cache@v4 | |
with: | |
key: built-code-${{ github.run_id }} | |
path: ./**/target | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Start Cassandra Container | |
run: docker run -p 9042:9042 -v $(pwd):/app --name mycassandra -e CASSANDRA_PASSWORD=Password1 -e CASSANDRA_PASSWORD_SEEDER=yes -d bitnami/cassandra | |
- name: Wait for cassandra to start up | |
run: sleep 90s | |
- name: Check cassandra status | |
run: docker ps -a | |
- name: Check cassandra logs | |
run: docker logs mycassandra | |
- name: Load Cassandra Config | |
run: docker exec mycassandra cqlsh -u cassandra -p Password1 localhost 9042 -f /app/test.cql | |
- name: Run Tests | |
run: mvn -B clean test verify | |
- name: Archive Test Results | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-reports-integration-jdk${{ matrix.java }}-cassandra${{ matrix.cassandra }} | |
path: ./**/target/surefire-reports | |
dependabot: | |
needs: integration-tests | |
uses: liquibase/build-logic/.github/workflows/dependabot-automerge.yml@main | |
secrets: inherit |