.NET: Fix compilation #388
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |