Skip to content

trigger

trigger #114

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI_TESTBRANCH
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- '*'
- '!master'
pull_request:
branches:
- '*'
- '!master'
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# Verify if a build is needed
check:
name: Check changed files
outputs:
run_job: ${{ steps.check_files.outputs.run_job }}
runs-on: ubuntu-latest
steps:
- id: get_changed_files
uses: masesgroup/retrieve-changed-files@v3
with:
format: 'csv'
- id: check_files
run: |
mapfile -d ',' -t added_modified_files < <(printf '%s,' '${{ steps.get_changed_files.outputs.added_modified }}')
for added_modified_file in "${added_modified_files[@]}"; do
if [[ $added_modified_file == ".github/workflows/testbranch.yaml"* ]]; then
echo "$added_modified_file is under the directory '.github/workflows'."
echo "run_job=true" >> $GITHUB_OUTPUT
break
fi
if [[ $added_modified_file == "src/java/src/JCOReflector/"* ]]; then
echo "$added_modified_file is under the directory 'src/java/src/JCOReflector'."
echo "run_job=true" >> $GITHUB_OUTPUT
break
fi
if [[ $added_modified_file == "src/"* ]]; then
echo "$added_modified_file is under the directory 'src/'."
echo "run_job=true" >> $GITHUB_OUTPUT
break
fi
if [[ $added_modified_file == "tests/jvm/"* ]]; then
echo "$added_modified_file is under the directory 'tests/jvm/'."
echo "run_job=true" >> $GITHUB_OUTPUT
break
fi
done
# This workflow contains a single job called "build"
build_testbranch:
needs: check
if: needs.check.outputs.run_job == 'true'
# The type of runner that the job will run on
runs-on: windows-2022
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Runs a set of commands using the runners shell
# Support longpaths
- name: Support long paths
run: git config --system core.longpaths true
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
with:
fetch-depth: '1'
- name: Export environment variables
run: set
shell: cmd
- name: Extract secret
run: .github\workflows\GetLicense.ps1 ${{ secrets.JCOBRIDGE_2_5_8 }} .\JCOBridge.lic
# Runs a set of commands using the runners shell
- name: Build JCOReflectorCLI
run: dotnet build --no-incremental --configuration Release /p:Platform="Any CPU" src\net\JCOReflectorCLI.sln
- uses: nuget/[email protected]
with:
nuget-version: '5.x'
- run: nuget pack src\net\CLI\JCOReflectorCLI.nuspec -OutputDirectory .\bin
# Runs a set of commands using the runners shell
- name: Copy configuration file
run: |
Copy-Item .github\workflows\JCOReflectorCLI6.0.runtimeconfig.json -Destination bin\net6.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force
Copy-Item .github\workflows\JCOReflectorCLI7.0.runtimeconfig.json -Destination bin\net7.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force
- name: Remove Java files
run: |
Remove-Item .\src\java\src\net6.0 -Recurse -Force
Remove-Item .\src\java\src\net7.0 -Recurse -Force
Remove-Item .\src\java\src\net462 -Recurse -Force
- name: Reflect .NET 6.0 Java files
run: .\bin\net6.0\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net6.0.job
- name: Reflect .NET 7.0 Java files
run: .\bin\net7.0\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net7.0.job
- name: Reflect .NET Framework Java files
run: .\bin\net462\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net462.job
- name: Compress source files
run: Compress-Archive -Path .\src\java\src\* -DestinationPath .\source.zip
- uses: actions/upload-artifact@v3
with:
name: LatestSource
path: .\source.zip
retention-days: 1
- name: Build Java files .NET Core 6.0
run: dotnet bin\net6.0\MASES.JCOReflectorCLI.dll -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64%
shell: cmd
- name: Build Java files .NET Core 7.0
run: dotnet bin\net7.0\MASES.JCOReflectorCLI.dll -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64%
shell: cmd
- name: Build Java files .NET Framework
run: .\bin\net462\MASES.JCOReflectorCLI -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64%
shell: cmd
- name: Build JAR files .NET Core 6.0
run: dotnet bin\net6.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core6.0_win19.job -JDKFolder %JAVA_HOME_11_X64%
shell: cmd
- name: Build JAR files .NET Core 7.0
run: dotnet bin\net7.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core7.0_win19.job -JDKFolder %JAVA_HOME_11_X64%
shell: cmd
- name: Build JAR files .NET Framework
run: .\bin\net462\MASES.JCOReflectorCLI -JobType CreateJars -JobFile .github\workflows\createjars_framework_win19.job -JDKFolder %JAVA_HOME_11_X64%
shell: cmd
- name: Compress release files
run: |
Compress-Archive -Path .\bin\net6.0\* -DestinationPath .\bin\net6.0.zip
Compress-Archive -Path .\bin\net7.0\* -DestinationPath .\bin\net7.0.zip
Compress-Archive -Path .\bin\net462\* -DestinationPath .\bin\net462.zip
- uses: actions/upload-artifact@v3
with:
name: NuGet
path: .\bin\*nupkg
retention-days: 1
- uses: actions/upload-artifact@v3
with:
name: net6.0
path: .\bin\net6.0.zip
retention-days: 1
- uses: actions/upload-artifact@v3
with:
name: net7.0
path: .\bin\net7.0.zip
retention-days: 1
- uses: actions/upload-artifact@v3
with:
name: net462
path: .\bin\net462.zip
retention-days: 1
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: 'maven'
- name: Build Java test source file .NET Core 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
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNET
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNETEvent
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloIterator
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloHierarchy
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloInterfaces
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket -async
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase
continue-on-error: true
- run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut
continue-on-error: true
- name: Build Java test source file .NET Core 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 --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNET --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNETEvent --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloIterator --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloHierarchy --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloInterfaces --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket -async --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut --CoreCLRApp:Microsoft.NET7.App
continue-on-error: true
- name: Build Java test source file .NET Framework
run: javac -cp ./bin/net462/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/net462/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloLock
continue-on-error: true
- run: java -cp "./bin/net462/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNET
continue-on-error: true
- run: java -cp "./bin/net462/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNETEvent
continue-on-error: true
- run: java -cp "./bin/net462/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloIterator
continue-on-error: true
- run: java -cp "./bin/net462/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloHierarchy
continue-on-error: true
- run: java -cp "./bin/net462/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloInterfaces
continue-on-error: true
- run: java -cp "./bin/net462/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket
continue-on-error: true
- run: java -cp "./bin/net462/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket -async
continue-on-error: true
- run: java -cp "./bin/net462/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase
continue-on-error: true
- run: java -cp "./bin/net462/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut
continue-on-error: true
- name: Download Scala package
run: C:\msys64\usr\bin\wget.exe https://downloads.lightbend.com/scala/2.13.5/scala-2.13.5.zip
- name: Expand Scala package
run: Expand-Archive -LiteralPath '.\scala-2.13.5.zip' -DestinationPath .\ -Force
- name: Build Scala test source file .NET Core 6.0
shell: cmd
run: |
cd ./tests/jvm/scala
mkdir output
..\..\scala-2.13.5\bin\scalac -toolcp "../../bin/net6.0/*" -d ./output ./src/main/scala/hierarchy/* ./src/main/scala/mscorlib/* ./src/main/scala/nettest/* ./src/main/scala/refout/*
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloLock
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloNet
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloNETEvent
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloIterator
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" hierarchy.HelloHierarchy
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" hierarchy.HelloInterfaces
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket -async
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" refout.HelloRefOutBase
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" refout.HelloRefOut
shell: cmd
continue-on-error: true
- run: cd ./tests/jvm/scala && rmdir output /s /q
shell: cmd
continue-on-error: true
- name: Build Scala test source file .NET Core 7.0
shell: cmd
run: |
cd ./tests/jvm/scala
mkdir output
..\..\scala-2.13.5\bin\scalac -toolcp "../../bin/net7.0/*" -d ./output ./src/main/scala/hierarchy/* ./src/main/scala/mscorlib/* ./src/main/scala/nettest/* ./src/main/scala/refout/*
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" mscorlib.HelloLock --CoreCLRApp:Microsoft.NET7.App
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" mscorlib.HelloNet --CoreCLRApp:Microsoft.NET7.App
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" mscorlib.HelloNETEvent --CoreCLRApp:Microsoft.NET7.App
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" mscorlib.HelloIterator --CoreCLRApp:Microsoft.NET7.App
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" hierarchy.HelloHierarchy --CoreCLRApp:Microsoft.NET7.App
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" hierarchy.HelloInterfaces --CoreCLRApp:Microsoft.NET7.App
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket --CoreCLRApp:Microsoft.NET7.App
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket -async --CoreCLRApp:Microsoft.NET7.App
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" refout.HelloRefOutBase --CoreCLRApp:Microsoft.NET7.App
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" refout.HelloRefOut --CoreCLRApp:Microsoft.NET7.App
shell: cmd
continue-on-error: true
- run: cd ./tests/jvm/scala && rmdir output /s /q
shell: cmd
continue-on-error: true
- name: Build Scala test source file .NET Framework
shell: cmd
run: |
cd ./tests/jvm/scala
mkdir output
..\..\scala-2.13.5\bin\scalac -toolcp "../../bin/net462/*" -d ./output ./src/main/scala/hierarchy/*.scala ./src/main/scala/mscorlib/* ./src/main/scala/nettest/* ./src/main/scala/refout/*
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net462/*;./tests/jvm/scala/output" mscorlib.HelloLock
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net462/*;./tests/jvm/scala/output" mscorlib.HelloNet
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net462/*;./tests/jvm/scala/output" mscorlib.HelloNETEvent
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net462/*;./tests/jvm/scala/output" mscorlib.HelloIterator
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net462/*;./tests/jvm/scala/output" hierarchy.HelloHierarchy
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net462/*;./tests/jvm/scala/output" hierarchy.HelloInterfaces
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net462/*;./tests/jvm/scala/output" nettest.HelloNETSocket
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net462/*;./tests/jvm/scala/output" nettest.HelloNETSocket -async
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net462/*;./tests/jvm/scala/output" refout.HelloRefOutBase
shell: cmd
continue-on-error: true
- run: .\scala-2.13.5\bin\scala -toolcp "./bin/net462/*;./tests/jvm/scala/output" refout.HelloRefOut
shell: cmd
continue-on-error: true
- run: cd ./tests/jvm/scala && rmdir output /s /q
shell: cmd
continue-on-error: true
- uses: actions/upload-artifact@v3
with:
name: Errors
path: .\hs_err_*
retention-days: 1