Skip to content

Commit 690e0df

Browse files
committed
see if I can reproduce the blas lookup issue
1 parent 0cc64f1 commit 690e0df

File tree

2 files changed

+118
-1
lines changed

2 files changed

+118
-1
lines changed

.github/julia/build_tarballs.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ cmake -DCMAKE_INSTALL_PREFIX=${prefix} \
3333
-DCMAKE_BUILD_TYPE=Release \
3434
-DBUILD_SHARED_LIBS=${BUILD_SHARED} \
3535
-DZLIB_USE_STATIC_LIBS=${BUILD_STATIC} \
36-
-DFAST_BUILD=ON ..
36+
-DHIPO=ON \
37+
-DBLAS_LIBRARIES="${libdir}/libopenblas.${dlext}" \
38+
-DMETIS_ROOT=${prefix} \
39+
..
3740
3841
if [[ "${target}" == *-linux-* ]]; then
3942
make -j ${nproc}
@@ -60,6 +63,8 @@ platforms = expand_cxxstring_abis(platforms)
6063
dependencies = [
6164
Dependency("CompilerSupportLibraries_jll"),
6265
Dependency("Zlib_jll"),
66+
Dependency("METIS_jll"),
67+
Dependency("OpenBLAS32_jll"),
6368
HostBuildDependency(PackageSpec(; name="CMake_jll")),
6469
]
6570

.github/workflows/julia-tests.yml

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
name: JuliaCompileAndTest
2+
on: [push, pull_request]
3+
# needed to allow julia-actions/cache to delete old caches that it has created
4+
permissions:
5+
actions: write
6+
contents: read
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
triplet: ['x86_64-linux-gnu-cxx11', 'aarch64-apple-darwin', 'x86_64-w64-mingw32-cxx11']
14+
steps:
15+
- uses: actions/checkout@v4
16+
- uses: julia-actions/setup-julia@v2
17+
with:
18+
version: "1.7"
19+
arch: x64
20+
- uses: julia-actions/cache@v2
21+
- run: |
22+
git fetch --tags
23+
echo "HIGHS_RELEASE=$(git describe --tags $(git rev-list --tags --max-count=1) | sed 's/^v//')" >> $GITHUB_ENV
24+
if [ "${{ github.event_name }}" = "pull_request" ]; then
25+
echo "HIGHS_COMMIT=${{ github.event.pull_request.head.sha }}" >> $GITHUB_ENV
26+
echo "HIGHS_URL=${{ github.event.pull_request.head.repo.clone_url }}" >> $GITHUB_ENV
27+
else
28+
echo "HIGHS_COMMIT=${{ github.sha }}" >> $GITHUB_ENV
29+
echo "HIGHS_URL=https://github.com/${{ github.repository }}.git" >> $GITHUB_ENV
30+
fi
31+
- run: |
32+
julia --color=yes -e 'using Pkg; Pkg.add("BinaryBuilder")'
33+
julia --color=yes .github/julia/build_tarballs.jl ${{ matrix.triplet }} --verbose --deploy="local"
34+
env:
35+
BINARYBUILDER_AUTOMATIC_APPLE: true
36+
- uses: actions/upload-artifact@v4
37+
with:
38+
name: ${{ matrix.triplet }}
39+
path: ${{ github.workspace }}/products/*
40+
- uses: actions/upload-artifact@v4
41+
with:
42+
name: ${{ matrix.triplet }}-jll
43+
path: /home/runner/.julia/dev/HiGHS_jll
44+
test:
45+
runs-on: ${{ matrix.os }}
46+
needs: build
47+
strategy:
48+
fail-fast: false
49+
matrix:
50+
include:
51+
- triplet: 'x86_64-linux-gnu-cxx11'
52+
os: 'ubuntu-latest'
53+
arch: x64
54+
- triplet: 'aarch64-apple-darwin'
55+
os: 'macos-14'
56+
arch: aarch64
57+
- triplet: 'x86_64-w64-mingw32-cxx11'
58+
os: 'windows-latest'
59+
arch: x64
60+
steps:
61+
- uses: actions/checkout@v4
62+
- uses: julia-actions/setup-julia@v2
63+
with:
64+
version: "1.10"
65+
arch: ${{ matrix.arch }}
66+
# Download and setup the artifact
67+
- uses: actions/download-artifact@v4
68+
with:
69+
name: ${{ matrix.triplet }}
70+
path: ${{ github.workspace }}/products
71+
- shell: bash
72+
run: tar -xzf products/HiGHS.*.${{ matrix.triplet }}.tar.gz -C products
73+
# We also need to download the JLL package, because it contains the new
74+
# dependencies
75+
- uses: actions/download-artifact@v4
76+
with:
77+
name: ${{ matrix.triplet }}-jll
78+
path: ${{ github.workspace }}/HiGHS_jll
79+
# We need to update the [compat] section in HiGHS to support HiGHS_jll
80+
- shell: julia --color=yes {0}
81+
run: |
82+
using Pkg
83+
Pkg.develop("HiGHS")
84+
project_filename = joinpath(Pkg.devdir(), "HiGHS", "Project.toml")
85+
project = read(project_filename, String)
86+
write(
87+
project_filename,
88+
replace(project, r"HiGHS_jll = \"=.+?\"" => "HiGHS_jll = \"1\""),
89+
)
90+
# Now we need to update the Artifacts.toml in the HiGHS_jll that we've
91+
# downloaded. Otherwise Julia will try to download the default on install.
92+
- shell: julia --color=yes {0}
93+
run: |
94+
import Pkg
95+
file = joinpath(ENV["GITHUB_WORKSPACE"], "HiGHS_jll", "Artifacts.toml")
96+
m = match(r"git-tree-sha1 = \"(.+?)\"", read(file, String))
97+
dir = escape_string(joinpath(ENV["GITHUB_WORKSPACE"], "products"))
98+
write(
99+
joinpath(homedir(), ".julia", "artifacts", "Overrides.toml"),
100+
"$(m[1]) = \"$(dir)\"\n",
101+
)
102+
Pkg.develop(; path = joinpath(ENV["GITHUB_WORKSPACE"], "HiGHS_jll"))
103+
- shell: julia --color=yes {0}
104+
run: |
105+
import HiGHS_jll
106+
file = joinpath(ENV["GITHUB_WORKSPACE"], "check", "instances", "flugpl.mps")
107+
run(`$(HiGHS_jll.highs()) --solver=hipo $file`)
108+
run(`$(HiGHS_jll.highs()) $file`)
109+
- shell: julia --color=yes {0}
110+
run: |
111+
using Pkg
112+
Pkg.test("HiGHS")

0 commit comments

Comments
 (0)