Skip to content

CI Build

CI Build #1104

Workflow file for this run

# Copyright 2020, 2024, Oracle Corporation and/or its affiliates. All rights reserved.
# Licensed under the Universal Permissive License v 1.0 as shown at
# https://oss.oracle.com/licenses/upl.
# ---------------------------------------------------------------------------
# Coherence .NET Extend Client GitHub Actions CI build.
# ---------------------------------------------------------------------------
name: CI Build
on:
workflow_dispatch:
schedule:
- cron: "0 2 * * *"
push:
branches:
- main
pull_request:
types:
- opened
- committed
branches:
- main
- '*'
jobs:
build:
name: Build on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, windows-latest, macOS-latest]
steps:
- name: Checkout
uses: actions/checkout@v2
# Clean
- name: Clean
run: dotnet nuget locals all --clear
# Build
- name: Build
run: |
dotnet restore
dotnet build --configuration Release --no-restore
test-linux:
name: Test on Linux against Coherence ${{ matrix.coherence_version }}
needs: build
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
coherence_version: [14.1.1-0-17, 22.06.8, 24.03]
steps:
- name: Checkout
uses: actions/checkout@v2
# Set up Java 17
- name: Set up Java 17
uses: actions/setup-java@v1
with:
java-version: '17'
# Build
- name: Build
run: |
dotnet restore
dotnet build --configuration Release --no-restore
# Build test server
- name: Build test server
run: |
pushd tests/test-server
mvn --batch-mode -e clean install -s .mvn/settings.xml -Drevision=${{ matrix.coherence_version }} -Dcoherence.groupid=com.oracle.coherence.ce -Dmain=com.tangosol.net.DefaultCacheServer
popd
# Start test server
- name: Start test server
run: |
pushd tests/test-server
mvn --batch-mode -e exec:exec -s .mvn/settings.xml -Drevision=${{ matrix.coherence_version }} -Dcoherence.groupid=com.oracle.coherence.ce -Dmain=com.tangosol.net.DefaultCacheServer &
sleep 30
popd
# Run Tests
- name: Run Tests
run: dotnet test --filter FullyQualifiedName\!~Tangosol.Web --configuration Release --no-restore
# Capture server log for diagnosing failures
- name: Capture test logs
uses: actions/upload-artifact@v4
with:
name: build-output
path: build\**\*.log