name: deploy test server
run-name: ${{ gitea.actor }} is deploying to test server
on:
  push:
    branches:
      - master

jobs:
  deploy-prods:
    runs-on: ubuntu-latest
    
    steps:
      - name: Setup dotnet
        if: ${{ steps.cache-dotnet.outputs.cache-hit != 'true' }}
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: 6.0.x
      - name: Check out repository code
        uses: actions/checkout@v4
      - name: Add gitea as nuget source
        run: dotnet nuget add source --name gitea --username publisher --password ${{ secrets.PUBLISHER_PASSWORD }} --store-password-in-clear-text http://test.digitaldrilling.ru:8080/api/packages/DDrilling/nuget/index.json
      - run: dotnet test AsbCloudWebApi.Tests
      - run: dotnet publish AsbCloudWebApi --os linux --sc true -o ./build
      - name: Deploy to ASB server via rsync
        uses: burnett01/rsync-deployments@5.2.1
        with:
          switches: -avzr --delete --exclude="files" --exclude="appsettings.json"
          path: ./build/
          remote_path: /home/dev/new_version/backend/
          remote_host: cloud.autodrilling.ru
          remote_user: dev
          remote_port: 6923
          remote_key: ${{ secrets.SSH_PRIVATE_KEY }}
      - name: Deploy to DD server via rsync
        uses: burnett01/rsync-deployments@5.2.1
        with:
          switches: -avzr --delete --exclude="files" --exclude="appsettings.json"
          path: ./build/
          remote_path: /home/asb/new_version/backend/
          remote_host: cloud.digitaldrilling.ru
          remote_user: asb
          remote_port: 22
          remote_key: ${{ secrets.SSH_PRIVATE_KEY }}