Browse Source

juliac: add CI configuration for compiling and running runic (#57)

pull/59/head
Fredrik Ekre 1 year ago committed by GitHub
parent
commit
150ced92ab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 41
      .github/workflows/Compile.yml
  2. 2
      .github/workflows/Test.yml
  3. 16
      juliac/rpath-private-libs-macos.patch

41
.github/workflows/Compile.yml

@ -0,0 +1,41 @@
name: Compile
on:
push:
branches:
- 'master'
- 'release-'
tags:
- '*'
pull_request:
jobs:
compile:
name: juliac - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macOS-latest
steps:
- uses: actions/checkout@v4
# - uses: julia-actions/setup-julia@v2
# with:
# version: 'nightly'
- uses: julia-actions/install-juliaup@v2
with:
channel: 'pr55047' # https://github.com/JuliaLang/julia/pull/55047
- name: Patch julia-config.jl
run: |
juliaconfig=$(julia -e 'print(joinpath(Sys.BINDIR, Base.DATAROOTDIR,"julia", "julia-config.jl"))')
patch -p1 "${juliaconfig}" juliac/rpath-private-libs-macos.patch
if: ${{ matrix.os == 'macOS-latest' }}
- uses: julia-actions/cache@v2
- name: Compile Runic with juliac
run: |
make -C juliac
- name: Smoke test compiled binary
run: |
./juliac/runicc --check --diff .

2
.github/workflows/Test.yml

@ -11,7 +11,7 @@ on:
jobs: jobs:
test: test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ github.event_name }} name: Julia ${{ matrix.version }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
fail-fast: false fail-fast: false

16
juliac/rpath-private-libs-macos.patch

@ -0,0 +1,16 @@
diff --git a/contrib/julia-config.jl b/contrib/julia-config.jl
index 55996e9fe5..8725b08eba 100755
--- a/contrib/julia-config.jl
+++ b/contrib/julia-config.jl
@@ -67,8 +67,9 @@ function ldlibs(doframework)
"julia"
end
if Sys.isunix()
- return "-L$(shell_escape(private_libDir())) " * "-Wl,-rpath,$(shell_escape(libDir())) " *
- (Sys.isapple() ? string() : "-Wl,-rpath,$(shell_escape(private_libDir())) ") *
+ return "-L$(shell_escape(private_libDir())) " *
+ "-Wl,-rpath,$(shell_escape(libDir())) " *
+ "-Wl,-rpath,$(shell_escape(private_libDir())) " *
"-l$libname"
else
return "-l$libname -lopenlibm"
Loading…
Cancel
Save