Merge pull request #90 from epam/release #450
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-wrappers: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: build | |
run: | | |
./gradlew makeNativeWrappers | |
cp LICENSE native/ | |
cp intel-eula.txt native/ | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: build-wrappers | |
path: | | |
./gradle.properties | |
./*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 | |
./native/include* | |
retention-days: 7 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: native-sources | |
path: | | |
native/ | |
retention-days: 7 | |
build-native-linux: | |
runs-on: ubuntu-22.04 | |
needs: [build-wrappers] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Download build-wrappers artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: build-wrappers | |
- name: build | |
run: | | |
sudo apt update | |
sudo apt install -yqq g++-arm-linux-gnueabihf \ | |
g++-aarch64-linux-gnu \ | |
g++-i686-linux-gnu \ | |
musl-tools | |
./gradlew makeNativeLinux | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: build-native-linux | |
path: | | |
./*native/install* | |
retention-days: 7 | |
build-native-windows: | |
runs-on: windows-2022 | |
needs: [build-wrappers] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Download build-wrappers artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: build-wrappers | |
- 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/install* | |
retention-days: 7 | |
build-native-macos: | |
runs-on: macos-12 | |
needs: [build-wrappers] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Download build-wrappers artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: build-wrappers | |
- name: build | |
run: | | |
./gradlew makeNativeDarwin | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: build-native-macos | |
path: | | |
./*native/install* | |
retention-days: 7 | |
compress-native: | |
runs-on: ubuntu-22.04 | |
needs: [build-wrappers, build-native-linux, build-native-windows, build-native-macos] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download build-wrappers artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: build-wrappers | |
- 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 | |
./gradlew nativeInstallToBin | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: compress-native | |
path: | | |
./gradle.properties | |
./*native/bin* | |
./*native/binmath* | |
./*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 | |
./native/include* | |
retention-days: 7 | |
build-java: | |
runs-on: ubuntu-22.04 | |
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-2022 | |
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-22.04', 'windows-2022', 'macos-12'] | |
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-22.04', 'windows-2022', 'macos-12'] | |
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-2022' }} | |
run: | | |
cd csharp | |
./build --target=Run-Unit-Tests | |
- name: test nix | |
if: ${{ matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-12' }} | |
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 |