prepare-release-branch.yml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. name: Prepare release branch
  2. on:
  3. workflow_dispatch:
  4. jobs:
  5. create-pull-request-against-release-branch:
  6. runs-on: ubuntu-latest
  7. steps:
  8. - uses: actions/checkout@v3
  9. - name: Create release branch
  10. id: create-release-branch
  11. run: |
  12. version=$(grep -Eo "[0-9]+.[0-9]+.0-SNAPSHOT" version.gradle.kts | sed 's/-SNAPSHOT//')
  13. release_branch_name=$(echo $version | sed -E 's,([0-9]+)\.([0-9]+)\.0,release/v\1.\2.x,')
  14. git push origin HEAD:$release_branch_name
  15. echo "VERSION=$version" >> $GITHUB_ENV
  16. echo "RELEASE_BRANCH_NAME=$release_branch_name" >> $GITHUB_ENV
  17. - name: Drop snapshot from version
  18. run: |
  19. sed -ri "s/val snapshot = true/val snapshot = false/" version.gradle.kts
  20. - name: Set git user
  21. run: |
  22. git config user.name opentelemetry-java-bot
  23. git config user.email 97938252+opentelemetry-java-bot@users.noreply.github.com
  24. - name: Create pull request against the release branch
  25. env:
  26. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  27. run: |
  28. msg="Prepare release $VERSION"
  29. git commit -a -m "$msg"
  30. git push origin HEAD:prepare-release-$VERSION
  31. gh pr create --title "[$RELEASE_BRANCH_NAME] $msg" \
  32. --body "$msg" \
  33. --head prepare-release-$VERSION \
  34. --base $RELEASE_BRANCH_NAME
  35. create-pull-request-against-main:
  36. runs-on: ubuntu-latest
  37. steps:
  38. - uses: actions/checkout@v3
  39. - name: Bump snapshot version
  40. run: |
  41. version=$(grep -Eo "[0-9]+.[0-9]+.0-SNAPSHOT" version.gradle.kts | sed 's/-SNAPSHOT//')
  42. if [[ $version =~ ([0-9]+).([0-9]+).0 ]]; then
  43. major="${BASH_REMATCH[1]}"
  44. minor="${BASH_REMATCH[2]}"
  45. else
  46. echo "unexpected version: $version"
  47. exit 1
  48. fi
  49. next_version="$major.$((minor + 1)).0"
  50. sed -ri "s/$version-SNAPSHOT/$next_version-SNAPSHOT/" version.gradle.kts
  51. - name: Set git user
  52. run: |
  53. git config user.name opentelemetry-java-bot
  54. git config user.email 97938252+opentelemetry-java-bot@users.noreply.github.com
  55. - name: Create pull request against main
  56. env:
  57. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  58. run: |
  59. msg="Bump version"
  60. git commit -a -m "$msg"
  61. git push origin HEAD:bump-snapshot-version
  62. gh pr create --title "$msg" \
  63. --body "$msg" \
  64. --head bump-snapshot-version \
  65. --base main