Merge pull request #24 from f-meloni/default_steps
Use default steps if there are no before/after steps
This commit is contained in:
commit
0ac3d62b59
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
before:
|
||||
- script:
|
||||
content: echo "Testing Release for $VERSION"
|
||||
after:
|
||||
- script:
|
||||
content: echo "releasing $VERSION"
|
19
.rocket.yml
19
.rocket.yml
|
@ -1,19 +0,0 @@
|
|||
---
|
||||
steps:
|
||||
- script:
|
||||
content: echo "releasing $VERSION"
|
||||
- hide_dev_dependencies
|
||||
- git_add:
|
||||
paths:
|
||||
- Package.swift
|
||||
- commit:
|
||||
no_verify: true
|
||||
- tag
|
||||
- unhide_dev_dependencies
|
||||
- git_add:
|
||||
paths:
|
||||
- Package.swift
|
||||
- commit:
|
||||
message: Unhide dev dependencies
|
||||
no_verify: true
|
||||
- push
|
|
@ -17,10 +17,3 @@ matrix:
|
|||
script:
|
||||
- swift test
|
||||
- ./.build/x86_64-unknown-linux/debug/rocket 1.0.0 --rocket-file .test.yml
|
||||
|
||||
- os: osx
|
||||
name: After Before test
|
||||
osx_image: xcode10
|
||||
script:
|
||||
- swift build
|
||||
- ./.build/x86_64-apple-macosx10.10/debug/rocket 1.0.0 --rocket-file .after_before_test.yml
|
|
@ -24,8 +24,8 @@
|
|||
"repositoryURL": "https://github.com/Quick/Nimble",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "df937ffd185b3dd1a44e0c234121cf826b599eb4",
|
||||
"version": "7.3.2"
|
||||
"revision": "9a281b1cfa1c53d1e8bd92e1798e4e473af8d263",
|
||||
"version": "7.3.3"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -42,8 +42,8 @@
|
|||
"repositoryURL": "https://github.com/Quick/Quick",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "5fbf13871d185526993130c3a1fad0b70bfe37ce",
|
||||
"version": "1.3.2"
|
||||
"revision": "f2b5a06440ea87eba1a167cab37bf6496646c52e",
|
||||
"version": "1.3.4"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -60,8 +60,8 @@
|
|||
"repositoryURL": "https://github.com/nicklockwood/SwiftFormat.git",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "b6b91dea9d2accd28872cf32711c51bcaef2b9a5",
|
||||
"version": "0.37.3"
|
||||
"revision": "5a136fc7db30aa3b27aa5298bbc83926752f580a",
|
||||
"version": "0.38.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
18
README.md
18
README.md
|
@ -48,6 +48,18 @@ With PackageConfig (https://github.com/orta/PackageConfig) you can put the confi
|
|||
])
|
||||
```
|
||||
|
||||
## Default steps
|
||||
If there is no step definition Rocket will run the default steps:
|
||||
|
||||
- **hide_dev_dependencies**
|
||||
- **git_add**
|
||||
- **commit**
|
||||
- **tag**
|
||||
- **unhide_dev_dependencies**
|
||||
- **git_add**
|
||||
- **commit** (message: "Unhide dev dependencies")
|
||||
- **push** (remote=origin branch=master)
|
||||
|
||||
## Before/After steps
|
||||
If you use the `before` and/or `after` keys
|
||||
|
||||
|
@ -63,14 +75,18 @@ after:
|
|||
content: echo "released $VERSION"
|
||||
```
|
||||
|
||||
Rocket will execute some default steps between the before and after steps:
|
||||
Rocket will execute the default steps between the before and after steps
|
||||
|
||||
- `echo "Testing Release for $VERSION"`
|
||||
|
||||
- **hide_dev_dependencies**
|
||||
- **git_add**
|
||||
- **commit**
|
||||
- **tag**
|
||||
- **unhide_dev_dependencies**
|
||||
- **git_add**
|
||||
- **commit** (message: "Unhide dev dependencies")
|
||||
- **push** (remote=origin branch=master)
|
||||
|
||||
- `echo "released $VERSION"`
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ if let rocketYamlPath = RocketFileFinder.rocketFilePath() {
|
|||
} else if let rocketConfig = getPackageConfig()["rocket"] as? [String: Any] {
|
||||
stepsDictionary = rocketConfig
|
||||
} else {
|
||||
logger.logError("Steps not found")
|
||||
stepsDictionary = [:]
|
||||
}
|
||||
|
||||
let stepPrinter = StepDescriptionPrinter()
|
||||
|
|
|
@ -10,6 +10,7 @@ public class StepsParser {
|
|||
Step.unhideDependencies.rawValue,
|
||||
Step.gitAdd.rawValue,
|
||||
[Step.commit.rawValue: ["message": "Unhide dependencies"]],
|
||||
Step.push.rawValue,
|
||||
]
|
||||
|
||||
enum CodingKeys: String {
|
||||
|
@ -54,7 +55,7 @@ public class StepsParser {
|
|||
|
||||
return beforeSteps + defaultSteps + afterSteps
|
||||
} else {
|
||||
return nil
|
||||
return defaultSteps
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -98,7 +98,22 @@ final class StepsParserTests: XCTestCase {
|
|||
expect((steps[5] as! UnhideDevDependenciesExecutor).parameters.packagePath) == "Package.swift"
|
||||
expect((steps[6] as! GitAddExecutor).parameters.paths) == ["."]
|
||||
expect(steps[7]).to(beAKindOf(CommitExecutor.self))
|
||||
expect((steps[8] as! ScriptExecutor).parameters.content) == "Script/after.sh"
|
||||
expect(steps[8]).to(beAKindOf(PushExecutor.self))
|
||||
expect((steps[9] as! ScriptExecutor).parameters.content) == "Script/after.sh"
|
||||
}
|
||||
|
||||
func testItParsesItReturnsTheDefaultParametersIfTheDictionaryIsEmpty() {
|
||||
let dictionary: [String: Any] = [:]
|
||||
|
||||
let steps = StepsParser.parseSteps(fromDictionary: dictionary, logger: logger)
|
||||
|
||||
expect((steps[0] as! HideDevDependenciesExecutor).parameters.packagePath) == "Package.swift"
|
||||
expect((steps[1] as! GitAddExecutor).parameters.paths) == ["."]
|
||||
expect(steps[2]).to(beAKindOf(CommitExecutor.self))
|
||||
expect(steps[3]).to(beAKindOf(TagExecutor.self))
|
||||
expect((steps[4] as! UnhideDevDependenciesExecutor).parameters.packagePath) == "Package.swift"
|
||||
expect((steps[5] as! GitAddExecutor).parameters.paths) == ["."]
|
||||
expect(steps[6]).to(beAKindOf(CommitExecutor.self))
|
||||
}
|
||||
|
||||
func testItParsesCorrectlyWhenOnlyBeforeIsSpecified() {
|
||||
|
@ -111,7 +126,7 @@ final class StepsParserTests: XCTestCase {
|
|||
let steps = StepsParser.parseSteps(fromDictionary: dictionary, logger: logger)
|
||||
|
||||
expect((steps[0] as! ScriptExecutor).parameters.content) == "swiftlint"
|
||||
expect(steps.count) == 8
|
||||
expect(steps.count) == 9
|
||||
}
|
||||
|
||||
func testItParsesCorrectlyWhenOnlyAfterIsSpecified() {
|
||||
|
@ -123,8 +138,8 @@ final class StepsParserTests: XCTestCase {
|
|||
|
||||
let steps = StepsParser.parseSteps(fromDictionary: dictionary, logger: logger)
|
||||
|
||||
expect((steps[7] as! ScriptExecutor).parameters.content) == "Script/after.sh"
|
||||
expect(steps.count) == 8
|
||||
expect((steps[8] as! ScriptExecutor).parameters.content) == "Script/after.sh"
|
||||
expect(steps.count) == 9
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue