mirror of
https://github.com/Instagram/IGListKit
synced 2026-05-05 22:48:21 +00:00
Update build environment to latest OS versions
Summary: Our CI harness for IGListKit on GitHub recently started to consistently fail at the unit test phase (https://github.com/Instagram/IGListKit/actions/runs/4683650178/jobs/8298963444). After researching it, it looks like GitHub Actions changed some configurations with their older versions of macOS, and our existing build script no longer seems to be working now. The build output seems to imply that Xcode simply hangs when it gets to the testing phase. I decided to take this chance to do a thorough audit of all our build steps and update as many of the dependencies as I could to their latest versions. This has fixed the issue, and hopefully given us a decent amount of future-proofing at the same time. :) Reviewed By: candance Differential Revision: D45002141 fbshipit-source-id: 40b22da4a9282900ff299b5e41f3a8566c4071f0
This commit is contained in:
parent
6f39c3140e
commit
324e853468
2 changed files with 36 additions and 36 deletions
66
.github/workflows/CI.yml
vendored
66
.github/workflows/CI.yml
vendored
|
|
@ -11,17 +11,17 @@ on:
|
|||
jobs:
|
||||
macOS:
|
||||
name: Unit Test macOS
|
||||
runs-on: macos-11
|
||||
runs-on: macos-12
|
||||
env:
|
||||
DEVELOPER_DIR: /Applications/Xcode_13.0.app
|
||||
DEVELOPER_DIR: /Applications/Xcode_14.2.app
|
||||
WORKSPACE_NAME: IGListKit.xcworkspace
|
||||
SCHEME_NAME: IGListKit-macOS
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cache RubyGems
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: vendor/bundle
|
||||
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
||||
|
|
@ -42,20 +42,20 @@ jobs:
|
|||
|
||||
iOS:
|
||||
name: Unit Test iOS
|
||||
runs-on: macos-11
|
||||
runs-on: macos-12
|
||||
env:
|
||||
DEVELOPER_DIR: /Applications/Xcode_13.0.app
|
||||
DEVELOPER_DIR: /Applications/Xcode_14.2.app
|
||||
WORKSPACE_NAME: IGListKit.xcworkspace
|
||||
SCHEME_NAME: IGListKit
|
||||
strategy:
|
||||
matrix:
|
||||
destination: ["name=iPhone 12 Pro"]
|
||||
destination: ["platform=iOS Simulator,name=iPhone 13 Pro"]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cache RubyGems
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: vendor/bundle
|
||||
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
||||
|
|
@ -83,15 +83,15 @@ jobs:
|
|||
|
||||
Cocoapods:
|
||||
name: Cocoapods Lint
|
||||
runs-on: macos-11
|
||||
runs-on: macos-12
|
||||
env:
|
||||
DEVELOPER_DIR: /Applications/Xcode_13.0.app
|
||||
DEVELOPER_DIR: /Applications/Xcode_13.4.1.app
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cache RubyGems
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: vendor/bundle
|
||||
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
||||
|
|
@ -112,19 +112,19 @@ jobs:
|
|||
|
||||
SPM-layout-generator:
|
||||
name: Verify generate_spm_sources_layout.sh is not broken
|
||||
runs-on: macos-11
|
||||
runs-on: macos-12
|
||||
env:
|
||||
DEVELOPER_DIR: /Applications/Xcode_13.0.app
|
||||
DEVELOPER_DIR: /Applications/Xcode_14.2.app
|
||||
WORKSPACE_NAME: IGListKit.xcworkspace
|
||||
PROJECT_NAME: IGListKit.xcodeproj
|
||||
IOS_DESTINATION: "name=iPhone 12 Pro"
|
||||
IOS_DESTINATION: "platform=iOS Simulator,name=iPhone 13 Pro"
|
||||
SPM_IG_LIST_DIFF_KIT_PUBLIC_HEADERS_PATH: "spm/Sources/IGListDiffKit/include"
|
||||
SPM_IG_LIST_DIFF_KIT_SOURCES_PATH: "spm/Sources/IGListDiffKit"
|
||||
SPM_IG_LIST_KIT_PUBLIC_HEADERS_PATH: "spm/Sources/IGListKit/include"
|
||||
SPM_IG_LIST_KIT_SOURCES_PATH: "spm/Sources/IGListKit"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Manually clean SPM Sources folder
|
||||
run: |
|
||||
|
|
@ -146,12 +146,12 @@ jobs:
|
|||
|
||||
SPM-build-from-Package:
|
||||
name: Verify SPM build by invoking `xcodebuild` on Package.swift
|
||||
runs-on: macos-11
|
||||
runs-on: macos-12
|
||||
env:
|
||||
DEVELOPER_DIR: /Applications/Xcode_13.0.app
|
||||
DEVELOPER_DIR: /Applications/Xcode_14.2.app
|
||||
WORKSPACE_NAME: IGListKit.xcworkspace
|
||||
PROJECT_NAME: IGListKit.xcodeproj
|
||||
IOS_DESTINATION: "name=iPhone 12 Pro"
|
||||
IOS_DESTINATION: "platform=iOS Simulator,name=iPhone 13 Pro"
|
||||
strategy:
|
||||
matrix:
|
||||
schemeName: ["IGListDiffKit",
|
||||
|
|
@ -159,7 +159,7 @@ jobs:
|
|||
"IGListSwiftKit"]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Clean project's ${{ env.PROJECT_NAME }} and ${{ env.WORKSPACE_NAME }}
|
||||
run: |
|
||||
|
|
@ -171,12 +171,12 @@ jobs:
|
|||
|
||||
Carthage-XCFramework:
|
||||
name: Verify Carthage build XCFramework
|
||||
runs-on: macos-11
|
||||
runs-on: macos-12
|
||||
env:
|
||||
DEVELOPER_DIR: /Applications/Xcode_13.0.app
|
||||
DEVELOPER_DIR: /Applications/Xcode_14.2.app
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Carthage build framework
|
||||
run: carthage build --no-skip-current --use-xcframeworks
|
||||
|
|
@ -188,32 +188,32 @@ jobs:
|
|||
DEVELOPER_DIR: /Applications/Xcode_11.7.app
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Carthage build framework
|
||||
run: carthage build --no-skip-current
|
||||
|
||||
Build-Examples:
|
||||
name: Build Examples and UI tests.
|
||||
runs-on: macos-11
|
||||
runs-on: macos-12
|
||||
env:
|
||||
DEVELOPER_DIR: /Applications/Xcode_13.0.app
|
||||
DEVELOPER_DIR: /Applications/Xcode_14.2.app
|
||||
IOS_EXAMPLE_XCODEPROJ: Examples/Examples-iOS/IGListKitExamples.xcodeproj
|
||||
TVOS_EXAMPLE_XCODEPROJ: Examples/Examples-tvOS/IGListKitExamples.xcodeproj
|
||||
MACOS_EXAMPLE_XCODEPROJ: Examples/Examples-macOS/IGListKitExamples.xcodeproj
|
||||
EXAMPLE_SCHEME: IGListKitExamples
|
||||
strategy:
|
||||
matrix:
|
||||
iosDestination: ["name=iPhone 12 Pro"]
|
||||
tvOSDestination: ["name=Apple TV 4K"]
|
||||
iosDestination: ["platform=iOS Simulator,name=iPhone 13 Pro"]
|
||||
tvOSDestination: ["platform=tvOS Simulator,name=Apple TV 4K (3rd generation)"]
|
||||
macOSDestination: ["platform=macOS"]
|
||||
macCatalystDestination: ["platform=macOS,variant=Mac Catalyst"]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cache RubyGems
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: vendor/bundle
|
||||
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
||||
|
|
@ -256,12 +256,12 @@ jobs:
|
|||
DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Cache RubyGems
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: vendor/bundle
|
||||
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
||||
|
|
|
|||
6
Gemfile
6
Gemfile
|
|
@ -1,7 +1,7 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
gem 'cocoapods', '~> 1.8.0'
|
||||
gem 'cocoapods', '~> 1.12.0'
|
||||
gem 'danger', '~> 9.2.0'
|
||||
gem 'danger-swiftlint', git: 'https://github.com/ashfurrow/danger-ruby-swiftlint.git', branch: 'master'
|
||||
gem 'danger-swiftlint', '~> 0.32.0'
|
||||
gem 'slather', '~> 2.7.4'
|
||||
gem 'xcpretty', '~> 0.2.8'
|
||||
gem 'xcpretty', '~> 0.3.0'
|
||||
|
|
|
|||
Loading…
Reference in a new issue