name: Build AD Bulk Tool on: push: branches: [main, feature/**, bugfix/**] pull_request: jobs: build: strategy: matrix: rid: [win-x64, linux-x64, osx-x64, osx-arm64] include: - rid: win-x64 os: ubuntu-latest suffix: .exe - rid: linux-x64 os: ubuntu-latest suffix: '' - rid: osx-x64 os: macos-latest suffix: '' - rid: osx-arm64 os: macos-latest suffix: '' runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: '8.0.x' - name: Publish (${{ matrix.rid }}) run: dotnet publish ADBulkTool.csproj -c Release -r ${{ matrix.rid }} --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o publish/${{ matrix.rid }} - name: Upload artifact uses: actions/upload-artifact@v4 with: name: ADBulkTool-${{ matrix.rid }} path: publish/${{ matrix.rid }}/ADBulkTool${{ matrix.suffix }}