CI: Add conan pacage creation test #438
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 | |
- 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 | |
build-cxx-conan: | |
runs-on: ${{ matrix.os }} | |
needs: [build-wrappers] | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ 'ubuntu-22.04', 'windows-2019', 'macos-latest'] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Download build-wrappers artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: build-wrappers | |
- name: create | |
run: | | |
cd native | |
pip install conan | |
python3 conan_invoke.py profile detect | |
python3 conan_invoke.py create . | |
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-2019 | |
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-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-22.04', '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-22.04', '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-22.04' || 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 |