name: .msbuildnet6

on:
  push:
    branches: [ "master" ]
    paths:
      - '**.cs'
  workflow_dispatch:

jobs:
  build:

    if: github.repository == 'opensim/opensim'
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: shortsha
      id: vars
      run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"   
    - name: preBuild
      run: bash ${GITHUB_WORKSPACE}/runprebuild.sh

    - name: Setup dotnet
      uses: actions/setup-dotnet@v4
      with:
        dotnet-version: '8.0.x'
    - name: Build
      id: build
      run: dotnet build --configuration Release OpenSim.sln

    - name: release
      if: success()
      run: zip -r LastDotNetBuild.zip bin ThirdPartyLicenses README.md CONTRIBUTORS.txt LICENSE.txt 
    - uses: softprops/action-gh-release@v1
      if: success()
      with:
          tag_name: r${{ steps.vars.outputs.sha_short }}
          name: LastDotNetAutoBuild
          files: LastDotNetBuild.zip

    - name: report push to irc if from main OpenSim repository
      if: github.event_name == 'push' && github.repository_owner == 'opensim'
      uses: rectalogic/notify-irc@v1
      with:
        channel: "#opensim-dev"
        server: "irc.libera.chat"
        nickname: osgithub
        message: |
          ${{ github.actor }} pushed to ${{ github.repository }}
          ${{ join(github.event.commits.*.message, '\n') }}
          dotnet compile: ${{ steps.build.conclusion }}

    - name: manual report to irc if from main OpenSim repository
      if: github.event_name == 'workflow_dispatch' && github.repository_owner == 'opensim'
      uses: rectalogic/notify-irc@v1
      with:
        channel: "#opensim-dev"
        server: "irc.libera.chat"
        nickname: osgithub
        message: |
          ${{ github.repository }}
          dotnet compile: ${{ steps.build.conclusion }}
