Run CI with Xcode 12.5.1 & Swift 5.4 (#3710)
And require Swift 5.4 or Xcode 12.5 or later to build SwiftLint.
This commit is contained in:
parent
f9be1e1ac3
commit
888619912f
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
#### Breaking
|
#### Breaking
|
||||||
|
|
||||||
* None.
|
* SwiftLint now requires Swift 5.4 or higher to build.
|
||||||
|
[JP Simard](https://github.com/jpsim)
|
||||||
|
|
||||||
#### Experimental
|
#### Experimental
|
||||||
|
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -126,7 +126,7 @@ docker_image:
|
||||||
docker build --force-rm --tag swiftlint .
|
docker build --force-rm --tag swiftlint .
|
||||||
|
|
||||||
docker_test:
|
docker_test:
|
||||||
docker run -v `pwd`:`pwd` -w `pwd` --name swiftlint --rm swift:5.3 swift test --parallel
|
docker run -v `pwd`:`pwd` -w `pwd` --name swiftlint --rm swift:5.4 swift test --parallel
|
||||||
|
|
||||||
docker_htop:
|
docker_htop:
|
||||||
docker run -it --rm --pid=container:swiftlint terencewestphal/htop || reset
|
docker run -it --rm --pid=container:swiftlint terencewestphal/htop || reset
|
||||||
|
|
|
@ -60,7 +60,7 @@ running it.
|
||||||
### Installing from source:
|
### Installing from source:
|
||||||
|
|
||||||
You can also build and install from source by cloning this project and running
|
You can also build and install from source by cloning this project and running
|
||||||
`make install` (Xcode 12 or later).
|
`make install` (Xcode 12.5 or later).
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ $ mint install realm/SwiftLint
|
||||||
|
|
||||||
### 编译源代码:
|
### 编译源代码:
|
||||||
|
|
||||||
你也可以通过 Clone SwiftLint 的 Git 仓库到本地然后执行 `make install` (Xcode 11.4+) 编译源代码的方式来安装。
|
你也可以通过 Clone SwiftLint 的 Git 仓库到本地然后执行 `make install` (Xcode 12.5+) 编译源代码的方式来安装。
|
||||||
|
|
||||||
## 用法
|
## 用法
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ $ mint install realm/SwiftLint
|
||||||
|
|
||||||
### 소스를 직접 컴파일하는 경우:
|
### 소스를 직접 컴파일하는 경우:
|
||||||
|
|
||||||
본 프로젝트를 클론해서 빌드할 수도 있습니다. `make install` 명령을 사용합니다. (Xcode 11.4 이후 버전)
|
본 프로젝트를 클론해서 빌드할 수도 있습니다. `make install` 명령을 사용합니다. (Xcode 12.5 이후 버전)
|
||||||
|
|
||||||
## 사용 방법
|
## 사용 방법
|
||||||
|
|
||||||
|
|
|
@ -25,10 +25,10 @@ struct UnusedDeclarationRuleExamples {
|
||||||
}
|
}
|
||||||
|
|
||||||
let changes = [Change.insert(0), .delete(0)]
|
let changes = [Change.insert(0), .delete(0)]
|
||||||
changes.deletes()
|
_ = changes.deletes()
|
||||||
"""),
|
"""),
|
||||||
Example("""
|
Example("""
|
||||||
struct Item {}
|
struct Item: Codable {}
|
||||||
struct ResponseModel: Codable {
|
struct ResponseModel: Codable {
|
||||||
let items: [Item]
|
let items: [Item]
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ struct UnusedDeclarationRuleExamples {
|
||||||
indirect case optional(Component?)
|
indirect case optional(Component?)
|
||||||
}
|
}
|
||||||
|
|
||||||
@_functionBuilder
|
@resultBuilder
|
||||||
struct ComponentBuilder {
|
struct ComponentBuilder {
|
||||||
static func buildExpression(_ string: StaticString) -> Component {
|
static func buildExpression(_ string: StaticString) -> Component {
|
||||||
return .string(string)
|
return .string(string)
|
||||||
|
|
|
@ -6,6 +6,8 @@ final class SwiftVersionTests: XCTestCase {
|
||||||
func testDetectSwiftVersion() {
|
func testDetectSwiftVersion() {
|
||||||
#if compiler(>=5.5.0)
|
#if compiler(>=5.5.0)
|
||||||
let version = "5.5.0"
|
let version = "5.5.0"
|
||||||
|
#elseif compiler(>=5.4.2)
|
||||||
|
let version = "5.4.2"
|
||||||
#elseif compiler(>=5.4.1)
|
#elseif compiler(>=5.4.1)
|
||||||
let version = "5.4.1"
|
let version = "5.4.1"
|
||||||
#elseif compiler(>=5.4.0)
|
#elseif compiler(>=5.4.0)
|
||||||
|
|
|
@ -8,8 +8,8 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
maxParallel: 10
|
maxParallel: 10
|
||||||
matrix:
|
matrix:
|
||||||
swift53:
|
swift54:
|
||||||
containerImage: swift:5.3
|
containerImage: swift:5.4
|
||||||
container: $[ variables['containerImage'] ]
|
container: $[ variables['containerImage'] ]
|
||||||
steps:
|
steps:
|
||||||
- script: swift test --parallel
|
- script: swift test --parallel
|
||||||
|
@ -17,14 +17,12 @@ jobs:
|
||||||
|
|
||||||
- job: Xcode
|
- job: Xcode
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'macOS-10.15'
|
vmImage: 'macOS-11'
|
||||||
strategy:
|
strategy:
|
||||||
maxParallel: 10
|
maxParallel: 10
|
||||||
matrix:
|
matrix:
|
||||||
xcode12:
|
xcode125:
|
||||||
DEVELOPER_DIR: /Applications/Xcode_12.app
|
DEVELOPER_DIR: /Applications/Xcode_12.5.1.app
|
||||||
xcode124:
|
|
||||||
DEVELOPER_DIR: /Applications/Xcode_12.4.app
|
|
||||||
steps:
|
steps:
|
||||||
- script: |
|
- script: |
|
||||||
sw_vers
|
sw_vers
|
||||||
|
@ -45,14 +43,12 @@ jobs:
|
||||||
|
|
||||||
- job: SwiftPM
|
- job: SwiftPM
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'macOS-10.15'
|
vmImage: 'macOS-11'
|
||||||
strategy:
|
strategy:
|
||||||
maxParallel: 10
|
maxParallel: 10
|
||||||
matrix:
|
matrix:
|
||||||
xcode12:
|
xcode125:
|
||||||
DEVELOPER_DIR: /Applications/Xcode_12.app
|
DEVELOPER_DIR: /Applications/Xcode_12.5.1.app
|
||||||
xcode124:
|
|
||||||
DEVELOPER_DIR: /Applications/Xcode_12.4.app
|
|
||||||
steps:
|
steps:
|
||||||
- script: |
|
- script: |
|
||||||
sw_vers
|
sw_vers
|
||||||
|
@ -65,9 +61,9 @@ jobs:
|
||||||
|
|
||||||
- job: CocoaPods
|
- job: CocoaPods
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'macOS-10.15'
|
vmImage: 'macOS-11'
|
||||||
variables:
|
variables:
|
||||||
DEVELOPER_DIR: /Applications/Xcode_12.4.app
|
DEVELOPER_DIR: /Applications/Xcode_12.5.1.app
|
||||||
steps:
|
steps:
|
||||||
- script: bundle install --path vendor/bundle
|
- script: bundle install --path vendor/bundle
|
||||||
displayName: bundle install
|
displayName: bundle install
|
||||||
|
@ -78,18 +74,18 @@ jobs:
|
||||||
|
|
||||||
- job: Analyze
|
- job: Analyze
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'macOS-10.15'
|
vmImage: 'macOS-11'
|
||||||
variables:
|
variables:
|
||||||
DEVELOPER_DIR: /Applications/Xcode_12.4.app
|
DEVELOPER_DIR: /Applications/Xcode_12.5.1.app
|
||||||
steps:
|
steps:
|
||||||
- script: make analyze
|
- script: make analyze
|
||||||
displayName: Run SwiftLint Analyze
|
displayName: Run SwiftLint Analyze
|
||||||
|
|
||||||
- job: TSan
|
- job: TSan
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'macOS-10.15'
|
vmImage: 'macOS-11'
|
||||||
variables:
|
variables:
|
||||||
DEVELOPER_DIR: /Applications/Xcode_12.4.app
|
DEVELOPER_DIR: /Applications/Xcode_12.5.1.app
|
||||||
steps:
|
steps:
|
||||||
- script: swift run --sanitize=thread swiftlint lint --lenient
|
- script: swift run --sanitize=thread swiftlint lint --lenient
|
||||||
displayName: Pre-cache SwiftLint Run
|
displayName: Pre-cache SwiftLint Run
|
||||||
|
@ -100,9 +96,9 @@ jobs:
|
||||||
|
|
||||||
- job: jazzy
|
- job: jazzy
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'macOS-10.15'
|
vmImage: 'macOS-11'
|
||||||
variables:
|
variables:
|
||||||
DEVELOPER_DIR: /Applications/Xcode_12.4.app
|
DEVELOPER_DIR: /Applications/Xcode_12.5.1.app
|
||||||
steps:
|
steps:
|
||||||
- script: swift run swiftlint generate-docs
|
- script: swift run swiftlint generate-docs
|
||||||
displayName: Run swiftlint generate-docs
|
displayName: Run swiftlint generate-docs
|
||||||
|
|
Loading…
Reference in New Issue