opentelemetry-java-instrume.../.github/workflows/reusable-create-website-pul...

75 lines
2.9 KiB
YAML

name: Reusable - Create website 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-java-website-pull-request:
runs-on: ubuntu-latest
steps:
- name: Sync opentelemetry.io 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.io \
--source open-telemetry/opentelemetry.io \
--force
- uses: actions/checkout@v3
with:
repository: opentelemetrybot/opentelemetry.io
# this is the personal access token used for "git push" below
token: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }}
- name: Update version
env:
VERSION: ${{ inputs.version }}
run: |
# TODO (trask) this will need to be updated when instrumentation-annotations are stable
sed -Ei "s/^javaAnnotationsVersion: [0-9.]+$/javaAnnotationsVersion: ${VERSION}/" content/en/docs/instrumentation/java/automatic/annotations.md
- 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.io
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 Java instrumentation versions to $VERSION"
body="Update the Java instrumentation version to \`$VERSION\`."
branch="update-opentelemetry-java-instrumentation-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.io \
--base main