3 # build on c/cpp changes or workflow changes
11 runs-on: ubuntu-latest
14 env: { LANG: "C.UTF-8" }
16 - uses: actions/checkout@v3
20 apt-get install g++ cmake libxi-dev libgl1-mesa-dev libpng-dev libjpeg-dev zlib1g-dev -qyy
29 make DESTDIR=$PWD/_install install
30 tar -c -I "gzip -9" -f irrlicht-linux.tar.gz -C ./_install/usr/local .
32 - uses: actions/upload-artifact@v3
35 path: ./irrlicht-linux.tar.gz
38 runs-on: ubuntu-latest
41 env: { LANG: "C.UTF-8" }
43 - uses: actions/checkout@v3
47 apt-get install g++ cmake libxi-dev libgles2-mesa-dev libpng-dev libjpeg-dev zlib1g-dev xvfb -qyy
51 cmake . -DBUILD_EXAMPLES=1 -DENABLE_OPENGL=OFF -DENABLE_GLES2=ON
54 - name: Test (headless)
62 LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest ogles2
65 runs-on: ubuntu-latest
68 env: { LANG: "C.UTF-8" }
70 - uses: actions/checkout@v3
74 apt-get install g++ cmake libsdl2-dev libpng-dev libjpeg-dev zlib1g-dev -qyy
78 cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=ON
81 - name: Test (headless)
87 runs-on: ubuntu-latest
90 env: { LANG: "C.UTF-8" }
92 - uses: actions/checkout@v3
96 apt-get install g++ cmake libsdl2-dev libpng-dev libjpeg-dev zlib1g-dev -qyy
100 cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=ON -DENABLE_OPENGL3=ON
103 - name: Test (headless)
111 LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest opengl3
114 runs-on: ubuntu-latest
117 env: { LANG: "C.UTF-8" }
119 - uses: actions/checkout@v3
123 apt-get install g++ cmake libsdl2-dev libpng-dev libjpeg-dev zlib1g-dev -qyy
127 cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=ON -DENABLE_GLES2=ON
130 - name: Test (headless)
138 LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest gles2
141 runs-on: ubuntu-20.04
143 - uses: actions/checkout@v3
144 - name: Install compiler
146 sudo apt-get update && sudo apt-get install cmake -qyy
147 wget http://minetest.kitsunemimi.pw/mingw-w64-i686_11.2.0_ubuntu20.04.tar.xz -O mingw.tar.xz
148 sudo tar -xaf mingw.tar.xz -C /usr
152 ./scripts/ci-build-mingw.sh package
154 CC: i686-w64-mingw32-gcc
155 CXX: i686-w64-mingw32-g++
157 - uses: actions/upload-artifact@v3
160 path: ./irrlicht-win32.zip
163 runs-on: ubuntu-20.04
165 - uses: actions/checkout@v3
166 - name: Install compiler
168 sudo apt-get update && sudo apt-get install cmake -qyy
169 wget http://minetest.kitsunemimi.pw/mingw-w64-x86_64_11.2.0_ubuntu20.04.tar.xz -O mingw.tar.xz
170 sudo tar -xaf mingw.tar.xz -C /usr
174 ./scripts/ci-build-mingw.sh package
176 CC: x86_64-w64-mingw32-gcc
177 CXX: x86_64-w64-mingw32-g++
179 - uses: actions/upload-artifact@v3
182 path: ./irrlicht-win64.zip
185 runs-on: macos-latest
187 - uses: actions/checkout@v3
191 brew install cmake libpng jpeg
195 cmake . -DCMAKE_FIND_FRAMEWORK=LAST -DBUILD_EXAMPLES=1
198 - name: Test (headless)
200 ./bin/OSX/AutomatedTest null
203 name: VS 2019 ${{ matrix.config.arch }}
204 runs-on: windows-2019
206 VCPKG_VERSION: 14e7bb4ae24616ec54ff6b2f6ef4e8659434ea44
208 vcpkg_packages: zlib libpng libjpeg-turbo opengl-registry
215 generator: "-G'Visual Studio 16 2019' -A Win32"
216 vcpkg_triplet: x86-windows
219 generator: "-G'Visual Studio 16 2019' -A x64"
220 vcpkg_triplet: x64-windows
224 uses: actions/checkout@v3
226 - name: Restore from cache and run vcpkg
227 uses: lukka/run-vcpkg@v7
229 vcpkgArguments: ${{env.vcpkg_packages}}
230 vcpkgDirectory: '${{ github.workspace }}\vcpkg'
231 appendedCacheKey: ${{ matrix.config.vcpkg_triplet }}
232 vcpkgGitCommitId: ${{ env.VCPKG_VERSION }}
233 vcpkgTriplet: ${{ matrix.config.vcpkg_triplet }}
237 cmake ${{matrix.config.generator}} `
238 -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}\vcpkg\scripts\buildsystems\vcpkg.cmake" `
239 -DCMAKE_BUILD_TYPE=Release .
242 run: cmake --build . --config Release
244 - name: Create artifact folder
249 - name: Move dlls into artifact folder
250 run: move bin\Win32-VisualStudio\Release\* artifact\lib\
252 - name: Move includes into artifact folder
253 run: move include artifact/
255 - name: Upload Artifact
256 uses: actions/upload-artifact@v3
258 name: msvc-${{ matrix.config.arch }}