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:
JP Simard 2021-09-10 11:32:02 -04:00 committed by GitHub
parent f9be1e1ac3
commit 888619912f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 27 additions and 28 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -45,7 +45,7 @@ $ mint install realm/SwiftLint
### 编译源代码: ### 编译源代码:
你也可以通过 Clone SwiftLint 的 Git 仓库到本地然后执行 `make install` (Xcode 11.4+) 编译源代码的方式来安装。 你也可以通过 Clone SwiftLint 的 Git 仓库到本地然后执行 `make install` (Xcode 12.5+) 编译源代码的方式来安装。
## 用法 ## 用法

View File

@ -44,7 +44,7 @@ $ mint install realm/SwiftLint
### 소스를 직접 컴파일하는 경우: ### 소스를 직접 컴파일하는 경우:
본 프로젝트를 클론해서 빌드할 수도 있습니다. `make install` 명령을 사용합니다. (Xcode 11.4 이후 버전) 본 프로젝트를 클론해서 빌드할 수도 있습니다. `make install` 명령을 사용합니다. (Xcode 12.5 이후 버전)
## 사용 방법 ## 사용 방법

View File

@ -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)

View File

@ -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)

View File

@ -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