release-update-cloudfoundry-index.yml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # This action updates the CloudFoundry java-buildpack release index after each release.
  2. # See https://github.com/cloudfoundry/java-buildpack/blob/main/docs/extending-repositories.md
  3. # Prerequisite: the repo must have a branch named "cloudfoundry".
  4. name: Update cloudfoundry release index
  5. on:
  6. schedule:
  7. - cron: '25 4 * * *' # Daily at 4:25 AM UTC
  8. workflow_dispatch:
  9. permissions:
  10. contents: write
  11. pull-requests: write
  12. jobs:
  13. update-cloudfoundry-index-yml:
  14. runs-on: ubuntu-latest
  15. steps:
  16. - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
  17. - name: Use CLA approved github bot
  18. run: .github/scripts/use-cla-approved-github-bot.sh
  19. - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
  20. with:
  21. ref: 'cloudfoundry'
  22. - name: create working branch
  23. run: git checkout -b opentelemetrybot/cloudfoundry-${{ github.run_number }}-${{ github.run_attempt }}
  24. - run: sudo apt-get install jq python3-pip
  25. - run: pip install yq
  26. - name: update index.yml
  27. run: |
  28. wget https://repo1.maven.org/maven2/io/opentelemetry/javaagent/opentelemetry-javaagent/maven-metadata.xml
  29. xq -r .metadata.versioning.versions.version[] maven-metadata.xml | sed -E 's/(.*)/\1: https:\/\/repo1.maven.org\/maven2\/io\/opentelemetry\/javaagent\/opentelemetry-javaagent\/\1\/opentelemetry-javaagent-\1.jar/' > index.yml
  30. - name: display changes
  31. run: git diff
  32. - name: create pr with repo changes
  33. run: |
  34. git add index.yml
  35. if git diff-index --quiet --cached HEAD ; then
  36. echo "index.yml already current"
  37. exit 0
  38. fi
  39. git commit -m "Updated index.yml"
  40. git push --set-upstream origin opentelemetrybot/cloudfoundry-${{ github.run_number }}-${{ github.run_attempt }}
  41. gh pr create --base cloudfoundry \
  42. --head opentelemetrybot/cloudfoundry-${{ github.run_number }}-${{ github.run_attempt }} \
  43. --title 'Release updates for Cloudfoundry Repo' \
  44. --body '[Created by Github action]'
  45. env:
  46. # not using secrets.GITHUB_TOKEN since pull requests from that token do not run workflows
  47. GITHUB_TOKEN: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }}