Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
99 changes: 48 additions & 51 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
defaults:
- &default-config
parallelism: 1
macos:
xcode: 11.1.0
shell: /bin/bash --login -eo pipefail
environment:
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
BUNDLE_PATH: vendor/bundle
macos:
xcode: "10.2.0"
shell: /bin/bash --login -eo pipefail
- &prepare-storage
run:
name: Create directories for artifacts and reports
Expand Down Expand Up @@ -40,7 +39,7 @@ defaults:

version: 2
jobs:
carthage-build:
lint:
<<: *default-config
steps:
- *prepare-storage
Expand All @@ -49,17 +48,14 @@ jobs:
- *install-gems
- *store-gems
- run:
name: Install Carthage
command: bundle exec rake carthage:install
name: Install SwiftLint
command: bundle exec rake swiftlint:install
- run:
name: Build
command: bundle exec rake carthage:build
- store_test_results:
path: /tmp/circleci-test-results
- *fetch-xcode-logs
name: Lint source code
command: bundle exec rake swiftlint:run
- *store-artifacts

check-deploy:
spm-build:
<<: *default-config
steps:
- *prepare-storage
Expand All @@ -68,14 +64,11 @@ jobs:
- *install-gems
- *store-gems
- run:
name: Download podspec repo
command: curl https://cocoapods-specs.circleci.com/fetch-cocoapods-repo-from-s3.sh | bash -s cf
- run:
name: Lint podspec
command: bundle exec rake pod:lint
name: SPM Build
command: bundle exec rake spm:build
- *store-artifacts

lint:
xcode-ios-build:
<<: *default-config
steps:
- *prepare-storage
Expand All @@ -84,14 +77,17 @@ jobs:
- *install-gems
- *store-gems
- run:
name: Install SwiftLint
command: bundle exec rake swiftlint:install
name: Build iOS Framework
command: bundle exec rake fmk:ios
- run:
name: Lint source code
command: bundle exec rake swiftlint:run
name: Build iOS Demo
command: bundle exec rake demo:ios
- store_test_results:
path: /tmp/circleci-test-results
- *fetch-xcode-logs
- *store-artifacts

spm-build-and-test:
xcode-tvos-build:
<<: *default-config
steps:
- *prepare-storage
Expand All @@ -100,11 +96,17 @@ jobs:
- *install-gems
- *store-gems
- run:
name: Run all tests
command: bundle exec rake spm:test
name: Build tvOS Framework
command: bundle exec rake fmk:tvos
- run:
name: Build tvOS Demo
command: bundle exec rake demo:tvos
- store_test_results:
path: /tmp/circleci-test-results
- *fetch-xcode-logs
- *store-artifacts

xcode-ios-build-and-test:
pod-lint:
<<: *default-config
steps:
- *prepare-storage
Expand All @@ -113,17 +115,11 @@ jobs:
- *install-gems
- *store-gems
- run:
name: Build Framework
command: bundle exec rake fmk:ios
- run:
name: Run Tests
command: bundle exec rake demo:ios
- store_test_results:
path: /tmp/circleci-test-results
- *fetch-xcode-logs
name: Lint podspec
command: bundle exec rake pod:lint
- *store-artifacts

xcode-tvos-build-and-test:
carthage-build:
<<: *default-config
steps:
- *prepare-storage
Expand All @@ -132,35 +128,36 @@ jobs:
- *install-gems
- *store-gems
- run:
name: Build Framework
command: bundle exec rake fmk:tvos
name: Install Carthage
command: bundle exec rake carthage:install
- run:
name: Run Tests
command: bundle exec rake demo:tvos
name: Carthage Build
command: bundle exec rake carthage:build
- store_test_results:
path: /tmp/circleci-test-results
- *fetch-xcode-logs
- *store-artifacts


workflows:
version: 2
lint-buildandtest-checkdeploy:
check_all_builds:
jobs:
- lint
- xcode-ios-build-and-test:
- xcode-ios-build:
requires:
- lint
- xcode-tvos-build-and-test:
- xcode-tvos-build:
requires:
- lint
- carthage-build:
- spm-build:
requires:
- lint
- xcode-ios-build-and-test
- xcode-tvos-build-and-test
- check-deploy:
- carthage-build:
requires:
- lint
- xcode-ios-build-and-test
- xcode-tvos-build-and-test
- xcode-ios-build
- xcode-tvos-build
- pod-lint:
requires:
- spm-build
- xcode-ios-build
- xcode-tvos-build
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

## Unreleased

* Update tools used by the project (Xcode, CocoaPods, CI, Carthage).
Also SPM builds are now tested by CI.
[@AliSoftware](https://github.com/AliSoftware)
[#97](https://github.com/AliSoftware/Reusable/pull/97)

* Update SPM `Package.swift` to mention supported platforms.
[@MortyMerr](https://github.com/MortyMerr)
[#89](https://github.com/AliSoftware/Reusable/pull/89)
Expand Down
4 changes: 2 additions & 2 deletions Example/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ EXTERNAL SOURCES:
:path: "../"

SPEC CHECKSUMS:
Reusable: 182b5f1e878e887a20c1adf21b94830900f3b7f2
Reusable: 8f13830abd1a7a90c0177a0b82066365fdd59485

PODFILE CHECKSUM: 2e4cfd412f90711e15fcfa281c33e3b31f1e90b8

COCOAPODS: 1.6.1
COCOAPODS: 1.8.4
5 changes: 3 additions & 2 deletions Example/Pods/Local Podspecs/Reusable.podspec.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Example/Pods/Manifest.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading