Skip to content

CI Build

CI Build #1014

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'
# Install SSL certificates
- name: Install SSL certificates
run: |
sudo cp tests/Coherence.Tests/Config/testcert.pem /usr/local/share/ca-certificates/testcert.crt
sudo cp tests/Coherence.Tests/Net/Ssl/CA.cer /usr/local/share/ca-certificates/CA.crt
sudo cp tests/Coherence.Tests/Net/Ssl/Server.cer /usr/local/share/ca-certificates/Server.crt
sudo update-ca-certificates
# 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 }}
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 }} &
sleep 30
popd
# Run Tests
- name: Run Tests
run: dotnet test --configuration Release --no-restore
# Capture server log for diagnosing failures
- name: Capture test logs
uses: actions/upload-artifact@v2
if: failure()
with:
name: build-output
path: build\**\*.log