Skip to content

.NET: Fix compilation #388

.NET: Fix compilation

.NET: Fix compilation #388

Workflow file for this run

name: Build CI
on:
workflow_dispatch:
push:
branches-ignore: release
pull_request:
types: synchronize
branches-ignore: release
env:
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
NATIVE_UTILS_LOG_LEVEL: "0"
jobs:
build-native-linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: build
run: |
sudo apt update
sudo apt install -yqq g++-9-arm-linux-gnueabihf \
g++-9-aarch64-linux-gnu \
g++-9-i686-linux-gnu \
musl-tools
cd ..
mkdir llvm
cd llvm
curl -OL https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/clang+llvm-12.0.0-armv7a-linux-gnueabihf.tar.xz
curl -OL https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/clang+llvm-12.0.0-aarch64-linux-gnu.tar.xz
curl -OL https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/clang+llvm-12.0.0-i386-unknown-freebsd12.tar.xz
tar -xf clang+llvm-12.0.0-armv7a-linux-gnueabihf.tar.xz
tar -xf clang+llvm-12.0.0-aarch64-linux-gnu.tar.xz
tar -xf clang+llvm-12.0.0-i386-unknown-freebsd12.tar.xz
ls -al
cd ../DFP/
ls -al
./gradlew makeNativeLinux
./gradlew makeNativeWrappers
- uses: actions/upload-artifact@v3
with:
name: build-native-linux
path: |
./*native/bin*
./*java/dfp/build/generated/sources/nativeWrappers/com/epam/deltix/dfp*
./*java/dfp-math/build/generated/sources/nativeWrappers/com/epam/deltix/dfpmath*
./csharp/EPAM.Deltix.DFP/NativeImpl.cs
./csharp/EPAM.Deltix.DFP/Version.targets
./csharp/EPAM.Deltix.DFPMath/NativeMathImpl.cs
./csharp/EPAM.Deltix.DFPMath/Version.targets
retention-days: 7
build-native-windows:
runs-on: windows-2019
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Use MSBuild
uses: microsoft/setup-msbuild@v1.1
- name: build
run: |
./gradlew makeNativeWindows
- uses: actions/upload-artifact@v3
with:
name: build-native-windows
path: |
./*native/bin*
retention-days: 7
build-native-macos:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: build
run: |
sudo apt update
sudo apt install clang make libssl-dev liblzma-dev libxml2-dev fuse
cd ./osxcross/tarballs/
wget https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.3.sdk.tar.xz
cd ..
UNATTENDED=yes OSX_VERSION_MIN=10.7 JOBS=4 ./build.sh
cd ..
./gradlew makeNativeDarwin
- uses: actions/upload-artifact@v3
with:
name: build-native-macos
path: |
./*native/bin*
retention-days: 7
compress-native:
runs-on: ubuntu-latest
needs: [build-native-linux, build-native-windows, build-native-macos]
steps:
- uses: actions/checkout@v3
- name: Download native-linux artifacts
uses: actions/download-artifact@v3
with:
name: build-native-linux
- name: Download native-windows artifacts
uses: actions/download-artifact@v3
with:
name: build-native-windows
- name: Download native-macos artifacts
uses: actions/download-artifact@v3
with:
name: build-native-macos
- name: compress
run: |
zstd --version
zstd -19 --rm -r ./native/bin
zstd -19 --rm -r ./native/binmath
- uses: actions/upload-artifact@v3
with:
name: compress-native
path: |
./gradle.properties
./*native/bin*
./*java/dfp/build/generated/sources/nativeWrappers/com/epam/deltix/dfp*
./*java/dfp-math/build/generated/sources/nativeWrappers/com/epam/deltix/dfpmath*
./csharp/EPAM.Deltix.DFP/NativeImpl.cs
./csharp/EPAM.Deltix.DFP/Version.targets
./csharp/EPAM.Deltix.DFPMath/NativeMathImpl.cs
./csharp/EPAM.Deltix.DFPMath/Version.targets
retention-days: 7
build-java:
runs-on: ubuntu-latest
needs: [compress-native]
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Download compress-native artifacts
uses: actions/download-artifact@v3
with:
name: compress-native
- name: Setup java
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '19'
- name: build
run: |
./gradlew jar
./gradlew javadocJar
./gradlew copyTestJars
- uses: actions/upload-artifact@v3
with:
name: java-jars
path: |
./*java/dfp/build/libs/*
./*java/dfp-math/build/libs/*
./*java/dfp/testLibs/*
./*java/dfp-math/testLibs/*
./*java/dfpNativeTests/testLibs/*
./*java/vtaTest/testLibs/*
retention-days: 7
build-dotnet:
runs-on: windows-2019
needs: [compress-native]
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Download compress-native artifacts
uses: actions/download-artifact@v3
with:
name: compress-native
- name: Setup dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: '3.1.x'
- name: build
run: |
cd csharp
./build -Target Build
- uses: actions/upload-artifact@v3
with:
name: dotnet-build
path: |
./*csharp/EPAM.Deltix.DFP/bin/Release/*
./*csharp/EPAM.Deltix.DFPMath/bin/Release/*
./*csharp/EPAM.Deltix.DFP.Demo/bin/Release/*
retention-days: 7
test-java:
runs-on: ${{ matrix.os }}
needs: [build-java]
strategy:
fail-fast: false
matrix:
os: [ 'ubuntu-latest', 'windows-2019', 'macos-latest']
java: [ '8', '11', '19']
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Download java-jars artifacts
uses: actions/download-artifact@v3
with:
name: java-jars
- name: Setup java
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: ${{ matrix.java }}
- name: Show environment
run: |
./gradlew :java:systemInfo:runSystemInfo
- name: test
run: |
./gradlew runTestJars
test-dotnet:
runs-on: ${{ matrix.os }}
needs: [compress-native]
strategy:
fail-fast: false
matrix:
os: [ 'ubuntu-latest', 'windows-2019', 'macos-latest']
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Download compress-native artifacts
uses: actions/download-artifact@v3
with:
name: compress-native
- name: Setup dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: '3.1.x'
- name: test windows
if: ${{ matrix.os == 'windows-2019' }}
run: |
cd csharp
./build --target=Run-Unit-Tests
- name: test nix
if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' }}
run: |
cd csharp
./build.sh --target=Run-Unit-Tests
- name: Upload test results on failure
uses: actions/upload-artifact@v3
if: ${{ failure() }}
with:
path: |
csharp/EPAM.Deltix.DFP/bin/*
csharp/EPAM.Deltix.DFPMath/bin/*
csharp/*.txt
csharp/*.xml
name: Dotnet-3.1-${{ matrix.os }}-TestReports