@@ -16,69 +16,82 @@ concurrency:
1616
1717jobs :
1818 build-and-test :
19- name : Build+test ${{ matrix.name }}
19+ name : Build+test ${{ matrix.cfg. name }}
2020
21- runs-on : ${{ matrix.os }}
21+ runs-on : ${{ matrix.cfg. os }}
2222
2323 timeout-minutes : 30
2424
2525 strategy :
26- fail-fast : ${{ github.event_name != 'workflow_dispatch' }}
26+ fail-fast : false
2727 matrix :
28- include :
28+ cfg :
2929 - { name: 'Linux GCC', os: 'ubuntu-22.04', cc: gcc-12, cxx: g++-12, config: }
3030 - { name: 'Linux LLVM+libstdc++', os: 'ubuntu-22.04', cc: clang, cxx: clang++, config: --linkopt=-fuse-ld=lld }
3131 - { name: 'Linux LLVM+libc++', os: 'ubuntu-22.04', cc: clang, cxx: clang++, config: --config=libc++ --linkopt=-fuse-ld=lld }
32- - { name: 'MacOS 12 x86_64 LLVM+libc++', os: 'macos-12', cc: clang, cxx: clang++, config: --config=libc++ --config=macos }
3332 - { name: 'MacOS 13 x86_64 LLVM+libc++', os: 'macos-13', cc: clang, cxx: clang++, config: --config=libc++ --config=macos }
34- - { name: 'MacOS 12 ARM64 LLVM+libc++', os: 'macos-12', cc: clang, cxx: clang++, config: --config=libc++ --config=macos_arm64 }
3533 - { name: 'MacOS 13 ARM64 LLVM+libc++', os: 'macos-13', cc: clang, cxx: clang++, config: --config=libc++ --config=macos_arm64 }
34+ - { name: 'MacOS 14 ARM64 LLVM+libc++', os: 'macos-14', cc: clang, cxx: clang++, config: --config=libc++ --config=macos_arm64 }
35+ bazel-version :
36+ - ' 7.4.1'
37+ python-version :
38+ - ' 3.10'
3639
3740 env :
38- CC : ${{ matrix.cc }}
39- CXX : ${{ matrix.cxx }}
41+ CC : ${{ matrix.cfg.cc }}
42+ CXX : ${{ matrix.cfg.cxx }}
43+ USE_BAZEL_VERSION : ${{ matrix.bazel-version }}
4044
4145 steps :
4246 - uses : actions/checkout@v3
4347
4448 - name : install infrastructure (Linux)
45- if : matrix.os == 'ubuntu-22.04'
49+ if : startsWith( matrix.cfg.os, 'ubuntu-' )
4650 run : |
47- sudo apt-get install python3-dev python3-numpy python3-packaging
4851 sudo ln -s /usr/lib/llvm-10/include/c++/v1 /usr/include/c++/v1
4952
50- - name : install infrastructure (MacOS)
51- if : matrix.os == 'macos-12' || matrix.os == 'macos-13'
52- run : sudo -H pip3 install numpy packaging
53+ - name : Set up Python ${{ matrix.python-version }}
54+ id : setup-python
55+ uses : actions/setup-python@v3
56+ with :
57+ python-version : ${{ matrix.python-version }}
58+
59+ - name : Install Python dependencies
60+ run : |
61+ pip3 install numpy packaging
62+ which python3
63+ python3 --version
64+ pip3 list
65+ bazel --version
5366
5467 - name : build-lua5.1
5568 run : |
5669 bazel --bazelrc=.bazelrc build --config=lua5_1 ${{ matrix.config }} //...
5770 - name : test-lua5.1
58- if : (!contains( matrix.config, 'arm64'))
71+ if : matrix.cfg.os != 'macos-13' && matrix.cfg. config != 'macos_arm64'
5972 run : |
6073 bazel --bazelrc=.bazelrc test --config=lua5_1 ${{ matrix.config }} --test_output=errors //...
6174
6275 - name : build-lua5.2
6376 run : |
6477 bazel --bazelrc=.bazelrc build --config=lua5_2 ${{ matrix.config }} //...
6578 - name : test-lua5.2
66- if : (!contains( matrix.config, 'arm64'))
79+ if : matrix.cfg.os != 'macos-13' && matrix.cfg. config != 'macos_arm64'
6780 run : |
6881 bazel --bazelrc=.bazelrc test --config=lua5_2 ${{ matrix.config }} --test_output=errors //...
6982
7083 - name : build-luajit
7184 run : |
7285 bazel --bazelrc=.bazelrc build --config=luajit ${{ matrix.config }} //...
7386 - name : test-luajit
74- if : (!contains( matrix.config, 'arm64'))
87+ if : matrix.cfg.os != 'macos-13' && matrix.cfg. config != 'macos_arm64'
7588 run : |
7689 bazel --bazelrc=.bazelrc test --config=luajit ${{ matrix.config }} --test_output=errors //...
7790
7891 - name : build-luajit-internal_unwind
7992 run : |
8093 bazel --bazelrc=.bazelrc build --config=luajit ${{ matrix.config }} --copt=-fno-asynchronous-unwind-tables --luajit_external_unwinder=False //...
8194 - name : test-luajit-internal_unwind
82- if : (!contains( matrix.config, 'arm64'))
95+ if : matrix.cfg.os != 'macos-13' && matrix.cfg. config != 'macos_arm64'
8396 run : |
8497 bazel --bazelrc=.bazelrc test --config=luajit ${{ matrix.config }} --copt=-fno-asynchronous-unwind-tables --luajit_external_unwinder=False --test_output=errors //...
0 commit comments