prepare-release-branch.yml 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. name: Prepare Release Branch
  2. on:
  3. workflow_dispatch:
  4. jobs:
  5. prepare-release-branch:
  6. runs-on: ubuntu-latest
  7. outputs:
  8. release-branch-name: ${{ steps.set-release-branch-name.outputs.release-branch-name }}
  9. steps:
  10. - uses: actions/checkout@v3
  11. - name: Set release branch name
  12. id: set-release-branch-name
  13. run: |
  14. release_branch_name=$(grep -Eo "[0-9.]+-SNAPSHOT" version.gradle.kts | sed -E 's/([0-9]+)\.([0-9]+)\.0-SNAPSHOT/v\1.\2.x/')
  15. echo "::set-output name=release-branch-name::$release_branch_name"
  16. - name: Create release branch
  17. run: |
  18. git checkout -b ${{ steps.set-release-branch-name.outputs.release-branch-name }}
  19. git push origin ${{ steps.set-release-branch-name.outputs.release-branch-name }}
  20. create-pull-request-against-release-branch:
  21. needs: prepare-release-branch
  22. runs-on: ubuntu-latest
  23. steps:
  24. - uses: actions/checkout@v3
  25. with:
  26. ref: ${{ needs.prepare-release-branch.outputs.release-branch-name }}
  27. - name: Remove SNAPSHOT from version
  28. run: |
  29. v=$(grep -Eo "[0-9]+.[0-9]+.0-SNAPSHOT" version.gradle.kts | sed 's/-SNAPSHOT//')
  30. .github/scripts/update-versions.sh "$v-SNAPSHOT" "$v-alpha-SNAPSHOT" "$v" "$v-alpha"
  31. - name: Bump download link version
  32. run: |
  33. new_version=$(grep -Eo "[0-9]+.[0-9]+.0" version.gradle.kts | head -1)
  34. sed -Ei "s,https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/,https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v$new_version/," README.md
  35. - name: Setup git name
  36. run: |
  37. git config user.name opentelemetry-java-bot
  38. git config user.email 97938252+opentelemetry-java-bot@users.noreply.github.com
  39. - name: Create pull request
  40. env:
  41. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  42. run: |
  43. msg="Prepare release branch ${{ needs.prepare-release-branch.outputs.release-branch-name }}"
  44. git add -u
  45. git commit -m "$msg"
  46. git push origin HEAD:prepare-release-branch-${{ needs.prepare-release-branch.outputs.release-branch-name }}
  47. gh pr create --title "$msg" \
  48. --body "$msg" \
  49. --head prepare-release-branch-${{ needs.prepare-release-branch.outputs.release-branch-name }} \
  50. --base ${{ needs.prepare-release-branch.outputs.release-branch-name }}
  51. create-pull-request-against-main:
  52. needs: prepare-release-branch
  53. runs-on: ubuntu-latest
  54. steps:
  55. - uses: actions/checkout@v3
  56. - name: Bump SNAPSHOT version
  57. run: |
  58. v=$(grep -Eo "[0-9]+.[0-9]+.0-SNAPSHOT" version.gradle.kts | sed 's/-SNAPSHOT//')
  59. if [[ $v =~ ([0-9]+).([0-9]+).0 ]]; then
  60. major="${BASH_REMATCH[1]}"
  61. minor="${BASH_REMATCH[2]}"
  62. else
  63. echo "unexpected version: $v"
  64. exit 1
  65. fi
  66. bump="$major.$((minor + 1)).0"
  67. .github/scripts/update-versions.sh "$v-SNAPSHOT" "$v-alpha-SNAPSHOT" "$bump-SNAPSHOT" "$bump-alpha-SNAPSHOT"
  68. - name: Setup git name
  69. run: |
  70. git config user.name opentelemetry-java-bot
  71. git config user.email 97938252+opentelemetry-java-bot@users.noreply.github.com
  72. - name: Create pull request
  73. env:
  74. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  75. run: |
  76. msg="Bump snapshot version"
  77. git add -u
  78. git commit -m "$msg"
  79. git push origin HEAD:bump-snapshot-version
  80. gh pr create --title "$msg" --body "$msg" --head bump-snapshot-version --base main