Skip to content

Commit ecaacdd

Browse files
committed
Test pocl#main on CI
1 parent 9741962 commit ecaacdd

File tree

1 file changed

+61
-1
lines changed

1 file changed

+61
-1
lines changed

.github/workflows/ci.yml

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ jobs:
3030
- windows-latest
3131
arch:
3232
- x64
33+
pocl:
34+
- [local, jll]
3335
include:
3436
- version: 'nightly'
3537
os: ubuntu-latest
@@ -43,7 +45,65 @@ jobs:
4345
arch: ${{ matrix.arch }}
4446
show-versioninfo: true
4547
- uses: julia-actions/cache@v2
46-
- run: |
48+
- name: Checkout pocl
49+
if: ${{ matrix.pocl == 'local' }}
50+
uses: actions/checkout@v4
51+
with:
52+
repository: pocl/pocl
53+
path: pocl
54+
- name: Install Julia dependencies
55+
if: ${{ matrix.pocl == 'local' }}
56+
run: |
57+
touch pocl/Project.toml
58+
julia --project=pocl --color=yes -e '
59+
using Pkg
60+
# unversioned
61+
Pkg.add([
62+
"SPIRV_Tools_jll",
63+
"OpenCL_jll",
64+
"OpenCL_Headers_jll",
65+
"Hwloc_jll",
66+
"CMake_jll",
67+
])
68+
# versioned
69+
llvm_version = "$(Base.libllvm_version.major).$(Base.libllvm_version.minor)"
70+
Pkg.add(name="LLVM_full_jll", version=llvm_version)'
71+
Pkg.add(name="SPIRV_LLVM_Translator_jll", version=llvm_version)'
72+
- name: Build PoCL
73+
if: ${{ matrix.pocl == 'local' }}
74+
run: |
75+
julia --project=pocl --color=yes -e '
76+
using LLVM_full_jll,
77+
SPIRV_Tools_jll, SPIRV_LLVM_Translator_jll,
78+
OpenCL_jll, OpenCL_Headers_jll,
79+
Hwloc_jll, CMake_jll
80+
sourcedir = joinpath(@__DIR__, "pocl")
81+
builddir = joinpath(@__DIR__, "build")
82+
destdir = joinpath(@__DIR__, "target")
83+
prefix = []
84+
for jll in [SPIRV_Tools_jll, SPIRV_LLVM_Translator_jll, OpenCL_jll,
85+
OpenCL_Headers_jll, Hwloc_jll]
86+
push!(prefix, jll.artifact_dir)
87+
end
88+
withenv("LD_LIBRARY_PATH" => joinpath(Sys.BINDIR, Base.PRIVATE_LIBDIR)) do
89+
mkpath(builddir)
90+
run(```cmake -B $builddir -S $sourcedir
91+
-GNinja
92+
-DCMAKE_CXX_FLAGS="-fdiagnostics-color=always"
93+
-DCMAKE_C_FLAGS="-fdiagnostics-color=always"
94+
-DCMAKE_BUILD_TYPE=Debug
95+
-DENABLE_TESTS:Bool=OFF
96+
-DPOCL_DEBUG_MESSAGES:Bool=ON
97+
-DCMAKE_INSTALL_PREFIX=$destdir
98+
-DWITH_LLVM_CONFIG=$(LLVM_full_jll.artifact_dir)/tools/llvm-config
99+
-DCMAKE_PREFIX_PATH="$(join(prefix, ";"))"
100+
-DKERNELLIB_HOST_CPU_VARIANTS=distro```)
101+
run(```$(cmake()) --build $builddir --parallel $(Sys.CPU_THREADS) --target install```)
102+
end'
103+
echo '[pocl_jll]' > test/LocalPreferences.toml
104+
echo 'libpocl_path="${{ github.workspace }}/pocl/target/lib/libpocl.so"' >> test/LocalPreferences.toml
105+
- name: "Co-develop Enzyme and KA"
106+
run: |
47107
julia -e '
48108
using Pkg
49109
withenv("JULIA_PKG_PRECOMPILE_AUTO" => 0) do

0 commit comments

Comments
 (0)