Skip to content

Run Java tests on generated schemas in stefgen on Github #7

Run Java tests on generated schemas in stefgen on Github

Run Java tests on generated schemas in stefgen on Github #7

name: test-java-schemas
on:
push:
branches: [main]
tags:
- "v[0-9]+.[0-9]+.[0-9]+*"
pull_request:
jobs:
# generate-and-test-java:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# java-version: [11, 17, 23]
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
#
# - name: Set up Go
# uses: actions/setup-go@v5
# with:
# go-version: '1.22'
#
# - name: Set up JDK ${{ matrix.java-version }}
# uses: actions/setup-java@v4
# with:
# distribution: 'temurin'
# java-version: ${{ matrix.java-version }}
#
# - name: Generate Java code from test schemas
# run: |
# cd stefgen/generator
# go test -run TestGenerate
#
# - name: Run Java tests
# run: |
# cd java
# ./gradlew test
test-java:
name: test-java (${{ matrix.test-java-version }})
runs-on: ubuntu-latest
strategy:
matrix:
test-java-version:
- 8
- 11
- 17
- 21
- 23
fail-fast: false
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- id: setup-test-java
name: Set up JDK ${{ matrix.test-java-version }} for running tests
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
# using zulu because new releases get published quickly
distribution: zulu
java-version: ${{ matrix.test-java-version }}
- name: Set up JDK for running Gradle
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 21
- name: Set up gradle
uses: gradle/actions/setup-gradle@8379f6a1328ee0e06e2bb424dadb7b159856a326 # v4.4.0
with:
cache-read-only: ${{ github.event_name == 'pull_request' }}
- name: Generate Java code from test schemas
run: |
cd stefgen/generator
go test -run TestGenerate
- name: Gradle test
run: >
cd java && ./gradlew test
-PtestJavaVersion=${{ matrix.test-java-version }}
-Porg.gradle.java.installations.paths=${{ steps.setup-test-java.outputs.path }}
-Porg.gradle.java.installations.auto-download=false