@@ -64,11 +64,11 @@ jobs:
64
64
sudo apt install -y libtinfo5
65
65
- name : Install LLVM (Linux)
66
66
run : |
67
- curl --proto '=https' --tlsv1.2 -sSf https://github.com/llvm /llvm-project /releases/download/llvmorg-15.0.6/clang+ llvm-15.0.6-x86_64- linux-gnu-ubuntu-18.04 .tar.xz -L -o /opt/llvm.tar.xz
68
- mkdir -p /opt/llvm-15
69
- tar xf /opt/llvm.tar.xz --strip-components=1 -C /opt/llvm-15
70
- echo '/opt/llvm-15 /bin' >> $GITHUB_PATH
71
- echo 'LLVM_SYS_150_PREFIX =/opt/llvm-15 ' >> $GITHUB_ENV
67
+ curl --proto '=https' --tlsv1.2 -sSf https://github.com/wasmerio /llvm-custom-builds /releases/download/18.x/ llvm-linux-amd64 .tar.xz -L -o /opt/llvm.tar.xz
68
+ mkdir -p /opt/llvm-18
69
+ tar xf /opt/llvm.tar.xz --strip-components=1 -C /opt/llvm-18
70
+ echo '/opt/llvm-18 /bin' >> $GITHUB_PATH
71
+ echo 'LLVM_SYS_180_PREFIX =/opt/llvm-18 ' >> $GITHUB_ENV
72
72
- name : Cache
73
73
uses : whywaita/actions-cache-s3@v2
74
74
with :
@@ -135,6 +135,18 @@ jobs:
135
135
- name : Install wasm-pack
136
136
run : |
137
137
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
138
+ - name : Install LLVM 18
139
+ run : |
140
+ curl --proto '=https' --tlsv1.2 -sSf https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-linux-amd64.tar.xz -L -o llvm.tar.xz
141
+ LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }}
142
+ mkdir ${LLVM_DIR}
143
+ tar xf llvm.tar.xz --strip-components=1 -C ${LLVM_DIR}
144
+ echo "ENABLE_LLVM=1" >> $GITHUB_ENV
145
+ echo "${LLVM_DIR}/bin" >> $GITHUB_PATH
146
+ echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH
147
+ echo "LLVM_SYS_180_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV
148
+ env :
149
+ LLVM_DIR : .llvm
138
150
- name : make test-wasi-fyi
139
151
run : |
140
152
make test-wasi-fyi
@@ -171,6 +183,18 @@ jobs:
171
183
curl -L "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${{ env.WASI_SDK_VERSION }}/wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-linux.tar.gz" -o wasi-sdk.tar.gz
172
184
tar -xzf wasi-sdk.tar.gz
173
185
cp -r wasi-sdk-${{ env.WASI_SDK_VERSION }}.0 ~/wasi-sdk
186
+ - name : Install LLVM 18
187
+ run : |
188
+ curl --proto '=https' --tlsv1.2 -sSf https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-linux-amd64.tar.xz -L -o llvm.tar.xz
189
+ LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }}
190
+ mkdir ${LLVM_DIR}
191
+ tar xf llvm.tar.xz --strip-components=1 -C ${LLVM_DIR}
192
+ echo "ENABLE_LLVM=1" >> $GITHUB_ENV
193
+ echo "${LLVM_DIR}/bin" >> $GITHUB_PATH
194
+ echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH
195
+ echo "LLVM_SYS_180_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV
196
+ env :
197
+ LLVM_DIR : .llvm
174
198
- name : Install wasm-opt
175
199
run : |
176
200
sudo apt-get install -y binaryen
@@ -264,6 +288,18 @@ jobs:
264
288
toolchain : " nightly-2024-08-21"
265
289
target : x86_64-unknown-linux-gnu
266
290
- run : cargo install toml-cli # toml-cli is required to run `make test-build-docs-rs`
291
+ - name : Install LLVM 18
292
+ run : |
293
+ curl --proto '=https' --tlsv1.2 -sSf https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-linux-amd64.tar.xz -L -o llvm.tar.xz
294
+ LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }}
295
+ mkdir ${LLVM_DIR}
296
+ tar xf llvm.tar.xz --strip-components=1 -C ${LLVM_DIR}
297
+ echo "ENABLE_LLVM=1" >> $GITHUB_ENV
298
+ echo "${LLVM_DIR}/bin" >> $GITHUB_PATH
299
+ echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH
300
+ echo "LLVM_SYS_180_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV
301
+ env :
302
+ LLVM_DIR : .llvm
267
303
- name : make test-build-docs-rs-ci
268
304
run : make test-build-docs-rs-ci
269
305
@@ -409,36 +445,41 @@ jobs:
409
445
build : linux-x64,
410
446
os : ubuntu-22.04,
411
447
target : x86_64-unknown-linux-gnu,
412
- llvm_url : ' https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz'
413
- },
414
- {
415
- build : linux-musl,
416
- target : x86_64-unknown-linux-musl,
417
- os : ubuntu-22.04,
418
- container : ' alpine:latest'
448
+ exe : ' ' ,
449
+ llvm_url : ' https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-linux-amd64.tar.xz'
419
450
},
420
451
{
421
452
build : macos-x64,
422
453
os : macos-12,
423
454
target : x86_64-apple-darwin,
424
- llvm_url : ' https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/clang+llvm-15.0.7-x86_64-apple-darwin21.0.tar.xz'
455
+ exe : ' ' ,
456
+ llvm_url : ' https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-darwin-amd64.tar.xz'
457
+
425
458
},
426
459
{
427
- build : macos-arm ,
428
- os : macos-12 ,
460
+ build : macos-arm64 ,
461
+ os : macos-14 ,
429
462
target : aarch64-apple-darwin,
463
+ exe : ' ' ,
464
+ # [todo] xdoardo: Reinstate when the code we generate for aarch64 is working correctly.
465
+ # llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-darwin-aarch64.tar.xz'
430
466
},
431
467
{
432
468
build : windows-x64,
433
- os : windows-2019 ,
469
+ os : windows-2022 ,
434
470
target : x86_64-pc-windows-msvc,
435
- llvm_url : ' https://github.com/wasmerio/llvm-custom-builds/releases/download/15.x/llvm-windows-amd64.tar.xz'
471
+ exe : ' .exe' ,
472
+ # For now, disable LLVM in `windows-x64.`
473
+ # llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-windows-amd64.tar.xz'
436
474
},
437
475
{
438
- build : windows-gnu ,
439
- target : x86_64-pc-windows-gnu ,
476
+ build : linux-musl ,
477
+ target : x86_64-unknown-linux-musl ,
440
478
os : ubuntu-22.04,
479
+ exe : ' ' ,
480
+ container : ' alpine:latest'
441
481
}
482
+
442
483
]
443
484
container : ${{ matrix.metadata.container }}
444
485
env :
@@ -469,6 +510,13 @@ jobs:
469
510
target : ${{ matrix.metadata.target }}
470
511
- name : Install Nextest
471
512
uses : taiki-e/install-action@nextest
513
+ - name : Install MSVC dev-cmd (Windows)
514
+ uses : ilammy/msvc-dev-cmd@v1
515
+ if : ${{ matrix.metadata.build == 'windows-x64' }}
516
+ - name : Delete unwanted link to stop it from interfering (Windows)
517
+ shell : bash
518
+ run : rm /usr/bin/link.exe
519
+ if : ${{ matrix.metadata.build == 'windows-x64' }}
472
520
- name : Install Windows-GNU linker
473
521
if : ${{ matrix.metadata.build == 'windows-gnu' }}
474
522
shell : bash
@@ -506,8 +554,8 @@ jobs:
506
554
run : |
507
555
brew install llvm
508
556
- name : Install LLVM
509
- if : matrix.metadata.llvm_url
510
557
shell : bash
558
+ if : matrix.metadata.llvm_url
511
559
run : |
512
560
curl --proto '=https' --tlsv1.2 -sSf ${{ matrix.metadata.llvm_url }} -L -o llvm.tar.xz
513
561
LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }}
@@ -516,9 +564,14 @@ jobs:
516
564
echo "ENABLE_LLVM=1" >> $GITHUB_ENV
517
565
echo "${LLVM_DIR}/bin" >> $GITHUB_PATH
518
566
echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH
519
- echo "LLVM_SYS_150_PREFIX =${LLVM_DIR}" >> $GITHUB_ENV
567
+ echo "LLVM_SYS_180_PREFIX =${LLVM_DIR}" >> $GITHUB_ENV
520
568
env :
521
569
LLVM_DIR : .llvm
570
+ - name : Add `brew` libs to `RUSTFLAGS`
571
+ if : matrix.metadata.os == 'macos-14'
572
+ shell : bash
573
+ run : |
574
+ echo "RUSTFLAGS=-L/opt/homebrew/lib" >> $GITHUB_ENV
522
575
- name : Setup Rust target
523
576
shell : bash
524
577
run : |
@@ -640,27 +693,31 @@ jobs:
640
693
os : ubuntu-22.04,
641
694
target : x86_64-unknown-linux-gnu,
642
695
exe : ' ' ,
643
- llvm_url : ' https://github.com/llvm /llvm-project /releases/download/llvmorg-15.0.6/clang+ llvm-15.0.6-x86_64- linux-gnu-ubuntu-18.04 .tar.xz'
696
+ llvm_url : ' https://github.com/wasmerio /llvm-custom-builds /releases/download/18.x/ llvm-linux-amd64 .tar.xz'
644
697
},
645
698
{
646
699
build : macos-x64,
647
700
os : macos-12,
648
701
target : x86_64-apple-darwin,
649
702
exe : ' ' ,
650
- llvm_url : ' https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/clang+llvm-15.0.7-x86_64-apple-darwin21.0.tar.xz'
703
+ llvm_url : ' https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-darwin-amd64.tar.xz'
704
+
651
705
},
652
706
{
653
707
build : macos-arm64,
654
708
os : macos-14,
655
709
target : aarch64-apple-darwin,
656
710
exe : ' ' ,
711
+ # [todo] xdoardo: Reinstate when the code we generate for aarch64 is working correctly.
712
+ # llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-darwin-aarch64.tar.xz'
657
713
},
658
714
{
659
715
build : windows-x64,
660
- os : windows-2019 ,
716
+ os : windows-2022 ,
661
717
target : x86_64-pc-windows-msvc,
662
718
exe : ' .exe' ,
663
- llvm_url : ' https://github.com/wasmerio/llvm-custom-builds/releases/download/15.x/llvm-windows-amd64.tar.xz'
719
+ # For now, disable LLVM in `windows-x64.`
720
+ # llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-windows-amd64.tar.xz'
664
721
},
665
722
{
666
723
build : linux-musl,
@@ -685,6 +742,14 @@ jobs:
685
742
- name : Set up base deps on musl
686
743
if : matrix.metadata.build == 'linux-musl'
687
744
run : ./scripts/alpine-linux-install-deps.sh
745
+ - name : Install MSVC dev-cmd (Windows)
746
+ uses : ilammy/msvc-dev-cmd@v1
747
+ if : ${{ matrix.metadata.build == 'windows-x64' }}
748
+ - name : Delete unwanted link to stop it from interfering (Windows)
749
+ shell : bash
750
+ run : rm /usr/bin/link.exe
751
+ if : ${{ matrix.metadata.build == 'windows-x64' }}
752
+
688
753
- name : Set up dependencies for Mac OS
689
754
run : |
690
755
brew install automake
@@ -704,17 +769,24 @@ jobs:
704
769
run : |
705
770
brew install llvm
706
771
- name : Install LLVM
707
- if : matrix.metadata.llvm_url
708
772
shell : bash
773
+ if : matrix.metadata.llvm_url
709
774
run : |
710
775
curl --proto '=https' --tlsv1.2 -sSf ${{ matrix.metadata.llvm_url }} -L -o llvm.tar.xz
711
776
LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }}
712
777
mkdir ${LLVM_DIR}
713
778
tar xf llvm.tar.xz --strip-components=1 -C ${LLVM_DIR}
714
779
echo "${LLVM_DIR}/bin" >> $GITHUB_PATH
715
- echo "LLVM_SYS_120_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV
780
+ echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH
781
+ echo "LLVM_SYS_180_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV
782
+ echo "ENABLE_LLVM=1" >> $GITHUB_ENV
716
783
env :
717
784
LLVM_DIR : .llvm
785
+ - name : Add `brew` libs to `RUSTFLAGS`
786
+ if : matrix.metadata.os == 'macos-14'
787
+ shell : bash
788
+ run : |
789
+ echo "RUSTFLAGS=-L/opt/homebrew/lib" >> $GITHUB_ENV
718
790
- name : Setup Rust target
719
791
shell : bash
720
792
run : |
@@ -739,12 +811,14 @@ jobs:
739
811
aws-s3-bucket-endpoint : false
740
812
aws-s3-force-path-style : true
741
813
- name : ${{ matrix.stage.description }}
814
+ shell : bash
742
815
run : make ${{ matrix.stage.make }}
743
816
env :
744
817
TARGET : ${{ matrix.metadata.target }}
745
818
TARGET_DIR : target/${{ matrix.metadata.target }}/release
746
819
CARGO_TARGET : ${{ matrix.metadata.target }}
747
820
821
+
748
822
test_integration_cli :
749
823
name : CLI integration tests on ${{ matrix.build }}
750
824
runs-on : ${{ matrix.os }}
@@ -756,13 +830,12 @@ jobs:
756
830
- build : linux-x64
757
831
os : ubuntu-22.04
758
832
target : x86_64-unknown-linux-gnu
759
- llvm_url : ' https://github.com/llvm /llvm-project /releases/download/llvmorg-15.0.6/clang+ llvm-15.0.6-x86_64- linux-gnu-ubuntu-18.04 .tar.xz'
833
+ llvm_url : ' https://github.com/wasmerio /llvm-custom-builds /releases/download/18.x/ llvm-linux-amd64 .tar.xz'
760
834
- build : macos-x64
761
835
os : macos-12
762
836
target : x86_64-apple-darwin
763
- llvm_url : ' https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/clang+llvm-15.0.7-x86_64-apple-darwin21.0.tar.xz'
764
837
# we only build the integration-test CLI, we don't run tests
765
- - build : macos-arm
838
+ - build : macos-arm64
766
839
os : macos-12
767
840
target : aarch64-apple-darwin,
768
841
- build : linux-musl
@@ -772,6 +845,9 @@ jobs:
772
845
- build : windows-x64
773
846
os : windows-2019
774
847
target : x86_64-pc-windows-msvc
848
+ # For now, disable LLVM in `windows-x64.`
849
+ # llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-windows-amd64.tar.xz'
850
+
775
851
container : ${{ matrix.container }}
776
852
env :
777
853
SCCACHE_AZURE_BLOB_CONTAINER : wasmerstoragesccacheblob
@@ -825,11 +901,11 @@ jobs:
825
901
path : package/cache/wasmercache1
826
902
- uses : actions/download-artifact@v3
827
903
with :
828
- name : capi-windows-gnu
904
+ name : capi-windows-x64
829
905
path : package/cache/wasmercache2
830
906
- uses : actions/download-artifact@v3
831
907
with :
832
- name : capi-macos-arm
908
+ name : capi-macos-arm64
833
909
path : package/cache/wasmercache3
834
910
- uses : actions/download-artifact@v3
835
911
with :
@@ -860,17 +936,17 @@ jobs:
860
936
- uses : actions/download-artifact@v3
861
937
if : ${{ matrix.build == 'windows-x64' }}
862
938
with :
863
- name : capi-windows-gnu
939
+ name : capi-windows-x64
864
940
path : download_link
865
941
- uses : actions/download-artifact@v3
866
942
if : ${{ matrix.build == 'linux-musl' }}
867
943
with :
868
944
name : capi-linux-musl
869
945
path : download_link
870
946
- uses : actions/download-artifact@v3
871
- if : ${{ matrix.build == 'macos-arm ' }}
947
+ if : ${{ matrix.build == 'macos-arm64 ' }}
872
948
with :
873
- name : capi-macos-arm
949
+ name : capi-macos-arm64
874
950
path : download_link
875
951
- uses : actions/download-artifact@v3
876
952
if : ${{ matrix.build == 'macos-x64' }}
0 commit comments