Skip to content

CI Compatability Jakarta #1306

CI Compatability Jakarta

CI Compatability Jakarta #1306

# Copyright 2022, 2025 Oracle Corporation and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at
# https://oss.oracle.com/licenses/upl.
# ---------------------------------------------------------------------------
# Coherence Go Client GitHub Actions CI build Against v23.03+
# ---------------------------------------------------------------------------
name: CI Compatability Jakarta
on:
workflow_dispatch:
push:
branches:
- '*'
schedule:
# Every day at midnight
- cron: '0 0 * * *'
jobs:
build:
runs-on: ubuntu-22.04
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix:
coherenceVersion:
- 25.03
- 25.03.1
go-version:
- 1.23.x
- 1.24.x
# Checkout the source, we need a depth of zero to fetch all of the history otherwise
# the copyright check cannot work out the date of the files from Git.
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get Docker Images
shell: bash
run: |
docker pull gcr.io/distroless/java17-debian12
- name: Set up JDK 17 for Build
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'zulu'
- name: Cache Go Modules
uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-mods-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-mods-
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '${{ matrix.go-version }}'
- name: E2E Local Tests
env:
COH_VERSION: ${{ matrix.coherenceVersion }}
shell: bash
run: |
go install google.golang.org/protobuf/cmd/[email protected]
COHERENCE_BASE_IMAGE=gcr.io/distroless/java17-debian12 INCLUDE_LONG_RUNNING=true PROFILES=,jakarta,-javax COHERENCE_VERSION=$COH_VERSION make clean generate-proto build-test-images test-e2e-standalone
- uses: actions/upload-artifact@v4
if: failure()
with:
name: test-output-${{ matrix.go-version }}-${{ matrix.coherenceVersion }}
path: build/_output/test-logs
- name: E2E Local Tests With Scope
env:
COH_VERSION: ${{ matrix.coherenceVersion }}
shell: bash
run: |
go install google.golang.org/grpc/cmd/[email protected]
SKIP_PROTO_GENERATION=true COHERENCE_BASE_IMAGE=gcr.io/distroless/java17-debian12 COHERENCE_VERSION=$COH_VERSION PROFILES=,jakarta,-javax,scope make clean generate-proto build-test-images test-e2e-standalone-scope
- uses: actions/upload-artifact@v4
if: failure()
with:
name: test-output-${{ matrix.go-version }}-${{ matrix.coherenceVersion }}
path: build/_output/test-logs
- name: E2E Local Tests SSL
env:
COH_VERSION: ${{ matrix.coherenceVersion }}
shell: bash
run: |
echo "Running verify against $COH_VERSION"
go install google.golang.org/grpc/cmd/[email protected]
SKIP_PROTO_GENERATION=true COHERENCE_BASE_IMAGE=gcr.io/distroless/java17-debian12 SECURE=true COHERENCE_IGNORE_INVALID_CERTS=true INCLUDE_LONG_RUNNING=true \
COHERENCE_TLS_CERTS_PATH=`pwd`/test/utils/certs/guardians-ca.crt \
COHERENCE_TLS_CLIENT_CERT=`pwd`/test/utils/certs/star-lord.crt \
COHERENCE_TLS_CLIENT_KEY=`pwd`/test/utils/certs/star-lord.key \
COHERENCE_VERSION=$COH_VERSION PROFILES=,secure,jakarta,-javax make clean certs generate-proto build-test-images test-e2e-standalone
- uses: actions/upload-artifact@v4
if: failure()
with:
name: test-output-${{ matrix.go-version }}-${{ matrix.coherenceVersion }}
path: build/_output/test-logs