8000 improve entering release notes into fastlane (#1224) · sdevpiyush/Android@5df5fc8 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5df5fc8

Browse files
authored
improve entering release notes into fastlane (duckduckgo#1224)
* Allows release notes to be left unchanged, or to select from default * Made some of the lanes private since they won't be invoked externally * Made some of the lanes private since they won't be invoked externally * Made some of the lanes private since they won't be invoked externally
1 parent 1ef6164 commit 5df5fc8

File tree

2 files changed

+40
-51
lines changed

2 files changed

+40
-51
lines changed

fastlane/Fastfile

Lines changed: 40 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@
1313
# Uncomment the line if you want fastlane to automatically update itself
1414
# update_fastlane
1515

16-
default_platform(:android)
17-
18-
platform :android do
19-
20-
# CONSTANTS
16+
# CONSTANTS
2117
releaseNotesBodyHeader = "What's new in this release?"
2218
releaseNotesSuffixHeader = "Have feedback?"
2319
releaseNotesFileBody = "../app/version/release-notes"
@@ -26,8 +22,12 @@ platform :android do
2622
releaseNotesLocales= ["en-US", "en-GB", "en-CA"]
2723
errorMessageCancelled = "Release cancelled 😢"
2824

25+
default_platform(:android)
26+
27+
platform :android do
28+
2929
desc "Generate release notes for the Play Store"
30-
lane :release_notes_playstore do
30+
private_lane :release_notes_playstore do
3131

3232
releaseNotesBody = File.read(releaseNotesFileBody)
3333
releaseNotesSuffix = File.read(releaseNotesFileSuffix)
@@ -40,7 +40,7 @@ platform :android do
4040
end
4141

4242
desc "Generate release notes for GitHub"
43-
lane :release_notes_github do
43+
private_lane :release_notes_github do
4444

4545
releaseNotesBody = File.read(releaseNotesFileBody)
4646
releaseNotesSuffix = File.read(releaseNotesFileSuffix)
@@ -75,7 +75,7 @@ platform :android do
7575
end
7676

7777
desc "Upload APK to ad-hoc internal app sharing"
78-
lane :deploy_adhoc do
78+
private_lane :deploy_adhoc do
7979

8080
props = property_file_read(file: "app/version/version.properties")
8181
version = props["VERSION"]
@@ -111,7 +111,7 @@ platform :android do
111111
end
112112

113113
desc "Update local changelist metadata"
114-
lane :update_fastlane_release_notes do
114+
private_lane :update_fastlane_release_notes do
115115

116116
releaseNotes = release_notes_playstore()
117117

@@ -125,7 +125,7 @@ platform :android do
125125
end
126126

127127
desc "Clean up local changelist metadata"
128-
lane :cleanup_fastlane_release_notes do
128+
private_lane :cleanup_fastlane_release_notes do
129129

130130
flversion=gradle(task: '-q fastlaneVersionCode')
131131

@@ -141,27 +141,14 @@ platform :android do
141141
desc "Create new release"
142142
lane :release do
143143

144-
UI.header "Creating a new release"
145-
UI.message ("Checking current branch: #{git_branch}")
146-
147144
ensure_git_status_clean
145+
ensure_git_branch( branch: 'develop' )
148146

149-
ensure_git_branch(
150-
branch: 'develop'
151-
)
147+
releaseNotes = determine_release_notes()
152148

153149
newVersion = prompt(text: "\nLast release was: #{last_git_tag}\nEnter New Version Number:")
154-
releaseNotes = prompt(text: "Release Notes: ", multi_line_end_keyword: "END")
155-
commits = changelog_from_git_commits(
156-
between: [last_git_tag, "HEAD"],
157-
pretty: "- %s",
158-
date_format: "short",
159-
match_lightweight_tag: false,
160-
merge_commit_filtering: "exclude_merges"
161-
)
162-
UI.message ("Performing a new release for #{newVersion}")
163150

164-
if UI.confirm("Are you sure you're happy with this release?\n\nVersion=#{newVersion}\nCommits Since Last Release:\n#{commits}\nRelease Notes:\n#{releaseNotes}\n")
151+
if UI.confirm("Are you sure you're happy with this release?\n\nVersion=#{newVersion}\nRelease Notes:\n#{releaseNotes}\n")
165152
UI.success "Creating release branch for release/#{newVersion}"
166153

167154
sh "git flow release start #{newVersion}"
@@ -195,4 +182,31 @@ platform :android do
195182

196183
end
197184

185+
private_lane :determine_release_notes do
186+
187+
commits = changelog_from_git_commits(
188+
between: [last_git_tag, "HEAD"],
189+
pretty: "- %s",
190+
date_format: "short",
191+
match_lightweight_tag: false,
192+
merge_commit_filtering: "exclude_merges"
193+
)
194+
195+
existingReleaseNotes = File.read(releaseNotesFileBody)
196+
UI.important("Existing release notes:\n")
197+
UI.message("#{existingReleaseNotes}\n")
198+
choice = UI.select "What do you want to do for release notes?", ["KEEP EXISTING", "CUSTOM",
199+
"Bug fixes and other improvements",
200+
]
201+
202+
rl = case choice
203+
when "KEEP EXISTING"
204+
existingReleaseNotes
205+
when "CUSTOM"
206+
prompt(text: "Release Notes: ", multi_line_end_keyword: "END")
207+
else
208+
choice
209+
end
210+
end
211+
198212
end

fastlane/README.md

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,41 +16,16 @@ or alternatively using `brew install fastlane`
1616

1717
# Available Actions
1818
## Android
19-
### android release_notes_playstore
20-
```
21-
fastlane android release_notes_playstore
22-
```
23-
Generate release notes for the Play Store
24-
### android release_notes_github
25-
```
26-
fastlane android release_notes_github
27-
```
28-
Generate release notes for GitHub
2919
### android deploy_playstore
3020
```
3121
fastlane android deploy_playstore
3222
```
3323
Upload APK to Play Store
34-
### android deploy_adhoc
35-
```
36-
fastlane android deploy_adhoc
37-
```
38-
Upload APK to ad-hoc internal app sharing
3924
### android deploy_github
4025
```
4126
fastlane android deploy_github
4227
```
4328
Deploy APK to GitHub
44-
### android update_fastlane_release_notes
45-
```
46-
fastlane android update_fastlane_release_notes
47-
```
48-
Update local changelist metadata
49-
### android cleanup_fastlane_release_notes
50-
```
51-
fastlane android cleanup_fastlane_release_notes
52-
```
53-
Clean up local changelist metadata
5429
### android release
5530
```
5631
fastlane android release

0 commit comments

Comments
 (0)
0