name: Build and Test

on:
  push:
    branches: [ "main" ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
      with:
        submodules: recursive
    
    - name: Setup .NET
      uses: actions/setup-dotnet@v4
      with:
        dotnet-version: |
            6.0.x
            8.0.x
            9.0.x
        
    - name: Run tests
      run: dotnet test
      
    - name: Run publish script
      run: ./publish-nix.sh -d

    - name: Upload to rolling
      uses: ncipollo/release-action@v1.14.0
      with:
        allowUpdates: True
        artifacts: "*.nupkg,*.snupkg,*.zip"
        body: 'Last built commit: ${{ github.sha }}'
        name: 'Rolling Release'
        prerelease: True
        replacesArtifacts: True
        tag: "rolling"
        updateOnlyUnreleased: True
