mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 09:15:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			154 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: linux
 | 
						|
 | 
						|
# build on c/cpp changes or workflow changes
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    paths:
 | 
						|
      - 'lib/**.[ch]'
 | 
						|
      - 'lib/**.cpp'
 | 
						|
      - 'src/**.[ch]'
 | 
						|
      - 'src/**.cpp'
 | 
						|
      - 'irr/**.[ch]'
 | 
						|
      - 'irr/**.cpp'
 | 
						|
      - '**/CMakeLists.txt'
 | 
						|
      - 'cmake/Modules/**'
 | 
						|
      - 'util/ci/**'
 | 
						|
      - 'Dockerfile'
 | 
						|
      - '.dockerignore'
 | 
						|
      - '.github/workflows/linux.yml'
 | 
						|
  pull_request:
 | 
						|
    paths:
 | 
						|
      - 'lib/**.[ch]'
 | 
						|
      - 'lib/**.cpp'
 | 
						|
      - 'src/**.[ch]'
 | 
						|
      - 'src/**.cpp'
 | 
						|
      - '**/CMakeLists.txt'
 | 
						|
      - 'cmake/Modules/**'
 | 
						|
      - 'util/ci/**'
 | 
						|
      - 'Dockerfile'
 | 
						|
      - '.dockerignore'
 | 
						|
      - '.github/workflows/linux.yml'
 | 
						|
 | 
						|
env:
 | 
						|
  MINETEST_POSTGRESQL_CONNECT_STRING: 'host=localhost user=minetest password=minetest dbname=minetest'
 | 
						|
 | 
						|
jobs:
 | 
						|
  # Older gcc version (should be close to our minimum supported version)
 | 
						|
  gcc_7:
 | 
						|
    runs-on: ubuntu-20.04
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
      - name: Install deps
 | 
						|
        run: |
 | 
						|
          source ./util/ci/common.sh
 | 
						|
          install_linux_deps g++-7
 | 
						|
 | 
						|
      - name: Build
 | 
						|
        run: |
 | 
						|
          ./util/ci/build.sh
 | 
						|
        env:
 | 
						|
          CC: gcc-7
 | 
						|
          CXX: g++-7
 | 
						|
 | 
						|
      - name: Test
 | 
						|
        run: |
 | 
						|
          ./bin/minetest --run-unittests
 | 
						|
 | 
						|
  # Current gcc version
 | 
						|
  gcc_12:
 | 
						|
    runs-on: ubuntu-22.04
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
      - name: Install deps
 | 
						|
        run: |
 | 
						|
          source ./util/ci/common.sh
 | 
						|
          install_linux_deps g++-12 libluajit-5.1-dev
 | 
						|
 | 
						|
      - name: Build
 | 
						|
        run: |
 | 
						|
          ./util/ci/build.sh
 | 
						|
        env:
 | 
						|
          CC: gcc-12
 | 
						|
          CXX: g++-12
 | 
						|
 | 
						|
      - name: Test
 | 
						|
        run: |
 | 
						|
          mkdir nowrite
 | 
						|
          chmod a-w nowrite
 | 
						|
          cd nowrite
 | 
						|
          ../bin/minetest --run-unittests
 | 
						|
 | 
						|
  # Older clang version (should be close to our minimum supported version)
 | 
						|
  clang_7:
 | 
						|
    runs-on: ubuntu-20.04
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
      - name: Install deps
 | 
						|
        run: |
 | 
						|
          source ./util/ci/common.sh
 | 
						|
          install_linux_deps clang-7 llvm
 | 
						|
 | 
						|
      - name: Build
 | 
						|
        run: |
 | 
						|
          ./util/ci/build.sh
 | 
						|
        env:
 | 
						|
          CC: clang-7
 | 
						|
          CXX: clang++-7
 | 
						|
          CMAKE_FLAGS: '-DCMAKE_C_FLAGS="-fsanitize=address" -DCMAKE_CXX_FLAGS="-fsanitize=address"'
 | 
						|
 | 
						|
      - name: Unittest
 | 
						|
        run: |
 | 
						|
          ./bin/minetest --run-unittests
 | 
						|
 | 
						|
  # Current clang version
 | 
						|
  clang_14:
 | 
						|
    runs-on: ubuntu-22.04
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
      - name: Install deps
 | 
						|
        run: |
 | 
						|
          source ./util/ci/common.sh
 | 
						|
          install_linux_deps clang-14 lldb
 | 
						|
 | 
						|
      - name: Build
 | 
						|
        run: |
 | 
						|
          ./util/ci/build.sh
 | 
						|
        env:
 | 
						|
          CC: clang-14
 | 
						|
          CXX: clang++-14
 | 
						|
 | 
						|
      - name: Test
 | 
						|
        run: |
 | 
						|
          ./bin/minetest --run-unittests
 | 
						|
 | 
						|
      - name: Integration test + devtest
 | 
						|
        run: |
 | 
						|
          ./util/test_multiplayer.sh
 | 
						|
 | 
						|
  # Build with prometheus-cpp (server-only)
 | 
						|
  clang_9_prometheus:
 | 
						|
    name: "clang_9 (PROMETHEUS=1)"
 | 
						|
    runs-on: ubuntu-20.04
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
      - name: Install deps
 | 
						|
        run: |
 | 
						|
          source ./util/ci/common.sh
 | 
						|
          install_linux_deps clang-9
 | 
						|
 | 
						|
      - name: Build prometheus-cpp
 | 
						|
        run: |
 | 
						|
          ./util/ci/build_prometheus_cpp.sh
 | 
						|
 | 
						|
      - name: Build
 | 
						|
        run: |
 | 
						|
          ./util/ci/build.sh
 | 
						|
        env:
 | 
						|
          CC: clang-9
 | 
						|
          CXX: clang++-9
 | 
						|
          CMAKE_FLAGS: "-DENABLE_PROMETHEUS=1 -DBUILD_CLIENT=0"
 | 
						|
 | 
						|
      - name: Test
 | 
						|
        run: |
 | 
						|
          ./bin/minetestserver --run-unittests
 |