changelog.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Automates creation of changelog drafts using Release Drafter
  2. # More Info: https://github.com/jenkinsci/.github/blob/master/.github/release-drafter.adoc
  3. name: Changelog Drafter
  4. on:
  5. workflow_dispatch:
  6. push:
  7. # branches to consider in the event; optional, defaults to all
  8. branches:
  9. - master
  10. permissions:
  11. contents: read
  12. jobs:
  13. update_draft_release:
  14. permissions:
  15. pull-requests: write # to add label to PR (release-drafter/release-drafter)
  16. contents: write # to create a github release (release-drafter/release-drafter)
  17. if: ${{ github.repository_owner == 'jenkinsci' }}
  18. runs-on: ubuntu-latest
  19. steps:
  20. # Drafts your next Release notes as Pull Requests are merged into "master"
  21. - name: Generate GitHub Release Draft
  22. id: release-drafter
  23. uses: release-drafter/release-drafter@978bb0b30c5ee8cdd332ced253758157150d43f0 # v7.10.0
  24. with:
  25. token: ${{ secrets.GITHUB_TOKEN }}
  26. # Generates a YAML changelog file using https://github.com/jenkinsci/jenkins-core-changelog-generator
  27. # used by Oleg N in open graph generator experiment for now
  28. - name: Generate YAML changelog draft
  29. id: jenkins-core-changelog-generator
  30. uses: jenkinsci/core-changelog-generator@feb124ed2262f8586ac4561348436afb965812e1 # v2.2.2
  31. env:
  32. GITHUB_AUTH: "github-actions:${{ secrets.GITHUB_TOKEN }}"
  33. - name: Upload Changelog YAML
  34. uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
  35. with:
  36. name: changelog.yaml
  37. path: changelog.yaml
  38. jenkins_io_draft:
  39. runs-on: ubuntu-latest
  40. if: github.repository_owner == 'jenkinsci'
  41. steps:
  42. - uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0
  43. id: generate-token
  44. with:
  45. client-id: ${{ secrets.JENKINS_CHANGELOG_UPDATER_APP_ID }}
  46. private-key: ${{ secrets.JENKINS_CHANGELOG_UPDATER_PRIVATE_KEY }}
  47. owner: jenkins-infra
  48. repositories: jenkins.io
  49. - name: Check out
  50. uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
  51. with:
  52. fetch-depth: 0
  53. - name: Publish jenkins.io changelog draft
  54. env:
  55. GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
  56. GITHUB_AUTH: "nobody:${{ steps.generate-token.outputs.token }}"
  57. GIT_AUTHOR_NAME: jenkins-infra-changelog-generator
  58. GIT_AUTHOR_EMAIL: <86592549+jenkins-infra-changelog-generator[bot]@users.noreply.github.com>
  59. GIT_COMMITTER_NAME: jenkins-infra-changelog-generator
  60. GIT_COMMITTER_EMAIL: <86592549+jenkins-infra-changelog-generator[bot]@users.noreply.github.com>
  61. run: |
  62. wget --quiet https://raw.githubusercontent.com/jenkinsci/core-changelog-generator/master/generate-weekly-changelog.sh
  63. # Create a Python virtual environment for pip install
  64. # See https://github.com/jenkinsci/core-changelog-generator/issues/37
  65. python3 -m venv venv
  66. source venv/bin/activate
  67. bash generate-weekly-changelog.sh