|
27 | 27 | ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEY }} |
28 | 28 | ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEYID }} |
29 | 29 | ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }} |
30 | | - |
31 | | - - name: Validate changelog.md |
32 | | - id: validate_changelog |
33 | | - if: ${{ success() }} |
34 | | - run: | |
35 | | - FIRST_HEADING2=$(grep "^## " CHANGELOG.md | head -n 1) |
36 | | - echo "First heading2 found: $FIRST_HEADING2" |
37 | | - if [[ ! "$FIRST_HEADING2" =~ ^##[[:space:]]\[[0-9]+\.[0-9]+\.[0-9]+\][[:space:]]-[[:space:]][0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then |
38 | | - echo "First heading at level 2 should match '## [X.Y.Z] - [YYYY-MM-DD]'" |
39 | | - exit 1 |
40 | | - fi |
41 | | -
|
42 | | - - name: Extract release notes |
43 | | - id: release_notes |
44 | | - if: ${{ success() }} |
45 | | - uses: ffurrer2/extract-release-notes@v2 |
46 | | - |
47 | | - - name: Get version |
48 | | - id: get_version |
49 | | - if: ${{ success() }} |
50 | | - run: echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV |
51 | | - |
52 | | - - name: Create zip for dependency manager(s) |
53 | | - if: ${{ success() }} |
54 | | - run: | |
55 | | - cd ktlint-cli/build/run |
56 | | - mkdir -p ktlint-${{ env.version }}/bin |
57 | | - cp ktlint ktlint-${{ env.version }}/bin |
58 | | - zip -rm ktlint-${{ env.version }}.zip ktlint-${{ env.version }} |
59 | | -
|
60 | | - - name: Create release |
61 | | - id: github_release |
62 | | - if: ${{ success() }} |
63 | | - uses: softprops/action-gh-release@v2 |
64 | | - with: |
65 | | - draft: false |
66 | | - prerelease: false |
67 | | - body: ${{ steps.release_notes.outputs.release_notes }} |
68 | | - files: | |
69 | | - ktlint-cli/build/run/* |
70 | | - env: |
71 | | - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
72 | | - |
73 | | - - name: Bump Homebrew Formula |
74 | | - if: ${{ success() }} |
75 | | - uses: mislav/bump-homebrew-formula-action@v2 |
76 | | - env: |
77 | | - COMMITTER_TOKEN: ${{ secrets.HOMEBREW_TOKEN }} |
78 | | - with: |
79 | | - formula-name: ktlint |
80 | | - formula-path: Formula/k/ktlint.rb |
81 | | - download-url: https://github.com/pinterest/ktlint/releases/download/${{ env.version }}/ktlint-${{ env.version }}.zip |
82 | | - |
83 | | - - name: Update Release documentation |
84 | | - if: ${{ success() }} |
85 | | - run: | |
86 | | - git config user.email "[email protected]" |
87 | | - git config user.name "Ktlint Release Workflow" | |
88 | | - ./.announce -y |
89 | | - env: |
90 | | - VERSION: ${{ env.version }} |
0 commit comments