name: publish to maven

on:
  push:
    tags:
      - 'v*'
jobs:
  publish:
    strategy:
      matrix:
        include:
          - os: macos-latest
            gradlew: gradlew
          - os: self-hosted
            gradlew: gradlew
            env: all
    runs-on: ${{ matrix.os }}
    steps:
      - name: Print publishing type
        run: echo "This runner with env type = ${{ matrix.env == 'all' && 'all' || 'native' }}"
      - name: Checkout
        uses: actions/checkout@v3
      - name: Configure JDK
        uses: actions/setup-java@v3
        with:
          distribution: '$JAVA_DISTRIBUTION$'
          java-version: '$JAVA_VERSION$'
      - name: Fetch origin/$GIT_DEFAULT_BRANCH$
        run: git fetch origin $GIT_DEFAULT_BRANCH$
      - name: Publish
        run: ./${{ matrix.gradlew }} clean publish --no-daemon --no-parallel --stacktrace
        env:
          ORG_GRADLE_PROJECT_simple.kmm.publish.repository.url: ${{ secrets.PUBLISH_REPOSITORY_URL }}
          ORG_GRADLE_PROJECT_simple.kmm.publish.username: ${{ secrets.PUBLISH_REPOSITORY_USERNAME }}
          ORG_GRADLE_PROJECT_simple.kmm.publish.password: ${{ secrets.PUBLISH_REPOSITORY_PASSWORD }}
          ORG_GRADLE_PROJECT_simple.kmm.sign.key.id: ${{ secrets.SIGNING_KEY_ID }}
          ORG_GRADLE_PROJECT_simple.kmm.sign.password: ${{ secrets.SIGNING_PASSWORD }}
          ORG_GRADLE_PROJECT_simple.kmm.sign.private.ke: ${{ secrets.SIGNING_PRIVATE_KEY }}
          ORG_GRADLE_PROJECT_simple.kmm.kotlin.compile.only.platform: ${{ matrix.env == 'all' && 'false' || 'true' }}
          ORG_GRADLE_PROJECT_simple.kmm.kotlin.compile.browser.enabled: false