name: CI
on: [push, pull_request]

env:
  BUILD_PROFILE: Release

jobs:
  build:
    runs-on: windows-2022
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup MSBuild
        uses: microsoft/setup-msbuild@v1.1
      - name: Build
        run: msbuild /p:Configuration=${{ env.BUILD_PROFILE }}
      - name: Extract Short Commit Hash
        id: extract
        shell: bash
        run: echo ::set-output name=commit::`git rev-parse --short HEAD`
      - name: Upload Build Artifact
        uses: actions/upload-artifact@v2
        with:
          name: NorthstarLauncher-${{ steps.extract.outputs.commit }}
          path: |
            x64/${{ env.BUILD_PROFILE }}/*.dll
            x64/${{ env.BUILD_PROFILE }}/*.exe
            x64/${{ env.BUILD_PROFILE }}/*.pdb
            x64/${{ env.BUILD_PROFILE }}/*.txt

  format-check:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: DoozyX/clang-format-lint-action@v0.13
      with:
        source: 'NorthstarDLL NorthstarLauncher'
        exclude: 'NorthstarDLL/include loader_launcher_proxy loader_wsock32_proxy'
        extensions: 'h,cpp'
        clangFormatVersion: 13
        style: file