Skip to content

Commit c1ae290

Browse files
committed
[#498] Create Enum for gifhub runner type
1 parent 622af2a commit c1ae290

File tree

1 file changed

+28
-11
lines changed

1 file changed

+28
-11
lines changed

Scripts/Swift/iOSTemplateMaker/Sources/iOSTemplateMaker/SetUpCICDService.swift

+28-11
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,24 @@ struct SetUpCICDService {
2121
}
2222
}
2323
}
24+
25+
enum GithubRunnerType {
26+
27+
case macOSLatest, selfHosted, later
28+
29+
init?(_ name: String) {
30+
switch name.lowercased() {
31+
case "m", "macOS":
32+
self = .macOSLatest
33+
case "s", "self-hosted":
34+
self = .selfHosted
35+
case "l", "later":
36+
self = .later
37+
default:
38+
return nil
39+
}
40+
}
41+
}
2442

2543
private let fileManager = FileManager.default
2644

@@ -33,28 +51,27 @@ struct SetUpCICDService {
3351

3452
switch service {
3553
case .github:
36-
var runnerType: String?
54+
var runnerType: GithubRunnerType?
3755
while runnerType == nil {
38-
print("Which workflow runner do you want to use? [(m)acos-latest/(s)elf-hosted]: ")
39-
runnerType = readLine()?.lowercased()
40-
if runnerType != "m" && runnerType != "s" {
41-
print("Invalid input. Please enter 'm' for macOS-latest or 's' for self-hosted.")
42-
runnerType = nil
43-
}
56+
print("Which workflow runner do you want to use? [(m)acos-latest/(s)elf-hosted/(l)ater]: ")
57+
runnerType = GithubRunnerType(readLine().string)
4458
}
4559
print("Setting template for Github Actions")
4660
fileManager.removeItems(in: "bitrise.yml")
4761
fileManager.removeItems(in: "codemagic.yaml")
4862
fileManager.removeItems(in: ".github/workflows")
4963
fileManager.createDirectory(path: ".github/workflows")
50-
if runnerType == "s" {
51-
fileManager.moveFiles(in: ".github/self_hosted_project_workflows", to: ".github/workflows")
64+
switch runnerType {
65+
case .macOSLatest:
66+
fileManager.moveFiles(in: ".github/project_workflows", to: ".github/workflows")
5267
fileManager.removeItems(in: ".github/project_workflows")
5368
fileManager.removeItems(in: ".github/self_hosted_project_workflows")
54-
} else {
55-
fileManager.moveFiles(in: ".github/project_workflows", to: ".github/workflows")
69+
case .selfHosted:
70+
fileManager.moveFiles(in: ".github/self_hosted_project_workflows", to: ".github/workflows")
5671
fileManager.removeItems(in: ".github/project_workflows")
5772
fileManager.removeItems(in: ".github/self_hosted_project_workflows")
73+
case .later, .none:
74+
print("You can manually setup the runner later.")
5875
}
5976
case .bitrise:
6077
print("Setting template for Bitrise")

0 commit comments

Comments
 (0)