Skip to content

Commit

Permalink
Implement integration testing
Browse files Browse the repository at this point in the history
  • Loading branch information
testableapple committed Jul 22, 2024
1 parent 2e20815 commit e67f5ce
Show file tree
Hide file tree
Showing 53 changed files with 2,905 additions and 1 deletion.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @GetStream/ios-developers
9 changes: 9 additions & 0 deletions .github/actions/ruby-cache/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: 'Ruby Cache'
description: 'Cache Ruby dependencies'
runs:
using: "composite"
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1
bundler-cache: true
45 changes: 45 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Test

on:
schedule:
# Runs "At 04:00 every night"
- cron: '0 4 * * *'

pull_request:

workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
integration:
name: Integration
strategy:
matrix:
include:
- project: 'TestFrameworks'
- project: 'TestPods'
- project: 'TestXCFrameworks'
- project: 'TestXCPods'
fail-fast: false
runs-on: macos-14
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/[email protected]
- uses: ./.github/actions/ruby-cache
- name: Test Integration of Stream ${{ matrix.project }}
run: bundle exec fastlane test project:"${{ matrix.project }}"
timeout-minutes: 30
- uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
text: "You shall not pass!"
job_name: "${{ github.workflow }}: ${{ github.job }}"
fields: message,commit,author,action,workflow,job,took
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
MATRIX_CONTEXT: ${{ toJson(matrix) }}
if: failure()
114 changes: 114 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# OS X
.DS_Store

# Environment Variables
.env

# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
Package.resolved
TestFrameworks.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
TestXCFrameworks.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
TestPods.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
TestXCPods.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

## Build generated
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint

## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
.build/

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
Pods/
Podfile.lock

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
Carthage/
!Sample/Carthage/

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control

!fastlane/.env
fastlane/fastlane.log
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/allurectl
fastlane/xcresults
fastlane/recordings
fastlane/performance
StreamChatCore.framework.coverage.txt
StreamChatCoreTests.xctest.coverage.txt
vendor/bundle/
.bundle/
.swiftpm
Example/Carthage/.env
Example/Carthage/fastlane/report.xml
Sample/Cocoapods/Podfile.lock
docusaurus/.env
reports/
.scannerwork/
push_payload.json
sinatra_log.txt
derived_data/
spm_cache/
.buildcache
buildcache
App Thinning Size Report.txt
app-thinning.plist
*.dmg

# gcloud
google-cloud-sdk
gcloud.tar.gz
gcloud-service-account-key.json

# Ignore Products folder
Products/

# Ignore Dependencies folder
Dependencies/
8 changes: 8 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# frozen_string_literal: true

source 'https://rubygems.org'

git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }

gem 'cocoapods'
gem 'fastlane'
Loading

0 comments on commit e67f5ce

Please sign in to comment.