From 83f32f0fc2bdec304146094358172400b1422b14 Mon Sep 17 00:00:00 2001 From: Brett Knapik Date: Sat, 12 Oct 2024 21:13:25 -0400 Subject: [PATCH 1/9] adding binary to release --- .github/workflows/layer-publish copy.yml | 116 ++++++++++++++++ .../release-layer-collector copy.yml | 78 +++++++++++ .github/workflows/release-layer-java copy.yml | 130 ++++++++++++++++++ .../workflows/release-layer-nodejs copy.yml | 82 +++++++++++ .../workflows/release-layer-python copy.yml | 87 ++++++++++++ .github/workflows/release-layer-ruby copy.yml | 80 +++++++++++ 6 files changed, 573 insertions(+) create mode 100644 .github/workflows/layer-publish copy.yml create mode 100644 .github/workflows/release-layer-collector copy.yml create mode 100644 .github/workflows/release-layer-java copy.yml create mode 100644 .github/workflows/release-layer-nodejs copy.yml create mode 100644 .github/workflows/release-layer-python copy.yml create mode 100644 .github/workflows/release-layer-ruby copy.yml diff --git a/.github/workflows/layer-publish copy.yml b/.github/workflows/layer-publish copy.yml new file mode 100644 index 0000000000..08730240cf --- /dev/null +++ b/.github/workflows/layer-publish copy.yml @@ -0,0 +1,116 @@ +name: Publish Lambda Layer + +on: + workflow_call: + inputs: + artifact-name: + description: 'This should correspond to a actions/upload-artifact name earlier in the build. The file name and the name of the artifact containing it must be equal.' + required: true + type: string + layer-name: + description: 'Layer name not including other parts like arch or version.' + required: true + type: string + component-version: + description: 'Version of the component included in this release. Not the same as the layer/tagged version.' + required: true + type: string + architecture: + description: '(optional) amd64 or arm64' + required: false + type: string + runtimes: + description: '(optional) a space delimited list of compatible runtimes (from https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)' + required: false + type: string + release-group: + description: 'Release to dev or prod? "prod" yields empty value. (Default: dev)' + required: true + default: dev + type: string + aws_region: + description: 'Publish to which AWS region?' + required: true + type: string + + +permissions: + id-token: write + contents: read + +jobs: + publish_layer: + runs-on: ubuntu-latest + + steps: + + - name: Construct Layer Name + shell: bash + run: | + LAYER_NAME=${{ inputs.layer-name }} + + if [[ -n "${{ inputs.architecture }}" ]]; then + LAYER_NAME=$LAYER_NAME-${{ inputs.architecture }} + ARCH=$(echo "${{ inputs.architecture }}" | sed -r 's/amd64/x86_64/g') + else + ARCH="x86_64 arm64" + fi + echo "ARCH=$ARCH" >> $GITHUB_ENV + + if [[ -n "${{ inputs.runtimes }}" ]]; then + RUNTIMES="--compatible-runtimes ${{ inputs.runtimes }}" + fi + echo "RUNTIMES=$RUNTIMES" >> $GITHUB_ENV + + if [[ "${{ inputs.release-group }}" != "prod" ]]; then + LAYER_NAME=$LAYER_NAME-${{ inputs.release-group }} + fi + + LAYER_VERSION=$(echo "$GITHUB_REF_NAME" | sed -r 's/.*\/[^0-9\.]*//g') + LAYER_VERSION_CLEANED=$(echo "$LAYER_VERSION" | sed -r 's/\./_/g') + + LAYER_NAME=$LAYER_NAME-$LAYER_VERSION_CLEANED + echo "LAYER_NAME=$LAYER_NAME" >> $GITHUB_ENV + + echo GITHUB_ENV: + cat $GITHUB_ENV + + - name: Download built layer + uses: actions/download-artifact@v4 + with: + name: ${{ inputs.artifact-name }} + + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ secrets.PROD_LAMBDA_ROLE_ARN }} + role-duration-seconds: 1200 + aws-region: ${{ inputs.aws_region }} + mask-aws-account-id: false + + - name: Publish Lambda Layer + run: | + LAYER_ARN=$( + aws lambda publish-layer-version \ + --layer-name $LAYER_NAME \ + --license-info "Apache 2.0" \ + --compatible-architectures $ARCH $RUNTIMES \ + --zip-file fileb://${{ inputs.artifact-name }} \ + --query 'LayerVersionArn' \ + --output text + ) + echo "::notice ::$LAYER_ARN component-version=${{ inputs.component-version }}" + # echo "* $LAYER_ARN" >> $GITHUB_STEP_SUMMARY + + - name: Make Layer Public + run: | + LAYER_VERSION=$( + aws lambda list-layer-versions \ + --layer-name $LAYER_NAME \ + --query 'max_by(LayerVersions, &Version).Version' + ) + aws lambda add-layer-version-permission \ + --layer-name $LAYER_NAME \ + --version-number $LAYER_VERSION \ + --principal "*" \ + --statement-id publish \ + --action lambda:GetLayerVersion diff --git a/.github/workflows/release-layer-collector copy.yml b/.github/workflows/release-layer-collector copy.yml new file mode 100644 index 0000000000..4741bdb409 --- /dev/null +++ b/.github/workflows/release-layer-collector copy.yml @@ -0,0 +1,78 @@ +name: "Release Collector Lambda layer" + +on: + # (Using tag push instead of release to allow filtering by tag prefix.) + push: + tags: + - layer-collector/** + +permissions: + id-token: write + contents: write + +jobs: + build-layer: + runs-on: ubuntu-latest + strategy: + matrix: + architecture: + - amd64 + - arm64 + outputs: + COLLECTOR_VERSION: ${{ steps.save-collector-version.outputs.COLLECTOR_VERSION }} + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: '^1.23.1' + - name: build + run: make -C collector package GOARCH=${{ matrix.architecture }} + - uses: actions/upload-artifact@v4 + with: + name: opentelemetry-collector-layer-${{ matrix.architecture }}.zip + path: ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip + - name: Add Binary to Release + run: | + gh release upload ${{github.ref_name}} ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip + - name: Save Collector Version + if: ${{ matrix.architecture == 'amd64' }} + id: save-collector-version + shell: bash + # `./collector -v` output is in the form `v0.75.0` + run: | + COLLECTOR_VERSION=$( ${{ github.workspace }}/collector/build/extensions/collector -v) + echo "COLLECTOR_VERSION=$COLLECTOR_VERSION" >> $GITHUB_OUTPUT + + publish-layer: + uses: ./.github/workflows/layer-publish.yml + needs: build-layer + strategy: + matrix: + architecture: + - amd64 + - arm64 + aws_region: + - ap-northeast-1 + - ap-northeast-2 + - ap-south-1 + - ap-southeast-1 + - ap-southeast-2 + - ca-central-1 + - eu-central-1 + - eu-north-1 + - eu-west-1 + - eu-west-2 + - eu-west-3 + - sa-east-1 + - us-east-1 + - us-east-2 + - us-west-1 + - us-west-2 + with: + artifact-name: opentelemetry-collector-layer-${{ matrix.architecture }}.zip + layer-name: opentelemetry-collector + component-version: ${{needs.build-layer.outputs.COLLECTOR_VERSION}} + architecture: ${{ matrix.architecture }} + release-group: prod + aws_region: ${{ matrix.aws_region }} + secrets: inherit diff --git a/.github/workflows/release-layer-java copy.yml b/.github/workflows/release-layer-java copy.yml new file mode 100644 index 0000000000..306d34498d --- /dev/null +++ b/.github/workflows/release-layer-java copy.yml @@ -0,0 +1,130 @@ +name: "Release Javaagent Lambda Layer" + +on: + # (Using tag push instead of release to allow filtering by tag prefix.) + push: + tags: + - layer-javaagent/** + +permissions: + id-token: write + contents: write + +jobs: + build-layer: + runs-on: ubuntu-latest + outputs: + JAVAAGENT_VERSION: ${{ steps.save-javaagent-version.outputs.JAVAAGENT_VERSION }} + JAVAWRAPPER_VERSION: ${{ steps.save-javawrapper-version.outputs.JAVAWRAPPER_VERSION }} + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v4 + with: + distribution: corretto + java-version: 17 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Execute Gradle build + run: | + cd java + ./gradlew :layer-javaagent:assemble :layer-wrapper:assemble --scan --stacktrace + + - uses: actions/upload-artifact@v4 + name: Save javaagent layer to build + with: + name: opentelemetry-javaagent-layer.zip + path: java/layer-javaagent/build/distributions/opentelemetry-javaagent-layer.zip + + - uses: actions/upload-artifact@v4 + name: Save javawrapper layer to build + with: + name: opentelemetry-javawrapper-layer.zip + path: java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.zip + + - name: Add Binary to Release + run: | + gh release upload ${{github.ref_name}} java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.zip + + - name: Save Javaagent Version + id: save-javaagent-version + shell: bash + run: | + unzip java/layer-javaagent/build/distributions/opentelemetry-javaagent-layer.zip + JAVAAGENT_VERSION=$(java -jar ./opentelemetry-javaagent.jar) + echo "JAVAAGENT_VERSION=$JAVAAGENT_VERSION" >> $GITHUB_OUTPUT + + - name: Save Java Wrapper Version + id: save-javawrapper-version + shell: bash + run: | + cd java + JAVAWRAPPER_VERSION=$(./gradlew layer-wrapper:printOtelJavaInstrumentationVersion -q) + echo "JAVAWRAPPER_VERSION=$JAVAWRAPPER_VERSION" >> $GITHUB_OUTPUT + + publish-javaagent-layer: + uses: ./.github/workflows/layer-publish.yml + needs: build-layer + strategy: + matrix: + aws_region: + - ap-northeast-1 + - ap-northeast-2 + - ap-south-1 + - ap-southeast-1 + - ap-southeast-2 + - ca-central-1 + - eu-central-1 + - eu-north-1 + - eu-west-1 + - eu-west-2 + - eu-west-3 + - sa-east-1 + - us-east-1 + - us-east-2 + - us-west-1 + - us-west-2 + with: + artifact-name: opentelemetry-javaagent-layer.zip + layer-name: opentelemetry-javaagent + component-version: ${{needs.build-layer.outputs.JAVAAGENT_VERSION}} + # architecture: + runtimes: java8.al2 java11 java17 + release-group: prod + aws_region: ${{ matrix.aws_region }} + secrets: inherit + + publish-javawrapper-layer: + uses: ./.github/workflows/layer-publish.yml + needs: build-layer + strategy: + matrix: + aws_region: + - ap-northeast-1 + - ap-northeast-2 + - ap-south-1 + - ap-southeast-1 + - ap-southeast-2 + - ca-central-1 + - eu-central-1 + - eu-north-1 + - eu-west-1 + - eu-west-2 + - eu-west-3 + - sa-east-1 + - us-east-1 + - us-east-2 + - us-west-1 + - us-west-2 + with: + artifact-name: opentelemetry-javawrapper-layer.zip + layer-name: opentelemetry-javawrapper + component-version: ${{needs.build-layer.outputs.JAVAWRAPPER_VERSION}} + # architecture: + runtimes: java8.al2 java11 java17 + release-group: prod + aws_region: ${{ matrix.aws_region }} + secrets: inherit + diff --git a/.github/workflows/release-layer-nodejs copy.yml b/.github/workflows/release-layer-nodejs copy.yml new file mode 100644 index 0000000000..d5f92a6487 --- /dev/null +++ b/.github/workflows/release-layer-nodejs copy.yml @@ -0,0 +1,82 @@ +name: "Release NodeJS Lambda Layer" + +on: + # (Using tag push instead of release to allow filtering by tag prefix.) + push: + tags: + - layer-nodejs/** + +permissions: + id-token: write + contents: write + +jobs: + build-layer: + runs-on: ubuntu-latest + outputs: + NODEJS_VERSION: ${{ steps.save-node-sdk-version.outputs.SDK_VERSION}} + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Build + run: | + npm install + npm run build + working-directory: nodejs + + - name: Save Node SDK Version + id: save-node-sdk-version + run: | + SDK_VERSION=$(node version.js) + echo "SDK_VERSION=$SDK_VERSION" >> $GITHUB_OUTPUT + working-directory: nodejs/packages/layer/scripts + + - name: Rename zip file + run: mv layer.zip opentelemetry-nodejs-layer.zip + working-directory: nodejs/packages/layer/build + + - uses: actions/upload-artifact@v4 + name: Save assembled layer to build + with: + name: opentelemetry-nodejs-layer.zip + path: nodejs/packages/layer/build/opentelemetry-nodejs-layer.zip + + - name: Add Binary to Release + run: | + gh release upload ${{github.ref_name}} nodejs/packages/layer/build/opentelemetry-nodejs-layer.zip + + publish-layer: + uses: ./.github/workflows/layer-publish.yml + needs: build-layer + strategy: + matrix: + aws_region: + - ap-northeast-1 + - ap-northeast-2 + - ap-south-1 + - ap-southeast-1 + - ap-southeast-2 + - ca-central-1 + - eu-central-1 + - eu-north-1 + - eu-west-1 + - eu-west-2 + - eu-west-3 + - sa-east-1 + - us-east-1 + - us-east-2 + - us-west-1 + - us-west-2 + with: + artifact-name: opentelemetry-nodejs-layer.zip + layer-name: opentelemetry-nodejs + component-version: ${{needs.build-layer.outputs.NODEJS_VERSION}} + # architecture: + runtimes: nodejs18.x nodejs20.x + release-group: prod + aws_region: ${{ matrix.aws_region }} + secrets: inherit diff --git a/.github/workflows/release-layer-python copy.yml b/.github/workflows/release-layer-python copy.yml new file mode 100644 index 0000000000..474fbf813a --- /dev/null +++ b/.github/workflows/release-layer-python copy.yml @@ -0,0 +1,87 @@ +name: "Release Python Lambda Layer" + +on: + # (Using tag push instead of release to allow filtering by tag prefix.) + push: + tags: + - layer-python/** + +permissions: + id-token: write + contents: write + +jobs: + build-layer: + runs-on: ubuntu-latest + outputs: + PYTHON_OPENTELEMETRY_SDK_VERSION: ${{ steps.save-python-opentelemetry-sdk-version.outputs.PYTHON_OPENTELEMETRY_SDK_VERSION}} + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: '3.9' + + - name: Save PYTHON_OPENTELEMETRY_SDK_VERSION + id: save-python-opentelemetry-sdk-version + run: | + cd python/src + echo "PYTHON_OPENTELEMETRY_SDK_VERSION=$(cat otel/otel_sdk/requirements.txt | grep opentelemetry-sdk | sed 's/.*==\([^ ]*\).*/\1/')" >> $GITHUB_ENV + echo "PYTHON_OPENTELEMETRY_SDK_VERSION=$PYTHON_OPENTELEMETRY_SDK_VERSION" >> $GITHUB_OUTPUT + shell: bash + + - name: Display PYTHON_OPENTELEMETRY_SDK_VERSION + run: | + echo "PYTHON_OPENTELEMETRY_SDK_VERSION=${{ env.PYTHON_OPENTELEMETRY_SDK_VERSION }}" + shell: bash + + - name: Build + run: | + cd python/src + ./build.sh + shell: bash + + - name: Show directory contents + run: | + ls -al + working-directory: python/src/build + + - uses: actions/upload-artifact@v4 + name: Save assembled layer to build + with: + name: opentelemetry-python-layer.zip + path: python/src/build/opentelemetry-python-layer.zip + + - name: Add Binary to Release + run: | + gh release upload ${{github.ref_name}} python/src/build/opentelemetry-python-layer.zip + + publish-layer: + uses: ./.github/workflows/layer-publish.yml + needs: build-layer + strategy: + matrix: + aws_region: + - ap-northeast-1 + - ap-northeast-2 + - ap-south-1 + - ap-southeast-1 + - ap-southeast-2 + - ca-central-1 + - eu-central-1 + - eu-north-1 + - eu-west-1 + - eu-west-2 + - eu-west-3 + - sa-east-1 + - us-east-1 + - us-east-2 + - us-west-1 + - us-west-2 + with: + artifact-name: opentelemetry-python-layer.zip + layer-name: opentelemetry-python + component-version: ${{needs.build-layer.outputs.PYTHON_OPENTELEMETRY_SDK_VERSION}} + release-group: prod + aws_region: ${{ matrix.aws_region }} + secrets: inherit diff --git a/.github/workflows/release-layer-ruby copy.yml b/.github/workflows/release-layer-ruby copy.yml new file mode 100644 index 0000000000..b6b4a8acc7 --- /dev/null +++ b/.github/workflows/release-layer-ruby copy.yml @@ -0,0 +1,80 @@ +name: "Release Ruby Lambda Layer" + +on: + # (Using tag push instead of release to allow filtering by tag prefix.) + push: + tags: + - layer-ruby/** + +permissions: + id-token: write + contents: write + +jobs: + build-layer: + runs-on: ubuntu-latest + outputs: + RUBY_SDK_VERSION: ${{ steps.save-ruby-sdk-version.outputs.RUBY_SDK_VERSION}} + steps: + - uses: actions/checkout@v4 + + - name: Build + run: | + ./build.sh + shell: bash + working-directory: ruby/src + + - name: Save Ruby SDK Version + id: save-ruby-sdk-version + run: | + unzip -q build/opentelemetry-ruby-layer.zip + export GEM_PATH=$PWD/ruby/gems/3.2.0/ + RUBY_SDK_VERSION=$(ruby -e 'require "opentelemetry-sdk"; puts OpenTelemetry::SDK::VERSION') + echo "RUBY_SDK_VERSION=$RUBY_SDK_VERSION" >> $GITHUB_OUTPUT + working-directory: ruby/src + + - name: Show directory contents + run: | + ls -al + working-directory: ruby/src/build + + - uses: actions/upload-artifact@v4 + name: Save assembled layer to build + with: + name: opentelemetry-ruby-layer.zip + path: ruby/src/build/opentelemetry-ruby-layer.zip + + - name: Add Binary to Release + run: | + gh release upload ${{github.ref_name}} ruby/src/build/opentelemetry-ruby-layer.zip + + publish-layer: + uses: ./.github/workflows/layer-publish.yml + needs: build-layer + strategy: + matrix: + aws_region: + - ap-northeast-1 + - ap-northeast-2 + - ap-south-1 + - ap-southeast-1 + - ap-southeast-2 + - ca-central-1 + - eu-central-1 + - eu-north-1 + - eu-west-1 + - eu-west-2 + - eu-west-3 + - sa-east-1 + - us-east-1 + - us-east-2 + - us-west-1 + - us-west-2 + with: + artifact-name: opentelemetry-ruby-layer.zip + layer-name: opentelemetry-ruby + component-version: ${{needs.build-layer.outputs.RUBY_SDK_VERSION}} + runtimes: ruby3.2 ruby3.3 + release-group: dev + aws_region: ${{ matrix.aws_region }} + secrets: inherit From 66f2b2f12af1447ed0cfa7b2da07136059169938 Mon Sep 17 00:00:00 2001 From: Brett Knapik Date: Sat, 12 Oct 2024 21:24:36 -0400 Subject: [PATCH 2/9] fix file names --- .github/workflows/layer-publish copy.yml | 116 ---------------- .../release-layer-collector copy.yml | 78 ----------- .github/workflows/release-layer-collector.yml | 5 +- .github/workflows/release-layer-java copy.yml | 130 ------------------ .github/workflows/release-layer-java.yml | 6 +- .../workflows/release-layer-nodejs copy.yml | 82 ----------- .github/workflows/release-layer-nodejs.yml | 6 +- .../workflows/release-layer-python copy.yml | 87 ------------ .github/workflows/release-layer-python.yml | 6 +- .github/workflows/release-layer-ruby copy.yml | 80 ----------- .github/workflows/release-layer-ruby.yml | 6 +- 11 files changed, 24 insertions(+), 578 deletions(-) delete mode 100644 .github/workflows/layer-publish copy.yml delete mode 100644 .github/workflows/release-layer-collector copy.yml delete mode 100644 .github/workflows/release-layer-java copy.yml delete mode 100644 .github/workflows/release-layer-nodejs copy.yml delete mode 100644 .github/workflows/release-layer-python copy.yml delete mode 100644 .github/workflows/release-layer-ruby copy.yml diff --git a/.github/workflows/layer-publish copy.yml b/.github/workflows/layer-publish copy.yml deleted file mode 100644 index 08730240cf..0000000000 --- a/.github/workflows/layer-publish copy.yml +++ /dev/null @@ -1,116 +0,0 @@ -name: Publish Lambda Layer - -on: - workflow_call: - inputs: - artifact-name: - description: 'This should correspond to a actions/upload-artifact name earlier in the build. The file name and the name of the artifact containing it must be equal.' - required: true - type: string - layer-name: - description: 'Layer name not including other parts like arch or version.' - required: true - type: string - component-version: - description: 'Version of the component included in this release. Not the same as the layer/tagged version.' - required: true - type: string - architecture: - description: '(optional) amd64 or arm64' - required: false - type: string - runtimes: - description: '(optional) a space delimited list of compatible runtimes (from https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)' - required: false - type: string - release-group: - description: 'Release to dev or prod? "prod" yields empty value. (Default: dev)' - required: true - default: dev - type: string - aws_region: - description: 'Publish to which AWS region?' - required: true - type: string - - -permissions: - id-token: write - contents: read - -jobs: - publish_layer: - runs-on: ubuntu-latest - - steps: - - - name: Construct Layer Name - shell: bash - run: | - LAYER_NAME=${{ inputs.layer-name }} - - if [[ -n "${{ inputs.architecture }}" ]]; then - LAYER_NAME=$LAYER_NAME-${{ inputs.architecture }} - ARCH=$(echo "${{ inputs.architecture }}" | sed -r 's/amd64/x86_64/g') - else - ARCH="x86_64 arm64" - fi - echo "ARCH=$ARCH" >> $GITHUB_ENV - - if [[ -n "${{ inputs.runtimes }}" ]]; then - RUNTIMES="--compatible-runtimes ${{ inputs.runtimes }}" - fi - echo "RUNTIMES=$RUNTIMES" >> $GITHUB_ENV - - if [[ "${{ inputs.release-group }}" != "prod" ]]; then - LAYER_NAME=$LAYER_NAME-${{ inputs.release-group }} - fi - - LAYER_VERSION=$(echo "$GITHUB_REF_NAME" | sed -r 's/.*\/[^0-9\.]*//g') - LAYER_VERSION_CLEANED=$(echo "$LAYER_VERSION" | sed -r 's/\./_/g') - - LAYER_NAME=$LAYER_NAME-$LAYER_VERSION_CLEANED - echo "LAYER_NAME=$LAYER_NAME" >> $GITHUB_ENV - - echo GITHUB_ENV: - cat $GITHUB_ENV - - - name: Download built layer - uses: actions/download-artifact@v4 - with: - name: ${{ inputs.artifact-name }} - - - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.PROD_LAMBDA_ROLE_ARN }} - role-duration-seconds: 1200 - aws-region: ${{ inputs.aws_region }} - mask-aws-account-id: false - - - name: Publish Lambda Layer - run: | - LAYER_ARN=$( - aws lambda publish-layer-version \ - --layer-name $LAYER_NAME \ - --license-info "Apache 2.0" \ - --compatible-architectures $ARCH $RUNTIMES \ - --zip-file fileb://${{ inputs.artifact-name }} \ - --query 'LayerVersionArn' \ - --output text - ) - echo "::notice ::$LAYER_ARN component-version=${{ inputs.component-version }}" - # echo "* $LAYER_ARN" >> $GITHUB_STEP_SUMMARY - - - name: Make Layer Public - run: | - LAYER_VERSION=$( - aws lambda list-layer-versions \ - --layer-name $LAYER_NAME \ - --query 'max_by(LayerVersions, &Version).Version' - ) - aws lambda add-layer-version-permission \ - --layer-name $LAYER_NAME \ - --version-number $LAYER_VERSION \ - --principal "*" \ - --statement-id publish \ - --action lambda:GetLayerVersion diff --git a/.github/workflows/release-layer-collector copy.yml b/.github/workflows/release-layer-collector copy.yml deleted file mode 100644 index 4741bdb409..0000000000 --- a/.github/workflows/release-layer-collector copy.yml +++ /dev/null @@ -1,78 +0,0 @@ -name: "Release Collector Lambda layer" - -on: - # (Using tag push instead of release to allow filtering by tag prefix.) - push: - tags: - - layer-collector/** - -permissions: - id-token: write - contents: write - -jobs: - build-layer: - runs-on: ubuntu-latest - strategy: - matrix: - architecture: - - amd64 - - arm64 - outputs: - COLLECTOR_VERSION: ${{ steps.save-collector-version.outputs.COLLECTOR_VERSION }} - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: '^1.23.1' - - name: build - run: make -C collector package GOARCH=${{ matrix.architecture }} - - uses: actions/upload-artifact@v4 - with: - name: opentelemetry-collector-layer-${{ matrix.architecture }}.zip - path: ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip - - name: Add Binary to Release - run: | - gh release upload ${{github.ref_name}} ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip - - name: Save Collector Version - if: ${{ matrix.architecture == 'amd64' }} - id: save-collector-version - shell: bash - # `./collector -v` output is in the form `v0.75.0` - run: | - COLLECTOR_VERSION=$( ${{ github.workspace }}/collector/build/extensions/collector -v) - echo "COLLECTOR_VERSION=$COLLECTOR_VERSION" >> $GITHUB_OUTPUT - - publish-layer: - uses: ./.github/workflows/layer-publish.yml - needs: build-layer - strategy: - matrix: - architecture: - - amd64 - - arm64 - aws_region: - - ap-northeast-1 - - ap-northeast-2 - - ap-south-1 - - ap-southeast-1 - - ap-southeast-2 - - ca-central-1 - - eu-central-1 - - eu-north-1 - - eu-west-1 - - eu-west-2 - - eu-west-3 - - sa-east-1 - - us-east-1 - - us-east-2 - - us-west-1 - - us-west-2 - with: - artifact-name: opentelemetry-collector-layer-${{ matrix.architecture }}.zip - layer-name: opentelemetry-collector - component-version: ${{needs.build-layer.outputs.COLLECTOR_VERSION}} - architecture: ${{ matrix.architecture }} - release-group: prod - aws_region: ${{ matrix.aws_region }} - secrets: inherit diff --git a/.github/workflows/release-layer-collector.yml b/.github/workflows/release-layer-collector.yml index ede4761fa6..4741bdb409 100644 --- a/.github/workflows/release-layer-collector.yml +++ b/.github/workflows/release-layer-collector.yml @@ -8,7 +8,7 @@ on: permissions: id-token: write - contents: read + contents: write jobs: build-layer: @@ -31,6 +31,9 @@ jobs: with: name: opentelemetry-collector-layer-${{ matrix.architecture }}.zip path: ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip + - name: Add Binary to Release + run: | + gh release upload ${{github.ref_name}} ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip - name: Save Collector Version if: ${{ matrix.architecture == 'amd64' }} id: save-collector-version diff --git a/.github/workflows/release-layer-java copy.yml b/.github/workflows/release-layer-java copy.yml deleted file mode 100644 index 306d34498d..0000000000 --- a/.github/workflows/release-layer-java copy.yml +++ /dev/null @@ -1,130 +0,0 @@ -name: "Release Javaagent Lambda Layer" - -on: - # (Using tag push instead of release to allow filtering by tag prefix.) - push: - tags: - - layer-javaagent/** - -permissions: - id-token: write - contents: write - -jobs: - build-layer: - runs-on: ubuntu-latest - outputs: - JAVAAGENT_VERSION: ${{ steps.save-javaagent-version.outputs.JAVAAGENT_VERSION }} - JAVAWRAPPER_VERSION: ${{ steps.save-javawrapper-version.outputs.JAVAWRAPPER_VERSION }} - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-java@v4 - with: - distribution: corretto - java-version: 17 - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - - - name: Execute Gradle build - run: | - cd java - ./gradlew :layer-javaagent:assemble :layer-wrapper:assemble --scan --stacktrace - - - uses: actions/upload-artifact@v4 - name: Save javaagent layer to build - with: - name: opentelemetry-javaagent-layer.zip - path: java/layer-javaagent/build/distributions/opentelemetry-javaagent-layer.zip - - - uses: actions/upload-artifact@v4 - name: Save javawrapper layer to build - with: - name: opentelemetry-javawrapper-layer.zip - path: java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.zip - - - name: Add Binary to Release - run: | - gh release upload ${{github.ref_name}} java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.zip - - - name: Save Javaagent Version - id: save-javaagent-version - shell: bash - run: | - unzip java/layer-javaagent/build/distributions/opentelemetry-javaagent-layer.zip - JAVAAGENT_VERSION=$(java -jar ./opentelemetry-javaagent.jar) - echo "JAVAAGENT_VERSION=$JAVAAGENT_VERSION" >> $GITHUB_OUTPUT - - - name: Save Java Wrapper Version - id: save-javawrapper-version - shell: bash - run: | - cd java - JAVAWRAPPER_VERSION=$(./gradlew layer-wrapper:printOtelJavaInstrumentationVersion -q) - echo "JAVAWRAPPER_VERSION=$JAVAWRAPPER_VERSION" >> $GITHUB_OUTPUT - - publish-javaagent-layer: - uses: ./.github/workflows/layer-publish.yml - needs: build-layer - strategy: - matrix: - aws_region: - - ap-northeast-1 - - ap-northeast-2 - - ap-south-1 - - ap-southeast-1 - - ap-southeast-2 - - ca-central-1 - - eu-central-1 - - eu-north-1 - - eu-west-1 - - eu-west-2 - - eu-west-3 - - sa-east-1 - - us-east-1 - - us-east-2 - - us-west-1 - - us-west-2 - with: - artifact-name: opentelemetry-javaagent-layer.zip - layer-name: opentelemetry-javaagent - component-version: ${{needs.build-layer.outputs.JAVAAGENT_VERSION}} - # architecture: - runtimes: java8.al2 java11 java17 - release-group: prod - aws_region: ${{ matrix.aws_region }} - secrets: inherit - - publish-javawrapper-layer: - uses: ./.github/workflows/layer-publish.yml - needs: build-layer - strategy: - matrix: - aws_region: - - ap-northeast-1 - - ap-northeast-2 - - ap-south-1 - - ap-southeast-1 - - ap-southeast-2 - - ca-central-1 - - eu-central-1 - - eu-north-1 - - eu-west-1 - - eu-west-2 - - eu-west-3 - - sa-east-1 - - us-east-1 - - us-east-2 - - us-west-1 - - us-west-2 - with: - artifact-name: opentelemetry-javawrapper-layer.zip - layer-name: opentelemetry-javawrapper - component-version: ${{needs.build-layer.outputs.JAVAWRAPPER_VERSION}} - # architecture: - runtimes: java8.al2 java11 java17 - release-group: prod - aws_region: ${{ matrix.aws_region }} - secrets: inherit - diff --git a/.github/workflows/release-layer-java.yml b/.github/workflows/release-layer-java.yml index 65498c0aea..306d34498d 100644 --- a/.github/workflows/release-layer-java.yml +++ b/.github/workflows/release-layer-java.yml @@ -8,7 +8,7 @@ on: permissions: id-token: write - contents: read + contents: write jobs: build-layer: @@ -44,6 +44,10 @@ jobs: name: opentelemetry-javawrapper-layer.zip path: java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.zip + - name: Add Binary to Release + run: | + gh release upload ${{github.ref_name}} java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.zip + - name: Save Javaagent Version id: save-javaagent-version shell: bash diff --git a/.github/workflows/release-layer-nodejs copy.yml b/.github/workflows/release-layer-nodejs copy.yml deleted file mode 100644 index d5f92a6487..0000000000 --- a/.github/workflows/release-layer-nodejs copy.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: "Release NodeJS Lambda Layer" - -on: - # (Using tag push instead of release to allow filtering by tag prefix.) - push: - tags: - - layer-nodejs/** - -permissions: - id-token: write - contents: write - -jobs: - build-layer: - runs-on: ubuntu-latest - outputs: - NODEJS_VERSION: ${{ steps.save-node-sdk-version.outputs.SDK_VERSION}} - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-node@v4 - with: - node-version: 18 - - - name: Build - run: | - npm install - npm run build - working-directory: nodejs - - - name: Save Node SDK Version - id: save-node-sdk-version - run: | - SDK_VERSION=$(node version.js) - echo "SDK_VERSION=$SDK_VERSION" >> $GITHUB_OUTPUT - working-directory: nodejs/packages/layer/scripts - - - name: Rename zip file - run: mv layer.zip opentelemetry-nodejs-layer.zip - working-directory: nodejs/packages/layer/build - - - uses: actions/upload-artifact@v4 - name: Save assembled layer to build - with: - name: opentelemetry-nodejs-layer.zip - path: nodejs/packages/layer/build/opentelemetry-nodejs-layer.zip - - - name: Add Binary to Release - run: | - gh release upload ${{github.ref_name}} nodejs/packages/layer/build/opentelemetry-nodejs-layer.zip - - publish-layer: - uses: ./.github/workflows/layer-publish.yml - needs: build-layer - strategy: - matrix: - aws_region: - - ap-northeast-1 - - ap-northeast-2 - - ap-south-1 - - ap-southeast-1 - - ap-southeast-2 - - ca-central-1 - - eu-central-1 - - eu-north-1 - - eu-west-1 - - eu-west-2 - - eu-west-3 - - sa-east-1 - - us-east-1 - - us-east-2 - - us-west-1 - - us-west-2 - with: - artifact-name: opentelemetry-nodejs-layer.zip - layer-name: opentelemetry-nodejs - component-version: ${{needs.build-layer.outputs.NODEJS_VERSION}} - # architecture: - runtimes: nodejs18.x nodejs20.x - release-group: prod - aws_region: ${{ matrix.aws_region }} - secrets: inherit diff --git a/.github/workflows/release-layer-nodejs.yml b/.github/workflows/release-layer-nodejs.yml index 46d40146e8..d5f92a6487 100644 --- a/.github/workflows/release-layer-nodejs.yml +++ b/.github/workflows/release-layer-nodejs.yml @@ -8,7 +8,7 @@ on: permissions: id-token: write - contents: read + contents: write jobs: build-layer: @@ -44,6 +44,10 @@ jobs: with: name: opentelemetry-nodejs-layer.zip path: nodejs/packages/layer/build/opentelemetry-nodejs-layer.zip + + - name: Add Binary to Release + run: | + gh release upload ${{github.ref_name}} nodejs/packages/layer/build/opentelemetry-nodejs-layer.zip publish-layer: uses: ./.github/workflows/layer-publish.yml diff --git a/.github/workflows/release-layer-python copy.yml b/.github/workflows/release-layer-python copy.yml deleted file mode 100644 index 474fbf813a..0000000000 --- a/.github/workflows/release-layer-python copy.yml +++ /dev/null @@ -1,87 +0,0 @@ -name: "Release Python Lambda Layer" - -on: - # (Using tag push instead of release to allow filtering by tag prefix.) - push: - tags: - - layer-python/** - -permissions: - id-token: write - contents: write - -jobs: - build-layer: - runs-on: ubuntu-latest - outputs: - PYTHON_OPENTELEMETRY_SDK_VERSION: ${{ steps.save-python-opentelemetry-sdk-version.outputs.PYTHON_OPENTELEMETRY_SDK_VERSION}} - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-python@v5 - with: - python-version: '3.9' - - - name: Save PYTHON_OPENTELEMETRY_SDK_VERSION - id: save-python-opentelemetry-sdk-version - run: | - cd python/src - echo "PYTHON_OPENTELEMETRY_SDK_VERSION=$(cat otel/otel_sdk/requirements.txt | grep opentelemetry-sdk | sed 's/.*==\([^ ]*\).*/\1/')" >> $GITHUB_ENV - echo "PYTHON_OPENTELEMETRY_SDK_VERSION=$PYTHON_OPENTELEMETRY_SDK_VERSION" >> $GITHUB_OUTPUT - shell: bash - - - name: Display PYTHON_OPENTELEMETRY_SDK_VERSION - run: | - echo "PYTHON_OPENTELEMETRY_SDK_VERSION=${{ env.PYTHON_OPENTELEMETRY_SDK_VERSION }}" - shell: bash - - - name: Build - run: | - cd python/src - ./build.sh - shell: bash - - - name: Show directory contents - run: | - ls -al - working-directory: python/src/build - - - uses: actions/upload-artifact@v4 - name: Save assembled layer to build - with: - name: opentelemetry-python-layer.zip - path: python/src/build/opentelemetry-python-layer.zip - - - name: Add Binary to Release - run: | - gh release upload ${{github.ref_name}} python/src/build/opentelemetry-python-layer.zip - - publish-layer: - uses: ./.github/workflows/layer-publish.yml - needs: build-layer - strategy: - matrix: - aws_region: - - ap-northeast-1 - - ap-northeast-2 - - ap-south-1 - - ap-southeast-1 - - ap-southeast-2 - - ca-central-1 - - eu-central-1 - - eu-north-1 - - eu-west-1 - - eu-west-2 - - eu-west-3 - - sa-east-1 - - us-east-1 - - us-east-2 - - us-west-1 - - us-west-2 - with: - artifact-name: opentelemetry-python-layer.zip - layer-name: opentelemetry-python - component-version: ${{needs.build-layer.outputs.PYTHON_OPENTELEMETRY_SDK_VERSION}} - release-group: prod - aws_region: ${{ matrix.aws_region }} - secrets: inherit diff --git a/.github/workflows/release-layer-python.yml b/.github/workflows/release-layer-python.yml index 41f9a8e6ed..474fbf813a 100644 --- a/.github/workflows/release-layer-python.yml +++ b/.github/workflows/release-layer-python.yml @@ -8,7 +8,7 @@ on: permissions: id-token: write - contents: read + contents: write jobs: build-layer: @@ -52,6 +52,10 @@ jobs: name: opentelemetry-python-layer.zip path: python/src/build/opentelemetry-python-layer.zip + - name: Add Binary to Release + run: | + gh release upload ${{github.ref_name}} python/src/build/opentelemetry-python-layer.zip + publish-layer: uses: ./.github/workflows/layer-publish.yml needs: build-layer diff --git a/.github/workflows/release-layer-ruby copy.yml b/.github/workflows/release-layer-ruby copy.yml deleted file mode 100644 index b6b4a8acc7..0000000000 --- a/.github/workflows/release-layer-ruby copy.yml +++ /dev/null @@ -1,80 +0,0 @@ -name: "Release Ruby Lambda Layer" - -on: - # (Using tag push instead of release to allow filtering by tag prefix.) - push: - tags: - - layer-ruby/** - -permissions: - id-token: write - contents: write - -jobs: - build-layer: - runs-on: ubuntu-latest - outputs: - RUBY_SDK_VERSION: ${{ steps.save-ruby-sdk-version.outputs.RUBY_SDK_VERSION}} - steps: - - uses: actions/checkout@v4 - - - name: Build - run: | - ./build.sh - shell: bash - working-directory: ruby/src - - - name: Save Ruby SDK Version - id: save-ruby-sdk-version - run: | - unzip -q build/opentelemetry-ruby-layer.zip - export GEM_PATH=$PWD/ruby/gems/3.2.0/ - RUBY_SDK_VERSION=$(ruby -e 'require "opentelemetry-sdk"; puts OpenTelemetry::SDK::VERSION') - echo "RUBY_SDK_VERSION=$RUBY_SDK_VERSION" >> $GITHUB_OUTPUT - working-directory: ruby/src - - - name: Show directory contents - run: | - ls -al - working-directory: ruby/src/build - - - uses: actions/upload-artifact@v4 - name: Save assembled layer to build - with: - name: opentelemetry-ruby-layer.zip - path: ruby/src/build/opentelemetry-ruby-layer.zip - - - name: Add Binary to Release - run: | - gh release upload ${{github.ref_name}} ruby/src/build/opentelemetry-ruby-layer.zip - - publish-layer: - uses: ./.github/workflows/layer-publish.yml - needs: build-layer - strategy: - matrix: - aws_region: - - ap-northeast-1 - - ap-northeast-2 - - ap-south-1 - - ap-southeast-1 - - ap-southeast-2 - - ca-central-1 - - eu-central-1 - - eu-north-1 - - eu-west-1 - - eu-west-2 - - eu-west-3 - - sa-east-1 - - us-east-1 - - us-east-2 - - us-west-1 - - us-west-2 - with: - artifact-name: opentelemetry-ruby-layer.zip - layer-name: opentelemetry-ruby - component-version: ${{needs.build-layer.outputs.RUBY_SDK_VERSION}} - runtimes: ruby3.2 ruby3.3 - release-group: dev - aws_region: ${{ matrix.aws_region }} - secrets: inherit diff --git a/.github/workflows/release-layer-ruby.yml b/.github/workflows/release-layer-ruby.yml index d7f50f8e02..b6b4a8acc7 100644 --- a/.github/workflows/release-layer-ruby.yml +++ b/.github/workflows/release-layer-ruby.yml @@ -8,7 +8,7 @@ on: permissions: id-token: write - contents: read + contents: write jobs: build-layer: @@ -43,6 +43,10 @@ jobs: with: name: opentelemetry-ruby-layer.zip path: ruby/src/build/opentelemetry-ruby-layer.zip + + - name: Add Binary to Release + run: | + gh release upload ${{github.ref_name}} ruby/src/build/opentelemetry-ruby-layer.zip publish-layer: uses: ./.github/workflows/layer-publish.yml From fa71db0260d1e58ffb414abd8f8cc85143624ebf Mon Sep 17 00:00:00 2001 From: Brett Knapik Date: Sat, 12 Oct 2024 22:21:14 -0400 Subject: [PATCH 3/9] adding github token --- .github/workflows/release-layer-collector.yml | 2 ++ .github/workflows/release-layer-java.yml | 2 ++ .github/workflows/release-layer-nodejs.yml | 2 ++ .github/workflows/release-layer-python.yml | 2 ++ .github/workflows/release-layer-ruby.yml | 2 ++ 5 files changed, 10 insertions(+) diff --git a/.github/workflows/release-layer-collector.yml b/.github/workflows/release-layer-collector.yml index 4741bdb409..295f6af7c7 100644 --- a/.github/workflows/release-layer-collector.yml +++ b/.github/workflows/release-layer-collector.yml @@ -34,6 +34,8 @@ jobs: - name: Add Binary to Release run: | gh release upload ${{github.ref_name}} ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Save Collector Version if: ${{ matrix.architecture == 'amd64' }} id: save-collector-version diff --git a/.github/workflows/release-layer-java.yml b/.github/workflows/release-layer-java.yml index 306d34498d..833cf39a6b 100644 --- a/.github/workflows/release-layer-java.yml +++ b/.github/workflows/release-layer-java.yml @@ -47,6 +47,8 @@ jobs: - name: Add Binary to Release run: | gh release upload ${{github.ref_name}} java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Save Javaagent Version id: save-javaagent-version diff --git a/.github/workflows/release-layer-nodejs.yml b/.github/workflows/release-layer-nodejs.yml index d5f92a6487..664798ef32 100644 --- a/.github/workflows/release-layer-nodejs.yml +++ b/.github/workflows/release-layer-nodejs.yml @@ -48,6 +48,8 @@ jobs: - name: Add Binary to Release run: | gh release upload ${{github.ref_name}} nodejs/packages/layer/build/opentelemetry-nodejs-layer.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} publish-layer: uses: ./.github/workflows/layer-publish.yml diff --git a/.github/workflows/release-layer-python.yml b/.github/workflows/release-layer-python.yml index 474fbf813a..40a1c159f0 100644 --- a/.github/workflows/release-layer-python.yml +++ b/.github/workflows/release-layer-python.yml @@ -55,6 +55,8 @@ jobs: - name: Add Binary to Release run: | gh release upload ${{github.ref_name}} python/src/build/opentelemetry-python-layer.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} publish-layer: uses: ./.github/workflows/layer-publish.yml diff --git a/.github/workflows/release-layer-ruby.yml b/.github/workflows/release-layer-ruby.yml index b6b4a8acc7..302da4de93 100644 --- a/.github/workflows/release-layer-ruby.yml +++ b/.github/workflows/release-layer-ruby.yml @@ -47,6 +47,8 @@ jobs: - name: Add Binary to Release run: | gh release upload ${{github.ref_name}} ruby/src/build/opentelemetry-ruby-layer.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} publish-layer: uses: ./.github/workflows/layer-publish.yml From b519d690472f2c32af69ade9eaff0e523fdad319 Mon Sep 17 00:00:00 2001 From: Brett Knapik Date: Tue, 15 Oct 2024 00:05:49 -0400 Subject: [PATCH 4/9] creating GH release --- .github/workflows/release-layer-collector.yml | 1 + .github/workflows/release-layer-java.yml | 1 + .github/workflows/release-layer-nodejs.yml | 1 + .github/workflows/release-layer-python.yml | 3 ++- .github/workflows/release-layer-ruby.yml | 3 ++- 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-layer-collector.yml b/.github/workflows/release-layer-collector.yml index 295f6af7c7..8064f59350 100644 --- a/.github/workflows/release-layer-collector.yml +++ b/.github/workflows/release-layer-collector.yml @@ -33,6 +33,7 @@ jobs: path: ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip - name: Add Binary to Release run: | + gh release create ${{github.ref_name}} gh release upload ${{github.ref_name}} ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-layer-java.yml b/.github/workflows/release-layer-java.yml index 833cf39a6b..4582fb231f 100644 --- a/.github/workflows/release-layer-java.yml +++ b/.github/workflows/release-layer-java.yml @@ -46,6 +46,7 @@ jobs: - name: Add Binary to Release run: | + gh release create ${{github.ref_name}} gh release upload ${{github.ref_name}} java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-layer-nodejs.yml b/.github/workflows/release-layer-nodejs.yml index 664798ef32..999ec90c13 100644 --- a/.github/workflows/release-layer-nodejs.yml +++ b/.github/workflows/release-layer-nodejs.yml @@ -47,6 +47,7 @@ jobs: - name: Add Binary to Release run: | + gh release create ${{github.ref_name}} gh release upload ${{github.ref_name}} nodejs/packages/layer/build/opentelemetry-nodejs-layer.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-layer-python.yml b/.github/workflows/release-layer-python.yml index 40a1c159f0..e5b37c67c9 100644 --- a/.github/workflows/release-layer-python.yml +++ b/.github/workflows/release-layer-python.yml @@ -54,7 +54,8 @@ jobs: - name: Add Binary to Release run: | - gh release upload ${{github.ref_name}} python/src/build/opentelemetry-python-layer.zip + gh release create ${{github.ref_name}} + gh release upload ${{github.ref_name}} python/src/build/opentelemetry-python-layer.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-layer-ruby.yml b/.github/workflows/release-layer-ruby.yml index 302da4de93..fc8bb183bd 100644 --- a/.github/workflows/release-layer-ruby.yml +++ b/.github/workflows/release-layer-ruby.yml @@ -46,7 +46,8 @@ jobs: - name: Add Binary to Release run: | - gh release upload ${{github.ref_name}} ruby/src/build/opentelemetry-ruby-layer.zip + gh release create ${{github.ref_name}} + gh release upload ${{github.ref_name}} ruby/src/build/opentelemetry-ruby-layer.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 73a876807cdff8642bd3892e905edf20c15c5f67 Mon Sep 17 00:00:00 2001 From: Brett Knapik Date: Tue, 15 Oct 2024 00:12:06 -0400 Subject: [PATCH 5/9] create release before build --- .github/workflows/release-layer-collector.yml | 8 +++++++- .github/workflows/release-layer-java.yml | 8 +++++++- .github/workflows/release-layer-nodejs.yml | 8 +++++++- .github/workflows/release-layer-python.yml | 8 +++++++- .github/workflows/release-layer-ruby.yml | 8 +++++++- 5 files changed, 35 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-layer-collector.yml b/.github/workflows/release-layer-collector.yml index 8064f59350..880590d596 100644 --- a/.github/workflows/release-layer-collector.yml +++ b/.github/workflows/release-layer-collector.yml @@ -11,6 +11,13 @@ permissions: contents: write jobs: + create-release: + runs-on: ubuntu-latest + steps: + - name: Create Release + run: gh release create ${{ github.ref_name }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: runs-on: ubuntu-latest strategy: @@ -33,7 +40,6 @@ jobs: path: ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip - name: Add Binary to Release run: | - gh release create ${{github.ref_name}} gh release upload ${{github.ref_name}} ${{ github.workspace }}/collector/build/opentelemetry-collector-layer-${{ matrix.architecture }}.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-layer-java.yml b/.github/workflows/release-layer-java.yml index 4582fb231f..b1689f091f 100644 --- a/.github/workflows/release-layer-java.yml +++ b/.github/workflows/release-layer-java.yml @@ -11,6 +11,13 @@ permissions: contents: write jobs: + create-release: + runs-on: ubuntu-latest + steps: + - name: Create Release + run: gh release create ${{ github.ref_name }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: runs-on: ubuntu-latest outputs: @@ -46,7 +53,6 @@ jobs: - name: Add Binary to Release run: | - gh release create ${{github.ref_name}} gh release upload ${{github.ref_name}} java/layer-wrapper/build/distributions/opentelemetry-javawrapper-layer.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-layer-nodejs.yml b/.github/workflows/release-layer-nodejs.yml index 999ec90c13..e3f4749d92 100644 --- a/.github/workflows/release-layer-nodejs.yml +++ b/.github/workflows/release-layer-nodejs.yml @@ -11,6 +11,13 @@ permissions: contents: write jobs: + create-release: + runs-on: ubuntu-latest + steps: + - name: Create Release + run: gh release create ${{ github.ref_name }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: runs-on: ubuntu-latest outputs: @@ -47,7 +54,6 @@ jobs: - name: Add Binary to Release run: | - gh release create ${{github.ref_name}} gh release upload ${{github.ref_name}} nodejs/packages/layer/build/opentelemetry-nodejs-layer.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-layer-python.yml b/.github/workflows/release-layer-python.yml index e5b37c67c9..7d2225d1ec 100644 --- a/.github/workflows/release-layer-python.yml +++ b/.github/workflows/release-layer-python.yml @@ -11,6 +11,13 @@ permissions: contents: write jobs: + create-release: + runs-on: ubuntu-latest + steps: + - name: Create Release + run: gh release create ${{ github.ref_name }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: runs-on: ubuntu-latest outputs: @@ -54,7 +61,6 @@ jobs: - name: Add Binary to Release run: | - gh release create ${{github.ref_name}} gh release upload ${{github.ref_name}} python/src/build/opentelemetry-python-layer.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-layer-ruby.yml b/.github/workflows/release-layer-ruby.yml index fc8bb183bd..fe62003af6 100644 --- a/.github/workflows/release-layer-ruby.yml +++ b/.github/workflows/release-layer-ruby.yml @@ -11,6 +11,13 @@ permissions: contents: write jobs: + create-release: + runs-on: ubuntu-latest + steps: + - name: Create Release + run: gh release create ${{ github.ref_name }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: runs-on: ubuntu-latest outputs: @@ -46,7 +53,6 @@ jobs: - name: Add Binary to Release run: | - gh release create ${{github.ref_name}} gh release upload ${{github.ref_name}} ruby/src/build/opentelemetry-ruby-layer.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 7c9511fa737f5ffbd2c503567955c26263f7fac6 Mon Sep 17 00:00:00 2001 From: Brett Knapik Date: Tue, 15 Oct 2024 00:15:59 -0400 Subject: [PATCH 6/9] again --- .github/workflows/release-layer-collector.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release-layer-collector.yml b/.github/workflows/release-layer-collector.yml index 880590d596..7591222e66 100644 --- a/.github/workflows/release-layer-collector.yml +++ b/.github/workflows/release-layer-collector.yml @@ -14,12 +14,14 @@ jobs: create-release: runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 - name: Create Release run: gh release create ${{ github.ref_name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: runs-on: ubuntu-latest + needs: create-release strategy: matrix: architecture: From b5f8b2cb90039859dc052d79412cc57536ccb783 Mon Sep 17 00:00:00 2001 From: Brett Knapik Date: Tue, 15 Oct 2024 00:20:22 -0400 Subject: [PATCH 7/9] changes to create release as first step --- .github/workflows/release-layer-java.yml | 2 ++ .github/workflows/release-layer-nodejs.yml | 2 ++ .github/workflows/release-layer-python.yml | 2 ++ .github/workflows/release-layer-ruby.yml | 2 ++ 4 files changed, 8 insertions(+) diff --git a/.github/workflows/release-layer-java.yml b/.github/workflows/release-layer-java.yml index b1689f091f..cdca0ab2b0 100644 --- a/.github/workflows/release-layer-java.yml +++ b/.github/workflows/release-layer-java.yml @@ -14,12 +14,14 @@ jobs: create-release: runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 - name: Create Release run: gh release create ${{ github.ref_name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: runs-on: ubuntu-latest + needs: create-release outputs: JAVAAGENT_VERSION: ${{ steps.save-javaagent-version.outputs.JAVAAGENT_VERSION }} JAVAWRAPPER_VERSION: ${{ steps.save-javawrapper-version.outputs.JAVAWRAPPER_VERSION }} diff --git a/.github/workflows/release-layer-nodejs.yml b/.github/workflows/release-layer-nodejs.yml index e3f4749d92..bbf245dc43 100644 --- a/.github/workflows/release-layer-nodejs.yml +++ b/.github/workflows/release-layer-nodejs.yml @@ -14,12 +14,14 @@ jobs: create-release: runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 - name: Create Release run: gh release create ${{ github.ref_name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: runs-on: ubuntu-latest + needs: create-release outputs: NODEJS_VERSION: ${{ steps.save-node-sdk-version.outputs.SDK_VERSION}} steps: diff --git a/.github/workflows/release-layer-python.yml b/.github/workflows/release-layer-python.yml index 7d2225d1ec..dbc01f32d0 100644 --- a/.github/workflows/release-layer-python.yml +++ b/.github/workflows/release-layer-python.yml @@ -14,12 +14,14 @@ jobs: create-release: runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 - name: Create Release run: gh release create ${{ github.ref_name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: runs-on: ubuntu-latest + needs: create-release outputs: PYTHON_OPENTELEMETRY_SDK_VERSION: ${{ steps.save-python-opentelemetry-sdk-version.outputs.PYTHON_OPENTELEMETRY_SDK_VERSION}} steps: diff --git a/.github/workflows/release-layer-ruby.yml b/.github/workflows/release-layer-ruby.yml index fe62003af6..5feb06cdd4 100644 --- a/.github/workflows/release-layer-ruby.yml +++ b/.github/workflows/release-layer-ruby.yml @@ -14,12 +14,14 @@ jobs: create-release: runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 - name: Create Release run: gh release create ${{ github.ref_name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: runs-on: ubuntu-latest + needs: create-release outputs: RUBY_SDK_VERSION: ${{ steps.save-ruby-sdk-version.outputs.RUBY_SDK_VERSION}} steps: From 6803e5ba7ab592da692418797e85d3150a58f179 Mon Sep 17 00:00:00 2001 From: Brett Knapik Date: Tue, 15 Oct 2024 22:16:05 -0400 Subject: [PATCH 8/9] changes to create release in draft mode --- .github/workflows/release-layer-collector.yml | 2 +- .github/workflows/release-layer-java.yml | 2 +- .github/workflows/release-layer-nodejs.yml | 2 +- .github/workflows/release-layer-python.yml | 2 +- .github/workflows/release-layer-ruby.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-layer-collector.yml b/.github/workflows/release-layer-collector.yml index 7591222e66..3cb2392421 100644 --- a/.github/workflows/release-layer-collector.yml +++ b/.github/workflows/release-layer-collector.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Create Release - run: gh release create ${{ github.ref_name }} + run: gh release create ${{ github.ref_name }} --draft env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: diff --git a/.github/workflows/release-layer-java.yml b/.github/workflows/release-layer-java.yml index cdca0ab2b0..07f402f698 100644 --- a/.github/workflows/release-layer-java.yml +++ b/.github/workflows/release-layer-java.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Create Release - run: gh release create ${{ github.ref_name }} + run: gh release create ${{ github.ref_name }} --draft env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: diff --git a/.github/workflows/release-layer-nodejs.yml b/.github/workflows/release-layer-nodejs.yml index bbf245dc43..8d79e9e06a 100644 --- a/.github/workflows/release-layer-nodejs.yml +++ b/.github/workflows/release-layer-nodejs.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Create Release - run: gh release create ${{ github.ref_name }} + run: gh release create ${{ github.ref_name }} --draft env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: diff --git a/.github/workflows/release-layer-python.yml b/.github/workflows/release-layer-python.yml index dbc01f32d0..7b8bb723fd 100644 --- a/.github/workflows/release-layer-python.yml +++ b/.github/workflows/release-layer-python.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Create Release - run: gh release create ${{ github.ref_name }} + run: gh release create ${{ github.ref_name }} --draft env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: diff --git a/.github/workflows/release-layer-ruby.yml b/.github/workflows/release-layer-ruby.yml index 5feb06cdd4..2f5bff4c11 100644 --- a/.github/workflows/release-layer-ruby.yml +++ b/.github/workflows/release-layer-ruby.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Create Release - run: gh release create ${{ github.ref_name }} + run: gh release create ${{ github.ref_name }} --draft env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: From 3f559f5e4d69a78bca2c049e58fca5dc4259b3ec Mon Sep 17 00:00:00 2001 From: Brett Knapik Date: Wed, 16 Oct 2024 23:49:43 -0400 Subject: [PATCH 9/9] adding title --- .github/workflows/release-layer-collector.yml | 2 +- .github/workflows/release-layer-java.yml | 2 +- .github/workflows/release-layer-nodejs.yml | 2 +- .github/workflows/release-layer-python.yml | 2 +- .github/workflows/release-layer-ruby.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-layer-collector.yml b/.github/workflows/release-layer-collector.yml index 3cb2392421..32e64b6761 100644 --- a/.github/workflows/release-layer-collector.yml +++ b/.github/workflows/release-layer-collector.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Create Release - run: gh release create ${{ github.ref_name }} --draft + run: gh release create ${{ github.ref_name }} --draft --title ${{ github.ref_name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: diff --git a/.github/workflows/release-layer-java.yml b/.github/workflows/release-layer-java.yml index 07f402f698..857824f470 100644 --- a/.github/workflows/release-layer-java.yml +++ b/.github/workflows/release-layer-java.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Create Release - run: gh release create ${{ github.ref_name }} --draft + run: gh release create ${{ github.ref_name }} --draft --title ${{ github.ref_name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: diff --git a/.github/workflows/release-layer-nodejs.yml b/.github/workflows/release-layer-nodejs.yml index 8d79e9e06a..cc16da3da0 100644 --- a/.github/workflows/release-layer-nodejs.yml +++ b/.github/workflows/release-layer-nodejs.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Create Release - run: gh release create ${{ github.ref_name }} --draft + run: gh release create ${{ github.ref_name }} --draft --title ${{ github.ref_name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: diff --git a/.github/workflows/release-layer-python.yml b/.github/workflows/release-layer-python.yml index 7b8bb723fd..00d939adc3 100644 --- a/.github/workflows/release-layer-python.yml +++ b/.github/workflows/release-layer-python.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Create Release - run: gh release create ${{ github.ref_name }} --draft + run: gh release create ${{ github.ref_name }} --draft --title ${{ github.ref_name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: diff --git a/.github/workflows/release-layer-ruby.yml b/.github/workflows/release-layer-ruby.yml index 2f5bff4c11..d09523cd1b 100644 --- a/.github/workflows/release-layer-ruby.yml +++ b/.github/workflows/release-layer-ruby.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Create Release - run: gh release create ${{ github.ref_name }} --draft + run: gh release create ${{ github.ref_name }} --draft --title ${{ github.ref_name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-layer: