name: Publish package to GitHub Packages
on: [push]
jobs:
  publishing:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-java@v1
        with:
          java-version: 17
      - name: Setup LibCurl
        run: sudo apt update && sudo apt install -y libcurl4-openssl-dev
      - name: Rewrite version
        run: |
          branch="`echo "${{ github.ref }}" | grep -o "[^/]*$"`"
          cat gradle.properties | sed -e "s/^library_version=\([0-9\.]*\)/library_version=\1-branch_$branch-build${{ github.run_number }}/" > gradle.properties.tmp
          rm gradle.properties
          mv gradle.properties.tmp gradle.properties
      - name: KotlinSymbolProcessing execution
        run: ./gradlew kspCommonMainKotlinMetadata
      - name: Build
        run: ./gradlew build
      - name: API compatibility check
        run: ./gradlew apiCheck
      - name: Publish to GithubPackages
        continue-on-error: true
        run: ./gradlew publishAllPublicationsToGithubPackagesRepository --no-parallel
        env:
          GITHUB_USER: ${{ github.actor }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: Publish to Gitea
        continue-on-error: true
        run: ./gradlew publishAllPublicationsToInmoNexusRepository
        env:
          INMONEXUS_USER: ${{ secrets.INMONEXUS_USER }}
          INMONEXUS_PASSWORD: ${{ secrets.INMONEXUS_PASSWORD }}
