Skip to content

CI_LINUX

CI_LINUX #175

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI_LINUX
# Controls when the action will run. Triggers the workflow after CI_WINDOWS workflow is completed
# only for the master branch
on:
workflow_run:
workflows: ["CI_WINDOWS"]
branches: [master]
types:
- completed
# This workflow run is made of two jobs "check" and "build_linux"
jobs:
check:
name: Check changed files
if: ${{ github.event.workflow_run.conclusion == 'success' }}
outputs:
run_job: ${{ steps.check_files.outputs.run_job }}
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: check files
id: check_files
run: |
echo "=============== list changed files ==============="
git diff --name-only HEAD^ HEAD
echo "run_job=false" >> $GITHUB_OUTPUT
echo "========== check paths of changed files =========="
git diff --name-only HEAD^ HEAD > files.txt
while IFS= read -r file
do
echo $file
if [[ $file == ".github/workflows/linux.yaml"* ]]; then
echo "This file is under the directory '.github/workflows/linux.yaml'."
echo "run_job=true" >> $GITHUB_OUTPUT
break
fi
if [[ $file == "src/jvm/src/"* ]]; then
echo "This file is under the directory 'src/jvm/src'."
echo "run_job=true" >> $GITHUB_OUTPUT
break
fi
if [[ $file == "tests/jvm/"* ]]; then
echo "This file is under the directory 'tests/jvm/'."
echo "run_job=true" >> $GITHUB_OUTPUT
break
fi
echo "This files are not in a source directory no action required"
done < files.txt
# This workflow contains a single job called "build"
build_linux:
needs: check
if: needs.check.outputs.run_job == 'true'
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
with:
fetch-depth: '1'
- name: Extract file
run: .github/workflows/GetLicense.ps1 ${{ secrets.JCOBRIDGE_2_5_9 }} $env:GITHUB_WORKSPACE/JCOBridge.lic
shell: pwsh
# Runs a set of commands using the runners shell
- name: Build JCOReflectorCLI
run: |
dotnet build --no-incremental --framework net6.0 --configuration Release src/net/JCOReflectorCLI.sln
dotnet build --no-incremental --framework net7.0 --configuration Release src/net/JCOReflectorCLI.sln
dotnet build --no-incremental --framework net8.0 --configuration Release src/net/JCOReflectorCLI.sln
- name: Build Java files
run: |
dotnet bin/net6.0/MASES.JCOReflectorCLI.dll -JobType Build -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/build_linux.job
dotnet bin/net7.0/MASES.JCOReflectorCLI.dll -JobType Build -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/build_linux.job
dotnet bin/net8.0/MASES.JCOReflectorCLI.dll -JobType Build -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/build_linux.job
- name: Build JAR files
run: |
dotnet bin/net6.0/MASES.JCOReflectorCLI.dll -JobType CreateJars -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/createjars_core6.0_linux.job
dotnet bin/net7.0/MASES.JCOReflectorCLI.dll -JobType CreateJars -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/createjars_core7.0_linux.job
dotnet bin/net8.0/MASES.JCOReflectorCLI.dll -JobType CreateJars -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/createjars_core8.0_linux.job
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: 'maven'
- name: Build Java test source file .NET 6.0
run: javac -cp ./bin/net6.0/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java
- run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNET --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -async -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
#java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase
#java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut
- name: Build Java test source file .NET 7.0
run: javac -cp ./bin/net7.0/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java
- run: java -cp "./bin/net7.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNET --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -async -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
#java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase
#java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut
- name: Build Java test source file .NET 8.0
run: javac -cp ./bin/net8.0/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java
- run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNET --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -async -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
#java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase
#java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut
- name: Download and install Scala package
run: |
sudo apt update
sudo apt-get install unzip
sudo apt-get install zip
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install scala 2.13.5
- name: Build Scala test source file .NET 6.0
run: |
source "$HOME/.sdkman/bin/sdkman-init.sh"
mkdir ./tests/jvm/scala/output
scalac -cp "./bin/net6.0/*" -d ./tests/jvm/scala/output ./tests/jvm/scala/src/main/scala/hierarchy/* ./tests/jvm/scala/src/main/scala/mscorlib/* ./tests/jvm/scala/src/main/scala/nettest/* ./tests/jvm/scala/src/main/scala/refout/*
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloNet --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket -async --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" refout.HelloRefOutBase --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" refout.HelloRefOut --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App
continue-on-error: true
- run: rm -rf ./tests/jvm/scala/output
- name: Build Scala test source file .NET 7.0
run: |
source "$HOME/.sdkman/bin/sdkman-init.sh"
mkdir ./tests/jvm/scala/output
scalac -cp "./bin/net7.0/*" -d ./tests/jvm/scala/output ./tests/jvm/scala/src/main/scala/hierarchy/* ./tests/jvm/scala/src/main/scala/mscorlib/* ./tests/jvm/scala/src/main/scala/nettest/* ./tests/jvm/scala/src/main/scala/refout/*
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" mscorlib.HelloNet --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket -async --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" refout.HelloRefOutBase --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" refout.HelloRefOut --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: rm -rf ./tests/jvm/scala/output
- name: Build Scala test source file .NET 8.0
run: |
source "$HOME/.sdkman/bin/sdkman-init.sh"
mkdir ./tests/jvm/scala/output
scalac -cp "./bin/net8.0/*" -d ./tests/jvm/scala/output ./tests/jvm/scala/src/main/scala/hierarchy/* ./tests/jvm/scala/src/main/scala/mscorlib/* ./tests/jvm/scala/src/main/scala/nettest/* ./tests/jvm/scala/src/main/scala/refout/*
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" mscorlib.HelloNet --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket -async --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" refout.HelloRefOutBase --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" refout.HelloRefOut --LicensePath:$GITHUB_WORKSPACE
continue-on-error: true
- run: rm -rf ./tests/jvm/scala/output