Skip to content

Commit e67f5ce

Browse files
committed
Implement integration testing
1 parent 2e20815 commit e67f5ce

File tree

53 files changed

+2905
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+2905
-1
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @GetStream/ios-developers
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name: 'Ruby Cache'
2+
description: 'Cache Ruby dependencies'
3+
runs:
4+
using: "composite"
5+
steps:
6+
- uses: ruby/setup-ruby@v1
7+
with:
8+
ruby-version: 3.1
9+
bundler-cache: true

.github/workflows/test.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Test
2+
3+
on:
4+
schedule:
5+
# Runs "At 04:00 every night"
6+
- cron: '0 4 * * *'
7+
8+
pull_request:
9+
10+
workflow_dispatch:
11+
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: true
15+
16+
jobs:
17+
integration:
18+
name: Integration
19+
strategy:
20+
matrix:
21+
include:
22+
- project: 'TestFrameworks'
23+
- project: 'TestPods'
24+
- project: 'TestXCFrameworks'
25+
- project: 'TestXCPods'
26+
fail-fast: false
27+
runs-on: macos-14
28+
env:
29+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30+
steps:
31+
- uses: actions/[email protected]
32+
- uses: ./.github/actions/ruby-cache
33+
- name: Test Integration of Stream ${{ matrix.project }}
34+
run: bundle exec fastlane test project:"${{ matrix.project }}"
35+
timeout-minutes: 30
36+
- uses: 8398a7/action-slack@v3
37+
with:
38+
status: ${{ job.status }}
39+
text: "You shall not pass!"
40+
job_name: "${{ github.workflow }}: ${{ github.job }}"
41+
fields: message,commit,author,action,workflow,job,took
42+
env:
43+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
44+
MATRIX_CONTEXT: ${{ toJson(matrix) }}
45+
if: failure()

.gitignore

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# OS X
2+
.DS_Store
3+
4+
# Environment Variables
5+
.env
6+
7+
# Xcode
8+
#
9+
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
10+
Package.resolved
11+
TestFrameworks.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
12+
TestXCFrameworks.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
13+
TestPods.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
14+
TestXCPods.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
15+
16+
## Build generated
17+
build/
18+
DerivedData/
19+
20+
## Various settings
21+
*.pbxuser
22+
!default.pbxuser
23+
*.mode1v3
24+
!default.mode1v3
25+
*.mode2v3
26+
!default.mode2v3
27+
*.perspectivev3
28+
!default.perspectivev3
29+
xcuserdata/
30+
31+
## Other
32+
*.moved-aside
33+
*.xccheckout
34+
*.xcscmblueprint
35+
36+
## Obj-C/Swift specific
37+
*.hmap
38+
*.ipa
39+
*.dSYM.zip
40+
*.dSYM
41+
42+
## Playgrounds
43+
timeline.xctimeline
44+
playground.xcworkspace
45+
46+
# Swift Package Manager
47+
#
48+
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
49+
# Packages/
50+
# Package.pins
51+
.build/
52+
53+
# CocoaPods
54+
#
55+
# We recommend against adding the Pods directory to your .gitignore. However
56+
# you should judge for yourself, the pros and cons are mentioned at:
57+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
58+
Pods/
59+
Podfile.lock
60+
61+
# Carthage
62+
#
63+
# Add this line if you want to avoid checking in source code from Carthage dependencies.
64+
Carthage/
65+
!Sample/Carthage/
66+
67+
# fastlane
68+
#
69+
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
70+
# screenshots whenever they are needed.
71+
# For more information about the recommended setup visit:
72+
# https://docs.fastlane.tools/best-practices/source-control/#source-control
73+
74+
!fastlane/.env
75+
fastlane/fastlane.log
76+
fastlane/report.xml
77+
fastlane/Preview.html
78+
fastlane/screenshots
79+
fastlane/test_output
80+
fastlane/allurectl
81+
fastlane/xcresults
82+
fastlane/recordings
83+
fastlane/performance
84+
StreamChatCore.framework.coverage.txt
85+
StreamChatCoreTests.xctest.coverage.txt
86+
vendor/bundle/
87+
.bundle/
88+
.swiftpm
89+
Example/Carthage/.env
90+
Example/Carthage/fastlane/report.xml
91+
Sample/Cocoapods/Podfile.lock
92+
docusaurus/.env
93+
reports/
94+
.scannerwork/
95+
push_payload.json
96+
sinatra_log.txt
97+
derived_data/
98+
spm_cache/
99+
.buildcache
100+
buildcache
101+
App Thinning Size Report.txt
102+
app-thinning.plist
103+
*.dmg
104+
105+
# gcloud
106+
google-cloud-sdk
107+
gcloud.tar.gz
108+
gcloud-service-account-key.json
109+
110+
# Ignore Products folder
111+
Products/
112+
113+
# Ignore Dependencies folder
114+
Dependencies/

Gemfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# frozen_string_literal: true
2+
3+
source 'https://rubygems.org'
4+
5+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6+
7+
gem 'cocoapods'
8+
gem 'fastlane'

0 commit comments

Comments
 (0)