Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependencies/toolchain #286

Merged
merged 76 commits into from
Jan 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
4504b73
Use ruby 3.1.3
jjochen Nov 6, 2023
364db5f
remove some gems and update the rest
jjochen Nov 6, 2023
226f89d
use iOS 13 as deployment target
jjochen Nov 6, 2023
36af398
Update Xcode settings
jjochen Nov 6, 2023
8f09f03
disable user script sandboxing
jjochen Nov 6, 2023
6eac73b
update cocoapods
jjochen Nov 6, 2023
5e21e53
show alerts with extension instead of helper class
jjochen Nov 6, 2023
e109cb1
Resolve syntax issues in tests
jjochen Nov 6, 2023
a3647fd
replace in iOS 13 deprecated keyWindow
jjochen Nov 7, 2023
b079532
update deployment target in podspec
jjochen Nov 7, 2023
fff2776
save storyboards with Xcode 15
jjochen Nov 7, 2023
38b3973
define main example color in assets
jjochen Nov 7, 2023
7cc924c
disable controller based status bar appearance
jjochen Nov 8, 2023
3ebc22a
refactor navigation bar appearance configuration
jjochen Nov 8, 2023
c8f2b70
fix navigation bar appearance
jjochen Nov 8, 2023
6220abb
remove unused code
jjochen Nov 8, 2023
97be927
update formatting
jjochen Nov 8, 2023
c8f112f
update bundler
jjochen Nov 8, 2023
c3b3aa2
fix linter issues, adjust formatting accordingly
jjochen Nov 8, 2023
d6636e8
remove obsolete UITests reference from example scheme
jjochen Nov 8, 2023
6448b73
update simulator used for testing
jjochen Nov 8, 2023
7f7ef88
update project hash in example podfile lock
jjochen Nov 8, 2023
a4e3e55
resolve some linter issues
jjochen Nov 8, 2023
9529ac7
remove obsolete code
jjochen Nov 8, 2023
7c7d795
add iPhone 15 Pro Max to CircleCI tests
jjochen Nov 10, 2023
4cc985b
Update circle ci config
jjochen Nov 10, 2023
1487e70
use macos orb to select ruby version
jjochen Nov 10, 2023
d2b2c3d
use correct ruby version on circle ci
jjochen Nov 10, 2023
fa4fd1e
use m1 mac on circleci
jjochen Nov 10, 2023
deafd1f
skip change-ruby on circle ci
jjochen Nov 10, 2023
3ed50ff
m1 not available for free plan on circle ci
jjochen Nov 10, 2023
658d71a
use ruby 3.1.4
jjochen Nov 10, 2023
e8c240b
cleanup circle ci config
jjochen Nov 10, 2023
cc6bee5
reinstall xcode-install
jjochen Nov 10, 2023
1480381
remove cocoapods specs mirror
jjochen Nov 10, 2023
da14b56
cleanup circle ci config
jjochen Nov 10, 2023
598b736
replace deprecated instruments tool
jjochen Nov 10, 2023
d8b2e41
skip install/start simulator on circle ci
jjochen Nov 10, 2023
6b3bedf
install homebrew packages on circle ci
jjochen Nov 10, 2023
75d2223
use iOS 17.0.1 runtime on circle ci
jjochen Nov 10, 2023
fab2ef8
update ruby gems
jjochen Nov 14, 2023
5ee28b5
skip simulator install on circleci
jjochen Nov 14, 2023
86e53ac
switch to iOS 15.1 on circle ci
jjochen Jan 3, 2024
01b3f2a
fix circle ci config
jjochen Jan 3, 2024
8d60ec6
reintegrate cocoapods
jjochen Jan 4, 2024
700dd16
update ruby gems
jjochen Jan 4, 2024
88ff8c1
test on ios 17.2 by default
jjochen Jan 4, 2024
86531fd
import XCTest in testfiles
jjochen Jan 4, 2024
d8b6ba2
regenerate all existing reference images
jjochen Jan 4, 2024
6d957d1
add reference images for iPhone 15 Pro Max
jjochen Jan 4, 2024
93c3fde
run ci tests on multiple xcode versions
jjochen Jan 4, 2024
369e663
run default tests on iphone 15 pro max
jjochen Jan 4, 2024
47dddb1
use ruby 3.1.4 on circle ci
jjochen Jan 4, 2024
11884c4
install ruby on circle ci without the ruby orb
jjochen Jan 4, 2024
7946076
use macos orb to switch ruby on circle ci
jjochen Jan 4, 2024
5200489
only use macos versions with ruby 3.1.4
jjochen Jan 4, 2024
0ecd54c
rename step in circleci config
jjochen Jan 4, 2024
82b2211
use UIColor.named instead of UIColor.resource
jjochen Jan 4, 2024
af1ebc1
test on iphone se instead of iphone 7
jjochen Jan 4, 2024
72feab8
switch to standard snapshot syntax
jjochen Jan 4, 2024
2e320d9
add reference image for iphone se
jjochen Jan 4, 2024
759401c
set pixel tolerance for some snapshot tests
jjochen Jan 4, 2024
63acd67
unify pixel tolerance
jjochen Jan 4, 2024
0b5787f
fix circleci setup
jjochen Jan 4, 2024
9a8c5a4
add screenshots for older xcode versions
jjochen Jan 4, 2024
9fb2e58
store snapshot test artifacts
jjochen Jan 5, 2024
bacf1ad
switch to CDN for cocoapods
jjochen Jan 5, 2024
04cd955
copy snapshot artifacts in rake file
jjochen Jan 5, 2024
33e292d
only copy snapshots when tests fail
jjochen Jan 5, 2024
0708d7e
fix iPhone 14 reference image
jjochen Jan 5, 2024
c423ac5
remove snapshot artifact storing
jjochen Jan 5, 2024
d5ef56c
Update README
jjochen Jan 5, 2024
db5904e
update codecove on newest simulator
jjochen Jan 5, 2024
31e1536
cleanup circleci config
jjochen Jan 5, 2024
fd8dd84
Use us english throughout the app
jjochen Jan 5, 2024
f036024
fix example app color
jjochen Jan 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
169 changes: 70 additions & 99 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
version: 2.1
orbs:
macos: circleci/macos@2

executors:

simulator:
default:
parameters:
xcode:
type: string
default: '11.3.1'
default: '15.1.0'
os:
type: string
default: '13.3'
default: '17.2'
device:
type: string
default: iPhone 11 Pro Max
default: iPhone 15 Pro Max
macos:
xcode: << parameters.xcode >>
shell: /bin/bash --login -eo pipefail
environment:
SIMULATOR_OS: << parameters.os >>
DESTINATION: platform=iOS Simulator,OS=<< parameters.os >>,name=<< parameters.device >>
SIMULATOR_DEVICE: << parameters.device >>
DESTINATION: platform=iOS Simulator,name=<< parameters.device >>,OS=<< parameters.os >>
SIMULATOR: << parameters.device >> (<< parameters.os >>) [

default: simulator
HOMEBREW_NO_AUTO_UPDATE: 1


commands:
Expand Down Expand Up @@ -52,12 +54,18 @@ commands:

# System steps

change-ruby:
description: Select the correct version of ruby
setup-homebrew:
description: Bundle homebrew packages
steps:
- run:
name: Set Ruby Version
command: echo 'chruby ruby-2.6' >> ~/.bash_profile
name: Run brew bundle
command: brew bundle

switch-ruby:
description: Switch to ruby 3.1.4
steps:
- macos/switch-ruby:
version: "3.1.4"

update-bundler:
description: Update bundler to newest version
Expand Down Expand Up @@ -92,29 +100,20 @@ commands:
paths:
- vendor/bundle

install-simulator:
description: Install simulator runtime
steps:
- run:
name: List simulators
command: bundle exec xcversion simulators
- run:
name: Install simulator
command: bundle exec xcversion simulators --install="iOS $SIMULATOR_OS Simulator" --no-progress || true

start-simulator:
description: Start simulator
steps:
- run:
name: Start simulator
command: xcrun instruments -w "$SIMULATOR" || true

fetch-cocoapods-specs:
description: Fetch CocoaPods repository from S3
steps:
- run:
name: Fetch CocoaPods Specs
command: curl https://cocoapods-specs.circleci.com/fetch-cocoapods-repo-from-s3.sh | bash -s cf
# install-simulator:
# description: Install simulator runtime
# steps:
# - run:
# name: Install simulator
# command: xcodes runtimes install "iOS $SIMULATOR_OS"

# start-simulator:
# description: Start simulator
# steps:
# - macos/preboot-simulator:
# version: {{ $SIMULATOR_OS }}
# platform: "iOS"
# device: {{ $SIMULATOR_DEVICE }}

restore-pods-cache:
description: Restore pods directory from cache
Expand Down Expand Up @@ -154,7 +153,7 @@ commands:
setup-gems:
description: Update bundler and install gems
steps:
- change-ruby
- switch-ruby
- update-bundler
- restore-gem-cache
- bundle-install
Expand All @@ -163,15 +162,11 @@ commands:
setup-cocoapods:
description: Fetch specs and install cocoapods
steps:
- fetch-cocoapods-specs
- restore-pods-cache
- install-cocoapods
- save-pods-cache


# Rake tasks

run-tests:
run-tests-task:
description: Run tests on sepcific device
steps:
- run-rake-task:
Expand All @@ -184,19 +179,19 @@ commands:
name: Update Codecov
command: bash <(curl -s https://codecov.io/bash)

lint-podspec:
run-lint-podspec-task:
description: Lint Podspec
steps:
- run-rake-task:
task: lint_podspec

generate-documentation:
run-generate-documentation-task:
description: Build Documentation
steps:
- run-rake-task:
task: generate_documentation

generate-changelog:
run-generate-changelog-task:
description: Generate Changelog
steps:
- run-rake-task:
Expand Down Expand Up @@ -241,16 +236,13 @@ commands:
- run-rake-task:
task: close_github_milestone

push-podspec:
run-push-podspec-task:
description: Push Podspec to trunk
steps:
- run-rake-task:
task: push_podspec


# Tests

swiftlint:
run-swiftlint:
description: Run Swiftlint
steps:
- run:
Expand Down Expand Up @@ -292,93 +284,75 @@ aliases:

jobs:

build-and-test-ios13-iphone11promax:
build-and-test-ios17-iphone15promax:
executor:
name: simulator
xcode: '11.3.1'
os: '13.3'
device: iPhone 11 Pro Max
name: default
xcode: '15.1.0'
os: '17.2'
device: iPhone 15 Pro Max
steps:
- checkout
- setup-homebrew
- setup-gems
- install-simulator
- start-simulator
- setup-cocoapods
- run-tests
- store-test-reports

build-and-test-ios12-iphonexsmax:
executor:
name: simulator
xcode: '10.3.0'
os: '12.4'
device: iPhone Xs Max
steps:
- checkout
- setup-gems
- install-simulator
- start-simulator
- setup-cocoapods
- run-tests
- run-tests-task
- update-codecov
- store-test-reports

build-and-test-ios11-iphonex:
build-and-test-ios16-iphone14:
executor:
name: simulator
os: '11.4'
device: iPhone X
name: default
xcode: '14.3.1'
os: '16.4'
device: iPhone 14
steps:
- checkout
- setup-gems
- install-simulator
- start-simulator
- setup-cocoapods
- run-tests
- run-tests-task
- store-test-reports

build-and-test-ios10-iphone7:
build-and-test-ios15-iphonese:
executor:
name: simulator
os: '10.3.1'
device: iPhone 7
name: default
xcode: '14.3.1'
os: '15.5'
device: iPhone SE (3rd generation)
steps:
- checkout
- setup-gems
- install-simulator
- start-simulator
- setup-cocoapods
- run-tests
- run-tests-task
- store-test-reports

lint-podspec:
executor: default
steps:
- checkout
- setup-gems
- lint-podspec
- run-lint-podspec-task

build-documentation:
executor: default
steps:
- checkout
- setup-gems
- setup-cocoapods
- generate-documentation
- run-generate-documentation-task

generate-changelog:
executor: default
steps:
- checkout
- setup-gems
- generate-changelog
- run-generate-changelog-task

swiftlint:
docker:
- image: dantoml/swiftlint:latest
steps:
- checkout
- swiftlint
- run-swiftlint
- store-lint-reports

create-major-release-pull-request:
Expand Down Expand Up @@ -425,30 +399,27 @@ jobs:
- checkout
- setup-gems
- setup-cocoapods
- push-podspec
- run-push-podspec-task


workflows:
version: 2.1

run-tests:
jobs:
- lint-podspec
- swiftlint
- build-and-test-ios13-iphone11promax
- build-and-test-ios12-iphonexsmax
- build-and-test-ios11-iphonex
- build-and-test-ios10-iphone7
- build-and-test-ios17-iphone15promax
- build-and-test-ios16-iphone14
- build-and-test-ios15-iphonese
- build-documentation
- generate-changelog
- create-version-tag:
requires:
- lint-podspec
- swiftlint
- build-and-test-ios13-iphone11promax
- build-and-test-ios12-iphonexsmax
- build-and-test-ios11-iphonex
- build-and-test-ios10-iphone7
- build-and-test-ios17-iphone15promax
- build-and-test-ios16-iphone14
- build-and-test-ios15-iphonese
- build-documentation
- generate-changelog
filters:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
# - AS PER https://guides.cocoapods.org/using/using-cocoapods.html NEVER IGONRE THE LOCK FILE
Pods/

### Homebrew ###
# Homebrew lock file
Brewfile.lock.json

### fastlane ###
# fastlane - A streamlined workflow tool for Cocoa deployment
#
Expand Down
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ruby-2.6
ruby-3.1.4
17 changes: 14 additions & 3 deletions .swiftformat
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# file options

--exclude Example/Pods

# format options

--allman false
--binarygrouping none
--closingparen balanced
Expand All @@ -7,7 +13,6 @@
--disable redundantFileprivate, redundantObjc
--elseposition same-line
--empty void
--exclude Example/Pods, Package.swift
--exponentcase lowercase
--exponentgrouping disabled
--fractiongrouping disabled
Expand All @@ -27,7 +32,13 @@
--selfrequired
--semicolons inline
--stripunusedargs always
--swiftversion 4.2
--swiftversion 5.0
--trimwhitespace always
--wraparguments after-first
--wraparguments preserve
--wrapcollections preserve


# rules

--enable isEmpty
--disable wrapMultilineStatementBraces
3 changes: 3 additions & 0 deletions Brewfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
brew 'xcodes'
brew 'xcbeautify'
brew 'aria2'
Loading