Repository navigation
Merge branch 'master' into dev/allow_reversed_proxy_metamethods #772
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Linux | |
| on: | |
| push: | |
| paths: | |
| - "**/workflows/build_linux.yml" | |
| - "**/Source/**" | |
| - "**/Tests/**" | |
| - "**/ThirdParty/**" | |
| - "**/CMakeLists.txt" | |
| - "**/.gitmodules" | |
| - "!**/*.md" | |
| - "!**/*.txt" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| BUILD_TYPE: RelWithDebInfo | |
| jobs: | |
| lua: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| lua: | |
| - { version: "5.1", suffix: "51" } | |
| - { version: "5.2", suffix: "52" } | |
| - { version: "5.3", suffix: "53" } | |
| - { version: "5.4", suffix: "54" } | |
| - { version: "5.5", suffix: "55" } | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install Dependencies | |
| run: sudo apt-get -y install ninja-build | |
| - name: Create Build Environments | |
| run: | | |
| cmake -E make_directory ${{runner.workspace}}/build17 | |
| cmake -E make_directory ${{runner.workspace}}/build20 | |
| cmake -E make_directory ${{runner.workspace}}/build23 | |
| - name: Configure C++17 | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=17 -G Ninja | |
| - name: Build Lua ${{ matrix.lua.version }} (C++17) | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: | | |
| cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target \ | |
| LuaBridgeTests${{ matrix.lua.suffix }} \ | |
| LuaBridgeTests${{ matrix.lua.suffix }}LuaC \ | |
| LuaBridgeTests${{ matrix.lua.suffix }}Noexcept \ | |
| LuaBridgeTests${{ matrix.lua.suffix }}LuaCNoexcept | |
| - name: Test Lua ${{ matrix.lua.version }} (C++17) | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTests${{ matrix.lua.suffix }}" --output-on-failure | |
| - name: Configure C++20 | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=20 -G Ninja | |
| - name: Build Lua ${{ matrix.lua.version }} (C++20) | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: | | |
| cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target \ | |
| LuaBridgeTests${{ matrix.lua.suffix }} \ | |
| LuaBridgeTests${{ matrix.lua.suffix }}LuaC \ | |
| LuaBridgeTests${{ matrix.lua.suffix }}Noexcept \ | |
| LuaBridgeTests${{ matrix.lua.suffix }}LuaCNoexcept | |
| - name: Test Lua ${{ matrix.lua.version }} (C++20) | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTests${{ matrix.lua.suffix }}" --output-on-failure | |
| - name: Configure C++23 | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=23 -G Ninja | |
| - name: Build Lua ${{ matrix.lua.version }} (C++23) | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: | | |
| cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target \ | |
| LuaBridgeTests${{ matrix.lua.suffix }} \ | |
| LuaBridgeTests${{ matrix.lua.suffix }}LuaC \ | |
| LuaBridgeTests${{ matrix.lua.suffix }}Noexcept \ | |
| LuaBridgeTests${{ matrix.lua.suffix }}LuaCNoexcept | |
| - name: Test Lua ${{ matrix.lua.version }} (C++23) | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTests${{ matrix.lua.suffix }}" --output-on-failure | |
| luajit: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install Dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install ninja-build | |
| - name: Create Build Environments | |
| run: | | |
| cmake -E make_directory ${{runner.workspace}}/build17 | |
| cmake -E make_directory ${{runner.workspace}}/build20 | |
| cmake -E make_directory ${{runner.workspace}}/build23 | |
| - name: Configure C++17 | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=17 -G Ninja | |
| - name: Build LuaJIT (C++17) | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: | | |
| cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target \ | |
| LuaBridgeTestsLuaJIT \ | |
| LuaBridgeTestsLuaJITNoexcept | |
| - name: Test LuaJIT (C++17) | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTestsLuaJIT" --output-on-failure | |
| - name: Configure C++20 | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=20 -G Ninja | |
| - name: Build LuaJIT (C++20) | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: | | |
| cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target \ | |
| LuaBridgeTestsLuaJIT \ | |
| LuaBridgeTestsLuaJITNoexcept | |
| - name: Test LuaJIT (C++20) | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTestsLuaJIT" --output-on-failure | |
| - name: Configure C++23 | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=23 -G Ninja | |
| - name: Build LuaJIT (C++23) | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: | | |
| cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target \ | |
| LuaBridgeTestsLuaJIT \ | |
| LuaBridgeTestsLuaJITNoexcept | |
| - name: Test LuaJIT (C++23) | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTestsLuaJIT" --output-on-failure | |
| luau: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install Dependencies | |
| run: sudo apt-get -y install ninja-build | |
| - name: Create Build Environments | |
| run: | | |
| cmake -E make_directory ${{runner.workspace}}/build17 | |
| cmake -E make_directory ${{runner.workspace}}/build20 | |
| cmake -E make_directory ${{runner.workspace}}/build23 | |
| - name: Configure C++17 | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=17 -G Ninja | |
| - name: Build Luau (C++17) | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target LuaBridgeTestsLuau | |
| - name: Test Luau (C++17) | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTestsLuau" --output-on-failure | |
| - name: Configure C++20 | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=20 -G Ninja | |
| - name: Build Luau (C++20) | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target LuaBridgeTestsLuau | |
| - name: Test Luau (C++20) | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTestsLuau" --output-on-failure | |
| - name: Configure C++23 | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=23 -G Ninja | |
| - name: Build Luau (C++23) | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target LuaBridgeTestsLuau | |
| - name: Test Luau (C++23) | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTestsLuau" --output-on-failure | |
| ravi: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install Dependencies | |
| run: sudo apt-get -y install libreadline-dev ninja-build | |
| - name: Create Build Environments | |
| run: | | |
| cmake -E make_directory ${{runner.workspace}}/build17 | |
| cmake -E make_directory ${{runner.workspace}}/build20 | |
| cmake -E make_directory ${{runner.workspace}}/build23 | |
| - name: Configure C++17 | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=17 -G Ninja | |
| - name: Build Ravi (C++17) | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target LuaBridgeTestsRavi | |
| - name: Test Ravi (C++17) | |
| working-directory: ${{runner.workspace}}/build17 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTestsRavi" --output-on-failure | |
| - name: Configure C++20 | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=20 -G Ninja | |
| - name: Build Ravi (C++20) | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target LuaBridgeTestsRavi | |
| - name: Test Ravi (C++20) | |
| working-directory: ${{runner.workspace}}/build20 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTestsRavi" --output-on-failure | |
| - name: Configure C++23 | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=23 -G Ninja | |
| - name: Build Ravi (C++23) | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target LuaBridgeTestsRavi | |
| - name: Test Ravi (C++23) | |
| working-directory: ${{runner.workspace}}/build23 | |
| run: ctest --parallel $(nproc) -R "LuaBridgeTestsRavi" --output-on-failure |