name: Create Release on: workflow_dispatch: inputs: version: description: Github release marker, i.e. 4.20.1.RELEASE required: true type: string workflow_call: inputs: version: description: Github release marker, i.e. 4.20.1.RELEASE required: true type: string permissions: contents: write jobs: changelog: runs-on: ubuntu-latest name: Changelog for the release steps: - name: Checkout wiki code uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 with: repository: ${{github.repository}}.wiki - name: Extract Changelog id: changelog run: | release=${{ inputs.version }} version=`echo "${release%.*}"` qualifier=`echo "${release##*.}"` echo $version echo $qualifier sed "/${version} ${qualifier}/,/^## .*/!d;//d;s/^* /- /" Changelog.md > ${{ github.workspace }}/gen-changelog.md - uses: actions/upload-artifact@v4 with: name: changelog-${{ inputs.version }}-${{ github.run_id }}.md path: ${{ github.workspace }}/gen-changelog.md retention-days: 1 release: needs: [ changelog ] name: Create Release runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 - uses: actions/download-artifact@v4 with: name: changelog-${{ inputs.version }}-${{ github.run_id }}.md path: ${{ github.workspace }} - name: Verify Changelog run: | cat ${{ github.workspace }}/gen-changelog.md - name: Push Tag run: | git config --global user.name "@spring-projects/spring-ide-admin" git tag -a ${{ inputs.version }} -m "${{ inputs.version }}" git push --tags - name: Create Release uses: actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: id: ${{ inputs.version }} tag_name: ${{ inputs.version }} release_name: ${{ inputs.version }} body_path: ${{ github.workspace }}/gen-changelog.md draft: true prerelease: false