diff --git a/.github/actions/build-java-layer/action.yml b/.github/actions/build-java-layer/action.yml index cd4edb6301..d66210a06f 100644 --- a/.github/actions/build-java-layer/action.yml +++ b/.github/actions/build-java-layer/action.yml @@ -8,6 +8,9 @@ outputs: javawrapper-artifact-path: description: 'Absolute path to the javawrapper layer zip artifact' value: ${{ github.workspace }}/java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.zip + javawrapper-targz-artifact-path: + description: 'Absolute path to the javawrapper layer tar.gz artifact' + value: ${{ github.workspace }}/java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.tar.gz javaagent-version: description: 'OpenTelemetry Java agent version included in the layer' value: ${{ steps.javaagent-version.outputs.javaagent-version }} diff --git a/.github/workflows/release-layer-java.yml b/.github/workflows/release-layer-java.yml index 60deb7e231..22f33c0eb4 100644 --- a/.github/workflows/release-layer-java.yml +++ b/.github/workflows/release-layer-java.yml @@ -46,9 +46,15 @@ jobs: name: opentelemetry-javawrapper-layer.zip path: ${{ steps.build.outputs.javawrapper-artifact-path }} + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + name: Save javawrapper layer tar.gz to build + with: + name: opentelemetry-javawrapper-layer.tar.gz + path: ${{ steps.build.outputs.javawrapper-targz-artifact-path }} + - name: Add Binary to Release run: | - gh release upload ${{github.ref_name}} ${{ steps.build.outputs.javawrapper-artifact-path }} + gh release upload ${{github.ref_name}} ${{ steps.build.outputs.javawrapper-artifact-path }} ${{ steps.build.outputs.javawrapper-targz-artifact-path }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/java/layer-wrapper/build.gradle.kts b/java/layer-wrapper/build.gradle.kts index 9147e9582c..062a05668d 100644 --- a/java/layer-wrapper/build.gradle.kts +++ b/java/layer-wrapper/build.gradle.kts @@ -14,10 +14,7 @@ dependencies { } tasks { - val createLayer = register("createLayer") { - archiveFileName.set("opentelemetry-javawrapper-layer.zip") - destinationDirectory.set(file("$buildDir/distributions")) - + val layerContents = copySpec { from(configurations["runtimeClasspath"]) { into("java/lib") } @@ -27,11 +24,28 @@ tasks { into("java/lib") } - from("scripts") + from("scripts") { + filePermissions { + unix("755") + } + } + } + + val createZipLayer = register("createLayer") { + archiveFileName.set("opentelemetry-javawrapper-layer.zip") + destinationDirectory.set(file("$buildDir/distributions")) + with(layerContents) + } + + val createTarLayer = register("createTarLayer") { + archiveFileName.set("opentelemetry-javawrapper-layer.tar.gz") + destinationDirectory.set(file("$buildDir/distributions")) + compression = Compression.GZIP + with(layerContents) } named("assemble") { - dependsOn(createLayer) + dependsOn(createZipLayer, createTarLayer) } }