name: CI on: push: branches: [ main ] tags: - "v*.*.*" pull_request: branches: [ main ] jobs: build-and-test: name: Build & Test (${{ matrix.os }}) runs-on: ${{ matrix.os }} continue-on-error: ${{ github.event_name != 'push' || !startsWith(github.ref, 'refs/tags/v') }} strategy: matrix: os: [ windows-2022, ubuntu-22.04, macos-15-intel ] steps: - uses: actions/checkout@v4 with: submodules: true - name: Add msbuild to PATH (Windows only) if: ${{ matrix.os == 'windows-2022' }} uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3 with: vs-version: '[17,18)' msbuild-architecture: x64 - name: Install libssl and switch to XCode 15.2 (Mac Only) if: ${{ matrix.os == 'macos-13' }} run: | brew install openssl@3 sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - name: Get CMake 3.x uses: lukka/get-cmake@591817e96fcad43505fb4eae36172462abb3a42e # v4.3.3 with: cmakeVersion: "~3.25.0" - name: cmake uses: lukka/run-cmake@5d55ea7949e25f69f0ecb516d8d572297e03a956 # v10.9 with: workflowPreset: "ci-${{matrix.os}}" - name: artifacts uses: actions/upload-artifact@v4 with: name: build-${{matrix.os}} path: | build/*/*Server* build/*/*.ini build/*/*.so build/*/*.dll build/*/*.dylib build/*/vanity/ build/*/navmeshes/ build/*/migrations/ build/*/*.dcf !build/*/*.pdb !build/*/d*/