name: CI on: [push, pull_request] env: BUILD_PROFILE: Release NORTHSTAR_VERSION: 0.0.0.${{github.run_number}} jobs: build: runs-on: windows-2022 strategy: matrix: config: - { name: "MSVC", cc: cl } - { name: "LLVM", cc: clang-cl } env: CC: ${{ matrix.config.cc }} CXX: ${{ matrix.config.cc }} steps: - name: Checkout uses: actions/checkout@v4 with: submodules: 'true' - name: Setup msvc uses: ilammy/msvc-dev-cmd@v1 - name: Configure cmake run: cmake -G "Ninja" -B build -DCMAKE_BUILD_TYPE:STRING="${{ env.BUILD_PROFILE }}" - name: Setup resource file version shell: bash run: | sed -i 's/DEV/${{ env.NORTHSTAR_VERSION }}/g' primedev/primelauncher/resources.rc sed -i 's/DEV/${{ env.NORTHSTAR_VERSION }}/g' primedev/resources.rc FILEVERSION=$(echo ${{ env.NORTHSTAR_VERSION }} | tr '.' ',' | sed -E 's/-rc[0-9]+//' | tr -d '[:alpha:]') sed -i "s/0,0,0,1/${FILEVERSION}/g" primedev/ns_version.h - name: Build run: cmake --build build/ - name: Extract Short Commit Hash id: extract shell: bash run: echo commit=$(git rev-parse --short HEAD) >> $GITHUB_OUTPUT - name: Upload Build Artifact uses: actions/upload-artifact@v4 with: name: NorthstarLauncher-${{ matrix.config.name }}-${{ steps.extract.outputs.commit }} path: | build/game/ format-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: DoozyX/clang-format-lint-action@v0.18.2 with: source: 'primedev' exclude: 'primedev/include primedev/thirdparty primedev/wsockproxy' extensions: 'h,cpp' clangFormatVersion: 16 style: file format-check-cmake-files: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: puneetmatharu/cmake-format-lint-action@v1.0.4 with: args: "--in-place" - run: | git diff --exit-code