# Workflow to build release artifacts

name: release artifacts

on:
  release:
    types: [ created ]

jobs:
  build-and-test:

    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    permissions:
      contents: write

    steps:
    - name: Setup Java 17
      uses: actions/setup-java@v5
      with:
        java-version: '17'
        distribution: 'zulu'

    # Checkout
    - uses: actions/checkout@v6

    # Build cache
    - name: Cache Gradle Cache
      uses: actions/cache@v5
      with:
        path: ~/.gradle/caches
        key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }}-${{ hashFiles('**/gradle.properties') }}
        # An ordered list of keys to use for restoring the cache if no cache hit occurred for key
        restore-keys: |
          ${{ runner.os }}-gradle-
    - name: Cache gradle wrapper
      uses: actions/cache@v5
      with:
        path: ~/.gradle/wrapper
        key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
    # Build KSP artifacts
    - name: build
      run: |
        REF=${GITHUB_REF} # refs/tags/$KSP_VERSION
        ./gradlew --info -PkspVersion=${REF:10} -PoutRepo=$(pwd)/build/repos/release publishAllPublicationsToMavenRepository
    - name: pack
      run: cd build/repos/release/ && zip -r ../../artifacts.zip .
    - name: Upload Release Asset
      uses: actions/upload-release-asset@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        upload_url: ${{ github.event.release.upload_url }}
        asset_path: ./build/artifacts.zip
        asset_name: artifacts.zip
        asset_content_type: application/zip
