name: Gitea Action Maven build

on:
  push:
    branches: ['master']

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout the repo
        uses: actions/checkout@v4
      - name: Set up Maven
        uses: stCarolas/setup-maven@v5
        with:
          maven-version: 3.9.9
      - name: Set up JDK 21
        uses: actions/setup-java@v4
        with:
          java-version: 21
          distribution: 'oracle'
          cache: 'maven'
      - name: Build, Test and Package with Maven
        run: mvn -B verify --file pom.xml -e
      - name: Upload artifact
        uses: actions/upload-artifact@v3
        with:
          name: build-artifact
          path: target/*.jar
      - name: Create Maven settings.xml
        run: |
          cat <<EOF > ~/.m2/settings.xml
          <settings>
            <servers>
              <server>
                <id>gitea</id>
                <username>${{ vars.OWNER }}</username>
                <password>${{ secrets.ACCESS_TOKEN }}</password>
              </server>
            </servers>
          </settings>
          EOF
      - name: Replace {owner} in pom.xml
        run: sed -i "s/{owner}/${{ vars.OWNER }}/g" pom.xml
      - name: Deploy to Gitea Packages
        run: mvn deploy
  deploy:
    runs-on: ubuntu-latest
    needs: build
    steps:
      - name: Download artifact
        uses: actions/download-artifact@v3
        with:
          name: build-artifact
          path: target
      - name: Install SSH Key
        uses: shimataro/ssh-key-action@v2
        with:
          key: ${{ secrets.SSH_PRIVATE_KEY }}
          known_hosts: ${{ secrets.KNOWN_HOSTS }}
      - name: Deploy to Local Server
        run: |
          scp target/*.jar ${{ vars.DEPLOY_USER }}@${{ vars.DEPLOY_HOST }}:${{ vars.DEPLOY_PATH }}
#          scp -r target/*.jar ${{ vars.DEPLOY_USER }}@${{ vars.DEPLOY_HOST }}:${{ vars.DEPLOY_PATH }}