name: Reusable - Create operator pull request on: workflow_call: inputs: version: type: string required: true secrets: OPENTELEMETRYBOT_GITHUB_TOKEN: required: true # to help with partial release build failures workflow_dispatch: inputs: version: description: "Version" required: true jobs: create-operator-pull-request: runs-on: ubuntu-latest steps: - name: Sync opentelemetry-operator fork env: # this is the personal access token used for "gh repo sync" below GH_TOKEN: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }} run: | # synchronizing the fork is fast, and avoids the need to fetch the full upstream repo # (fetching the upstream repo with "--depth 1" would lead to "shallow update not allowed" # error when pushing back to the origin repo) gh repo sync opentelemetrybot/opentelemetry-operator \ --source open-telemetry/opentelemetry-operator \ --force - uses: actions/checkout@v3 with: repository: opentelemetrybot/opentelemetry-operator # this is the personal access token used for "git push" below token: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }} - name: Update version env: VERSION: ${{ inputs.version }} run: | echo $VERSION > autoinstrumentation/java/version.txt - name: Use CLA approved github bot run: | # cannot run the use-cla-approved-github-bot.sh script here since in a different repo git config user.name opentelemetrybot git config user.email 107717825+opentelemetrybot@users.noreply.github.com - name: Create pull request against opentelemetry-operator env: VERSION: ${{ inputs.version }} # this is the personal access token used for "gh pr create" below GH_TOKEN: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }} run: | message="Update the javaagent version to $VERSION" # note that @open-telemetry/java-instrumentation-approvers cannot be used below # because opentelemetrybot is not a member of the OpenTelemetry org, # and so it cannot @ mention OpenTelemetry org groups body="Update the javaagent version to \`$VERSION\`. cc @laurit @mateuszrzeszutek @trask " branch="update-opentelemetry-javaagent-to-${VERSION}" # gh pr create doesn't have a way to explicitly specify different head and base # repositories currently, but it will implicitly pick up the head from a different # repository if you set up a tracking branch git checkout -b $branch git commit -a -m "$message" git push --set-upstream origin $branch gh pr create --title "$message" \ --body "$body" \ --repo open-telemetry/opentelemetry-operator \ --base main