Skip to content

Update artifacts action for uploading highspy #899

Update artifacts action for uploading highspy

Update artifacts action for uploading highspy #899

name: test-nuget-package
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# macos 12 is Intel
build_macos_12:
runs-on: macos-12
# strategy:
# matrix:
# python: [3.11]
steps:
- uses: actions/checkout@v4
- name: Build HiGHS
run: |
cmake -E make_directory ${{runner.workspace}}/build
cmake -E make_directory ${{runner.workspace}}/nugets
cmake -E make_directory ${{runner.workspace}}/test_nuget
- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON
- name: Build
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config Release --parallel
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'
- name: Dotnet pack
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
run: dotnet pack -c Release /p:Version=1.8.0
- name: Add local feed
run: dotnet nuget add source ${{runner.workspace}}/nugets
- name: Dotnet push to local feed
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets
- name: Create new project and test
shell: bash
working-directory: ${{runner.workspace}}/test_nuget
run: |
dotnet new console
rm Program.cs
cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs .
dotnet add package Highs.Native -s ${{runner.workspace}}/nugets
dotnet run
# macos 14 is M1 (beta)
build_macos_14:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: Build HiGHS
run: |
cmake -E make_directory ${{runner.workspace}}/build
cmake -E make_directory ${{runner.workspace}}/nugets
cmake -E make_directory ${{runner.workspace}}/test_nuget
- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON
- name: Build
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config Release --parallel
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'
- name: Dotnet pack
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
run: dotnet pack -c Release /p:Version=1.8.0
- name: Add local feed
run: dotnet nuget add source ${{runner.workspace}}/nugets
- name: Dotnet push to local feed
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets
- name: Create new project and test
shell: bash
working-directory: ${{runner.workspace}}/test_nuget
run: |
dotnet new console
rm Program.cs
cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs .
dotnet add package Highs.Native -s ${{runner.workspace}}/nugets
dotnet run
build_linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build HiGHS
run: |
cmake -E make_directory ${{runner.workspace}}/build
cmake -E make_directory ${{runner.workspace}}/nugets
cmake -E make_directory ${{runner.workspace}}/test_nuget
- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON
- name: Build
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config Release --parallel
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'
- name: Dotnet pack
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
run: dotnet pack -c Release /p:Version=1.8.0
- name: Add local feed
run: dotnet nuget add source ${{runner.workspace}}/nugets
- name: Dotnet push to local feed
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets
- name: Create new project and test
shell: bash
working-directory: ${{runner.workspace}}/test_nuget
run: |
dotnet new console
rm Program.cs
cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs .
dotnet add package Highs.Native -s ${{runner.workspace}}/nugets
dotnet run
build_linux_8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build HiGHS
run: |
cmake -E make_directory ${{runner.workspace}}/build
cmake -E make_directory ${{runner.workspace}}/nugets
cmake -E make_directory ${{runner.workspace}}/test_nuget
- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON
- name: Build
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config Release --parallel
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- name: Dotnet pack
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
run: dotnet pack -c Release /p:Version=1.8.0
- name: Add local feed
run: dotnet nuget add source ${{runner.workspace}}/nugets
- name: Dotnet push to local feed
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
run: dotnet nuget push ./bin/Release/*.nupkg -s ${{runner.workspace}}/nugets
- name: Create new project and test
shell: bash
working-directory: ${{runner.workspace}}/test_nuget
run: |
dotnet new console
rm Program.cs
cp $GITHUB_WORKSPACE/examples/call_highs_from_csharp.cs .
dotnet add package Highs.Native -s ${{runner.workspace}}/nugets
dotnet run
build_windows:
runs-on: windows-2019
steps:
- uses: actions/checkout@v4
- name: Build HiGHS Windows native
run: |
cmake -E make_directory ${{runner.workspace}}/build
cmake -E make_directory ${{runner.workspace}}/nugets
cmake -E make_directory ${{runner.workspace}}/test_nuget
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCSHARP=ON -DBUILD_DOTNET=ON
- name: Build
shell: bash
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config Release --parallel
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'
- name: Dotnet pack
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
run: dotnet pack -c Release /p:Version=1.8.0
- name: Add local feed
run: dotnet nuget add source -n name ${{runner.workspace}}\nugets
- name: Dotnet push to local feed
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
shell: bash
run: dotnet nuget push ./bin/Release/*.nupkg -s name
- name: Create new project and test
working-directory: ${{runner.workspace}}/test_nuget
run: |
dotnet new console
rm Program.cs
cp ${{runner.workspace}}\HiGHS\examples\call_highs_from_csharp.cs .
dotnet add package Highs.Native -v 1.8.0 -s ${{runner.workspace}}\nugets
dotnet run