Skip to content

#343 Add basic support for testing both V1 and V2 callable #1141

#343 Add basic support for testing both V1 and V2 callable

#343 Add basic support for testing both V1 and V2 callable #1141

Workflow file for this run

# SPDX-FileCopyrightText: Copyright 2022-2026 Mark Rotteveel
# SPDX-License-Identifier: LGPL-2.1-or-later
name: run-tests
on: [push,pull_request]
permissions:
contents: read
jobs:
build:
strategy:
matrix:
buildProfile: [ 17, 25 ]
testProfile: [ 17, 21, 25 ]
firebird: [ '5.0.4' ]
canFail: [ false ]
include:
# Test with Firebird 6 snapshot
- buildProfile: 17
testProfile: 17
firebird: '6-snapshot'
canFail: true
exclude:
- buildProfile: 25
testProfile: 17
- buildProfile: 25
testProfile: 21
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.canFail }}
steps:
- name: Login to Docker Hub
# PRs from forks don't have access to the secrets, skip Docker login and hope we don't hit the rate limit
if: ${{ !github.event.pull_request.head.repo.fork }}
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Setup Firebird ${{ matrix.firebird }}
uses: juarezr/firebirdsql-github-action@v2.3.0
with:
version: ${{ matrix.firebird }}
firebird_root_password: 'masterkey'
firebird_conf: 'WireCrypt=Enabled,AuthServer=Srp256;Srp;Legacy_Auth;Srp224;Srp384;Srp512,UserManager=Srp;Legacy_UserManager'
event_port: 3051
- uses: actions/checkout@v6
- name: Set up Java ${{ matrix.buildProfile }} (build) and ${{ matrix.testProfile }} (test)
uses: actions/setup-java@v5
with:
# NOTE: buildProfile last, so that is also the version used to run Gradle (not required, but nice to have)
java-version: |
${{ matrix.testProfile }}
${{ matrix.buildProfile }}
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' }}
- name: Build with Gradle
run: ./gradlew test -PbuildProfile=${{ matrix.buildProfile }} -PtestProfile=${{ matrix.testProfile }} -Ptest.dbondocker=true -Ptest.db.dir=/var/lib/firebird/data -Ptest.event.available=true
- name: Store Report Artifact
uses: actions/upload-artifact@v7
if: always()
with:
name: report-artifacts-${{ matrix.buildProfile }}-${{ matrix.testProfile }}-${{ matrix.firebird }}
path: build/reports
compression-level: 9
retention-days: 7