Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
685b016
macos doesn't need openblas
galabovaa Dec 15, 2025
1acdba2
add release tarballs but go check cpack
galabovaa Dec 15, 2025
0add02f
fetch openblas, link and add to export set: linux OK
galabovaa Dec 15, 2025
8e31a44
cpack works on linux
galabovaa Dec 15, 2025
82309ca
Merge branch 'hipo-orderings-bb' into hipo-cpack
galabovaa Dec 15, 2025
6384b36
tarballs
galabovaa Dec 15, 2025
d7aa276
remove metis dep from julia
galabovaa Dec 15, 2025
e78cd7d
test Julia
galabovaa Dec 15, 2025
e61b220
test cpack
galabovaa Dec 15, 2025
c48ca20
typo
galabovaa Dec 15, 2025
104b860
test
galabovaa Dec 15, 2025
8aa006d
windows arm archs
galabovaa Dec 15, 2025
404811d
path to build tarballs
galabovaa Dec 15, 2025
3ed7c72
use hipo for cpack
galabovaa Dec 15, 2025
be0b2c1
manual version to test
galabovaa Dec 15, 2025
7f50d11
add hipo to cpack again and try linux arm runner
galabovaa Dec 15, 2025
c1aba5b
julia version name to test
galabovaa Dec 15, 2025
cd1c63e
add parallel to builds
galabovaa Dec 15, 2025
4d23ead
static cpack
galabovaa Dec 16, 2025
8fc764a
cpack
galabovaa Dec 16, 2025
adf1065
jl
galabovaa Dec 16, 2025
1ac449a
clean up
galabovaa Dec 16, 2025
f7eea18
Merge branch 'latest' into hipo-cpack
galabovaa Dec 16, 2025
b77527c
delete build folders
galabovaa Dec 16, 2025
071ae75
remove highs.sln
galabovaa Dec 16, 2025
efffabd
separate julia from cpack
galabovaa Dec 16, 2025
af12fd5
delete julia workflow
galabovaa Dec 16, 2025
daa3e05
cpack on on mac, next see windows.
galabovaa Dec 16, 2025
335b8ed
cpack win 64
galabovaa Dec 16, 2025
50827d2
added workflow to test fetch and typo in openblas cmake flags to make…
galabovaa Dec 16, 2025
1f03262
add 32
galabovaa Dec 17, 2025
5429f97
add windows arm
galabovaa Dec 17, 2025
fb7b849
runner touch up
galabovaa Dec 17, 2025
e43e9f7
workflow updates
galabovaa Dec 17, 2025
b377b5a
ubuntu 32 arm deps
galabovaa Dec 17, 2025
8fad943
openblas does not support windows arm 32
galabovaa Dec 17, 2025
937cbdb
try 32 again
galabovaa Dec 17, 2025
5bec1fc
next check linux32
galabovaa Dec 17, 2025
e76c6c6
install c++ 32 dep
galabovaa Dec 17, 2025
0825c4e
run
galabovaa Dec 17, 2025
50d1035
points 1. and 2.
galabovaa Dec 17, 2025
de459b1
strategy
galabovaa Dec 17, 2025
be8f169
try gcc
galabovaa Dec 17, 2025
05e5a37
dpkg --add-architecture i386
galabovaa Dec 17, 2025
f587b69
upd
galabovaa Dec 17, 2025
f47e215
arm64 win
galabovaa Dec 17, 2025
223251f
turn off LTO for 32bit linux
galabovaa Dec 17, 2025
b45435e
try skip parse
galabovaa Dec 17, 2025
78d63c6
typo
galabovaa Dec 17, 2025
a8c45d7
fix
galabovaa Dec 17, 2025
6d83f7c
build
galabovaa Dec 17, 2025
ada30e4
up
galabovaa Dec 17, 2025
28446f2
useHipo only called with solver string
galabovaa Dec 17, 2025
e66e836
wip
galabovaa Dec 17, 2025
893cacc
fix bug in cmake_c_flags propagation on linux
galabovaa Jan 5, 2026
f107a12
arm no_hipo
galabovaa Jan 5, 2026
fdffbfd
no_hipo amd command line opts
galabovaa Jan 5, 2026
c290f46
use parse_getarch
galabovaa Jan 5, 2026
a0a315a
32 arm path to exe ls
galabovaa Jan 5, 2026
6ec1674
skip
galabovaa Jan 5, 2026
ce0e7ef
ls
galabovaa Jan 5, 2026
d09c37e
no-get-arch 1
galabovaa Jan 5, 2026
f1f3466
bin higs
galabovaa Jan 5, 2026
e92aa7d
armv7=1
galabovaa Jan 5, 2026
335b76a
ldd
galabovaa Jan 5, 2026
6f89a1c
remove possible flags
galabovaa Jan 5, 2026
012019b
32
galabovaa Jan 5, 2026
ca7cc33
deps
galabovaa Jan 5, 2026
c71fea1
debug and no complex'
galabovaa Jan 5, 2026
8fe9c58
no complex and ls debug
galabovaa Jan 5, 2026
55c40d8
safe
galabovaa Jan 5, 2026
682293f
wip
galabovaa Jan 5, 2026
ddedd6e
bools
galabovaa Jan 5, 2026
0eff02f
try asm flags
galabovaa Jan 5, 2026
c570a83
try generic too2
galabovaa Jan 5, 2026
5f0edd2
try armv5
galabovaa Jan 5, 2026
2e42039
try generic
galabovaa Jan 5, 2026
776dd82
try 32
galabovaa Jan 5, 2026
fec75af
v7 generic
galabovaa Jan 5, 2026
efb059a
armv7 complex
galabovaa Jan 5, 2026
531acdd
generic again
galabovaa Jan 5, 2026
cb476d3
v7 complex
galabovaa Jan 5, 2026
a48bd93
noasm
galabovaa Jan 5, 2026
797ea8b
asm flags
galabovaa Jan 5, 2026
80043fc
try explixit
galabovaa Jan 5, 2026
eb1f77f
try generic with flags
galabovaa Jan 5, 2026
d320d43
try softfp
galabovaa Jan 5, 2026
c2c8e83
no cmake flag:
galabovaa Jan 5, 2026
42c0a56
only cblas?
galabovaa Jan 5, 2026
ae19a99
no asm
galabovaa Jan 5, 2026
f1e506b
error
galabovaa Jan 5, 2026
3edc6bd
fatal error
galabovaa Jan 5, 2026
d1a875f
windows shared
galabovaa Jan 5, 2026
d3fc2aa
Merge branch 'latest' into hipo-cpack-l
galabovaa Jan 5, 2026
bc50440
remove sln file
galabovaa Jan 5, 2026
7002ad2
only copy dll if required
galabovaa Jan 5, 2026
9d6557a
include cpack at the end
galabovaa Jan 5, 2026
b66bd05
add MIT binaries + windows shared libs one
galabovaa Jan 9, 2026
ef9c912
remove auto detect
galabovaa Jan 9, 2026
1333edb
remove OPENBLAS_32
galabovaa Jan 9, 2026
317bb4f
artifact name win x64 shared
galabovaa Jan 9, 2026
f992a67
artifact names
galabovaa Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/julia/build_tarballs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ cmake -DCMAKE_INSTALL_PREFIX=${prefix} \
-DZLIB_USE_STATIC_LIBS=${BUILD_STATIC} \
-DHIPO=ON \
-DBLAS_LIBRARIES="${libdir}/libopenblas.${dlext}" \
-DMETIS_ROOT=${prefix} \
..

if [[ "${target}" == *-linux-* ]]; then
Expand Down Expand Up @@ -63,7 +62,6 @@ platforms = expand_cxxstring_abis(platforms)
dependencies = [
Dependency("CompilerSupportLibraries_jll"),
Dependency("Zlib_jll"),
Dependency("METIS_jll"),
Dependency("OpenBLAS32_jll"),
HostBuildDependency(PackageSpec(; name="CMake_jll")),
]
Expand Down
363 changes: 363 additions & 0 deletions .github/workflows/hipo-fetch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,363 @@
name: hipo-fetch

on: [push, pull_request]

jobs:
ubuntu:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm]
config: [Release]
all_tests: [ON]

steps:
- uses: actions/checkout@v4

- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE -DHIPO=ON -DBUILD_OPENBLAS=ON \
-DALL_TESTS=${{ matrix.all_tests }}

- name: Build
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . -j2

- name: Test executable
working-directory: ${{runner.workspace}}/build
run: ./bin/highs --solver=hipo $GITHUB_WORKSPACE/check/instances/afiro.mps

- name: Ctest
working-directory: ${{runner.workspace}}/build
run: |
ctest --parallel --timeout 300 --output-on-failure

ubuntu_32:
runs-on: ubuntu-latest
strategy:
matrix:
config: [Release]
all_tests: [ON]

steps:
- uses: actions/checkout@v4

- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Install 32-bit deps
run: |
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y gcc-multilib g++-multilib libc6-dev-i386

- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE -DHIPO=ON -DBUILD_OPENBLAS=ON \
-DALL_TESTS=${{ matrix.all_tests }} \
-DCMAKE_C_FLAGS="-m32" \
-DCMAKE_CXX_FLAGS="-m32" \
-DCMAKE_SHARED_LINKER_FLAGS="-m32"

- name: Build
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . -j2

- name: Check
working-directory: ${{runner.workspace}}/build
run: |
cd _deps/openblas-build/lib/
ar t libopenblas.a | head -1 | xargs ar p libopenblas.a | file -

- name: Test executable
working-directory: ${{runner.workspace}}/build
run: ./bin/highs --solver=hipo $GITHUB_WORKSPACE/check/instances/afiro.mps

- name: Ctest
working-directory: ${{runner.workspace}}/build
run: |
ctest --parallel --timeout 300 --output-on-failure

ubuntu_32_no_hipo:
runs-on: ubuntu-latest
strategy:
matrix:
config: [Release]
all_tests: [ON]

steps:
- uses: actions/checkout@v4

- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Install 32-bit deps
run: |
sudo dpkg --add-architecture i386
sudo apt update
sudo apt-get update
sudo apt-get install -y gcc-multilib g++-multilib libc6-dev-i386

- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_CXX_COMPILER=g++ \
-DCMAKE_C_FLAGS="-m32" \
-DCMAKE_CXX_FLAGS="-m32" \
-DCMAKE_SHARED_LINKER_FLAGS="-m32"

- name: Build
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . -j2

- name: Test executable
working-directory: ${{runner.workspace}}/build
run: ./bin/highs $GITHUB_WORKSPACE/check/instances/afiro.mps

- name: Ctest
working-directory: ${{runner.workspace}}/build
run: |
ctest --parallel --timeout 300 --output-on-failure

# ubuntu_32_arm:
# runs-on: ubuntu-24.04-arm
# strategy:
# matrix:
# config: [Release]
# all_tests: [ON]

# steps:
# - uses: actions/checkout@v4

# - name: Create Build Environment
# run: cmake -E make_directory ${{runner.workspace}}/build

# - name: Install 32-bit deps
# run: |
# sudo dpkg --add-architecture armhf
# sudo apt-get update
# sudo apt-get install -y \
# libc6:armhf \
# libstdc++6:armhf
# sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf

# - name: Configure CMake
# working-directory: ${{runner.workspace}}/build
# run: |
# export CC=arm-linux-gnueabihf-gcc
# export CXX=arm-linux-gnueabihf-g++
# cmake $GITHUB_WORKSPACE -DHIPO=ON -DBUILD_OPENBLAS=ON

# - name: Build
# working-directory: ${{runner.workspace}}/build
# run: |
# cmake --build . --parallel

# - name: Check
# working-directory: ${{runner.workspace}}/build
# run: |
# cd _deps/openblas-build/lib/
# ar t libopenblas.a | head -1 | xargs ar p libopenblas.a | file -

# - name: Test executable
# working-directory: ${{runner.workspace}}/build
# run: ./bin/highs --solver=hipo $GITHUB_WORKSPACE/check/instances/afiro.mps

# - name: Ctest
# working-directory: ${{runner.workspace}}/build
# run: |
# ctest --parallel --timeout 300 --output-on-failure

ubuntu_32_arm_no_hipo:
runs-on: ubuntu-24.04-arm
strategy:
matrix:
config: [Release]
all_tests: [ON]

steps:
- uses: actions/checkout@v4

- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Install 32-bit deps
run: |
sudo dpkg --add-architecture armhf
sudo apt-get update
sudo apt-get install -y \
libc6:armhf \
libstdc++6:armhf
sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf

- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: |
export CC=arm-linux-gnueabihf-gcc
export CXX=arm-linux-gnueabihf-g++
cmake $GITHUB_WORKSPACE

- name: Build
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . --parallel
ls

- name: Debug armhf execution
working-directory: ${{runner.workspace}}/build
run: |
set -x
uname -m
ls -l bin/highs
file bin/highs

echo "Checking interpreter:"
readelf -l bin/highs | grep interpreter || true

echo "Checking loader existence:"
ls -l /lib/ld-linux-armhf.so.3 || true

echo "Running highs:"
./bin/highs --version
./bin/highs $GITHUB_WORKSPACE/check/instances/afiro.mps

- name: Test executable
working-directory: ${{runner.workspace}}/build
run: |
./bin/highs $GITHUB_WORKSPACE/check/instances/afiro.mps

- name: Ctest
working-directory: ${{runner.workspace}}/build
run: |
ctest --parallel --timeout 300 --output-on-failure

windows:
runs-on: [windows-latest]
strategy:
fail-fast: false
matrix:
config: [Release]
all_tests: [ON]
arch: ["x64", "Win32"]

steps:
- uses: actions/checkout@v4

- name: Configure CMake
shell: pwsh
run: |
cmake `
-S "$env:GITHUB_WORKSPACE" `
-B "${{ runner.workspace }}/build" `
-A ${{ matrix.arch }} `
-DHIPO=ON `
-DALL_TESTS=${{ matrix.all_tests }} `
-DBUILD_OPENBLAS=ON

- name: Build
shell: pwsh
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . --parallel --config ${{ matrix.config }}

- name: Test executable
shell: pwsh
working-directory: ${{runner.workspace}}/build
run: |
& ".\${{ matrix.config }}\bin\highs.exe" --solver=hipo `
"$env:GITHUB_WORKSPACE/check/instances/afiro.mps"

- name: Ctest
shell: pwsh
working-directory: ${{runner.workspace}}/build
run: |
ctest --parallel --timeout 300 --output-on-failure -C ${{ matrix.config }}

windows_arm_64:
runs-on: [windows-11-arm]
strategy:
matrix:
config: [Release]
all_tests: [ON]
# ARM32 Windows development is basically deprecated:
# https://learn.microsoft.com/en-us/windows/arm/arm32-to-arm64
arch: ["ARM64"]

steps:
- uses: actions/checkout@v4

- name: Configure CMake
shell: pwsh
run: |
cmake `
-S "$env:GITHUB_WORKSPACE" `
-B "${{ runner.workspace }}/build" `
-A ${{ matrix.arch }} `
-DHIPO=ON `
-DALL_TESTS=${{ matrix.all_tests }} `
-DBUILD_OPENBLAS=ON

- name: Build
shell: pwsh
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . --parallel --config ${{ matrix.config }}

- name: Test executable
shell: pwsh
working-directory: ${{runner.workspace}}/build
run: |
& ".\${{ matrix.config }}\bin\highs.exe" --solver=hipo `
"$env:GITHUB_WORKSPACE/check/instances/afiro.mps"

- name: Ctest
shell: pwsh
working-directory: ${{runner.workspace}}/build
run: |
ctest --parallel --timeout 300 --output-on-failure -C ${{ matrix.config }}

# linux shared is default, static build tested in the release artifacts
# windows static is default so test shared
windows_shared:
runs-on: [windows-latest]
strategy:
matrix:
config: [Release]

steps:
- uses: actions/checkout@v4

- name: Configure CMake
shell: pwsh
run: |
cmake `
-S "$env:GITHUB_WORKSPACE" `
-B "${{ runner.workspace }}/build" `
-DHIPO=ON `
-DBUILD_OPENBLAS=ON `
-DBUILD_SHARED_LIBS=ON

- name: Build
shell: pwsh
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . --parallel --config ${{ matrix.config }}

- name: Test executable
shell: pwsh
working-directory: ${{runner.workspace}}/build
run: |
& ".\${{ matrix.config }}\bin\highs.exe" --solver=hipo `
"$env:GITHUB_WORKSPACE/check/instances/afiro.mps"
Loading
Loading