on: push jobs: test: runs-on: linux steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Java uses: actions/setup-java@v4 with: java-version: '24' distribution: 'temurin' - name: Cache Gradle uses: actions/cache@v4 with: key: gradle-${{ hashFiles('**/libs.versions.toml') }} restore-keys: gradle- path: | ~/.gradle/caches/ ~/.gradle/wrapper/ - name: Cache Konan uses: actions/cache@v4 with: key: konan-${{ hashFiles('**/libs.versions.toml') }} restore-keys: konan- path: | ~/.konan/ - name: Cache Node uses: actions/cache@v4 with: key: node-${{ hashFiles('**/libs.versions.toml') }} restore-keys: node- path: | ~/.gradle/nodejs ~/.gradle/yarn - name: Test run: ./gradlew allTests publish: needs: test if: ${{ github.ref_name == 'main' }} runs-on: linux steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Java uses: actions/setup-java@v4 with: java-version: '24' distribution: 'temurin' - name: Cache Gradle uses: actions/cache@v4 with: key: gradle-${{ hashFiles('**/libs.versions.toml') }} restore-keys: gradle- path: | ~/.gradle/caches/ ~/.gradle/wrapper/ - name: Cache Konan uses: actions/cache@v4 with: key: konan-${{ hashFiles('**/libs.versions.toml') }} restore-keys: konan- path: | ~/.konan/ - name: Cache Node uses: actions/cache@v4 with: key: node-${{ hashFiles('**/libs.versions.toml') }} restore-keys: node- path: | ~/.gradle/nodejs ~/.gradle/yarn - name: Publish run: ./gradlew publish env: INFENDRO__TOKEN: ${{ secrets.TOKEN }}