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

Apply the new changes according to the underlying kmp-chat update #8

Merged
merged 92 commits into from
Nov 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
5570131
MessageDraft (WIP)
jguz-pubnub Oct 21, 2024
b72bd1e
MessageDraft (tests)
jguz-pubnub Oct 22, 2024
79721cb
More tests, doc
jguz-pubnub Oct 23, 2024
fdb1664
GitHub workflows
jguz-pubnub Oct 1, 2024
4fe715a
TARGETED_DEVICE_FAMILY
jguz-pubnub Oct 1, 2024
2eb0d9d
Removed unused key from test plist, fastlane README.md
jguz-pubnub Oct 1, 2024
76944b8
Enabling one test
jguz-pubnub Oct 1, 2024
aebfe95
run-validations.yml
jguz-pubnub Oct 1, 2024
5874c45
Gemfile.lock
jguz-pubnub Oct 1, 2024
03fa42b
pubnub.yml
jguz-pubnub Oct 1, 2024
562c808
pubnub.yml
jguz-pubnub Oct 1, 2024
e1572a9
fastlane scan clear
jguz-pubnub Oct 1, 2024
8eb8940
clear -> clean
jguz-pubnub Oct 1, 2024
8595bf5
Next test
jguz-pubnub Oct 2, 2024
ebafd46
Another test
jguz-pubnub Oct 2, 2024
37596c3
Fix
jguz-pubnub Oct 2, 2024
0c88e67
Another...
jguz-pubnub Oct 2, 2024
4383ad4
Next
jguz-pubnub Oct 2, 2024
eb19176
Attempt
jguz-pubnub Oct 2, 2024
fdc80b1
Checkouts
jguz-pubnub Oct 2, 2024
14ed500
Cleanup
jguz-pubnub Oct 2, 2024
9ae6e9a
ls
jguz-pubnub Oct 2, 2024
d1120d0
Removing listing SSH directory
jguz-pubnub Oct 2, 2024
6f07a6b
Revert
jguz-pubnub Oct 2, 2024
3c22ea1
Revert
jguz-pubnub Oct 2, 2024
01bdbb4
Revert 2
jguz-pubnub Oct 2, 2024
052fc28
Leftovers
jguz-pubnub Oct 2, 2024
4f7fea5
TST
jguz-pubnub Oct 2, 2024
c297ea6
Unsets
jguz-pubnub Oct 2, 2024
2f1d05d
TST
jguz-pubnub Oct 2, 2024
79acd9d
Leftovers WIP
jguz-pubnub Oct 2, 2024
a861eae
WIP
jguz-pubnub Oct 2, 2024
b9d5421
Next att
jguz-pubnub Oct 2, 2024
8704d2d
FIX
jguz-pubnub Oct 2, 2024
e57362f
fix
jguz-pubnub Oct 2, 2024
655a09c
Sed
jguz-pubnub Oct 2, 2024
2cc4427
removal
jguz-pubnub Oct 2, 2024
d1a2974
sed
jguz-pubnub Oct 2, 2024
0889706
last removal
jguz-pubnub Oct 2, 2024
a5e3f50
Test
jguz-pubnub Oct 3, 2024
24202a2
.pubnub.yml
jguz-pubnub Oct 14, 2024
759c4af
.pubnub.yml (18.0.1)
jguz-pubnub Oct 15, 2024
b7bfe7b
Workflow files
jguz-pubnub Oct 23, 2024
fd25d73
.pubnub.yml
jguz-pubnub Oct 23, 2024
75cbe75
Troubleshooting
jguz-pubnub Oct 23, 2024
5d2cd95
Fastlane
jguz-pubnub Oct 23, 2024
866ac86
Change job name for running integration tests
jguz-pubnub Oct 24, 2024
0c8d3db
Merge branch 'master' into feat/automation
jguz-pubnub Oct 25, 2024
982ae09
.pubnub.yml with 0.8.2
jguz-pubnub Oct 25, 2024
b2d1602
WIP
jguz-pubnub Oct 28, 2024
6f08de1
Recent changes from master (kmp-chat)
jguz-pubnub Oct 28, 2024
64cb27c
Some renaming
jguz-pubnub Oct 28, 2024
54961d5
Recent changes from kmp-chat
jguz-pubnub Oct 28, 2024
e9cef07
Merge branch 'feat/automation' into feat/message-draft
jguz-pubnub Oct 28, 2024
7a7462f
Integration tests
jguz-pubnub Oct 28, 2024
5128fc4
Test with next kmp-chat version
jguz-pubnub Oct 29, 2024
520d11c
Tests/PubNubSwiftChatSDKTests.plist
jguz-pubnub Oct 29, 2024
6fbbb02
Fixes for tests
jguz-pubnub Oct 29, 2024
8861e1d
Restore Package.resolved
jguz-pubnub Oct 29, 2024
9999513
project.pbxproj
jguz-pubnub Oct 29, 2024
2aed19d
swift package resolve
jguz-pubnub Oct 29, 2024
1bc903a
Test
jguz-pubnub Oct 29, 2024
efd7658
Disable caching SPM
jguz-pubnub Oct 29, 2024
9501174
TST
jguz-pubnub Oct 29, 2024
1fd651c
Restore to default
jguz-pubnub Oct 29, 2024
f00716b
Replace scan with run_tests
jguz-pubnub Oct 29, 2024
a31ba52
Package.resolved
jguz-pubnub Oct 29, 2024
822d321
SPM
jguz-pubnub Oct 29, 2024
c0536fe
Update
jguz-pubnub Oct 29, 2024
5c1a976
Invalidate cache
jguz-pubnub Oct 29, 2024
79c3ecd
Dummy tag
jguz-pubnub Oct 29, 2024
b454295
Another dummy tag
jguz-pubnub Oct 29, 2024
3298d90
Comment out flaky tests
jguz-pubnub Oct 29, 2024
d6f44c8
Clear SPM cache
jguz-pubnub Oct 29, 2024
fb3fd17
Syntax
jguz-pubnub Oct 29, 2024
354d1cd
Syntax 2
jguz-pubnub Oct 29, 2024
99f42ae
Syntax 3
jguz-pubnub Oct 29, 2024
af7db1d
Fixes for returning suggested mentions (Future)
jguz-pubnub Oct 30, 2024
1d08533
Fixes according to review
jguz-pubnub Oct 30, 2024
8c7454e
Fix integration tests according to recent kmp-chat changes
jguz-pubnub Nov 4, 2024
5e83fc4
Explicit remove Package.resolved in workflow file
jguz-pubnub Nov 4, 2024
945d6dd
xcodebuild -resolvePackageDependencies
jguz-pubnub Nov 4, 2024
92541c1
clean param
jguz-pubnub Nov 4, 2024
d51d356
fetch-depth
jguz-pubnub Nov 4, 2024
7566740
swift package reset
jguz-pubnub Nov 4, 2024
07aed8e
SPM cache
jguz-pubnub Nov 4, 2024
cd5594e
Fixes in MessageDraftIntegrationTests.swift
jguz-pubnub Nov 4, 2024
ac88c32
Update dependencies, minor fixes in .pubnub.yml
jguz-pubnub Nov 6, 2024
5577a4e
Update README.md
jguz-pubnub Nov 6, 2024
30b7b21
Prepare for manual release
jguz-pubnub Nov 6, 2024
66fca27
Update .pubnub.yml
jguz-pubnub Nov 6, 2024
4cdb528
Update pubnub.yml file
jguz-pubnub Nov 6, 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
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* @jguz-pubnub @parfeon @wkal-pubnub @marcin-cebo
README.md @techwritermat @kazydek @jguz-pubnub @parfeon @wkal-pubnub @marcin-cebo
44 changes: 44 additions & 0 deletions .github/workflows/commands-handler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Commands processor

on:
issue_comment:
types: [created]
defaults:
run:
shell: bash

jobs:
process:
name: Process command
if: github.event.issue.pull_request && endsWith(github.repository, '-private') != true
runs-on:
group: organization/Default
steps:
- name: Check referred user
id: user-check
env:
CLEN_BOT: ${{ secrets.CLEN_BOT }}
run: echo "expected-user=${{ startsWith(github.event.comment.body, format('@{0} ', env.CLEN_BOT)) }}" >> $GITHUB_OUTPUT
- name: Regular comment
if: steps.user-check.outputs.expected-user != 'true'
run: echo -e "\033[38;2;19;181;255mThis is regular commit which should be ignored.\033[0m"
- name: Checkout repository
if: steps.user-check.outputs.expected-user == 'true'
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_TOKEN }}
- name: Checkout release actions
if: steps.user-check.outputs.expected-user == 'true'
uses: actions/checkout@v4
with:
repository: pubnub/client-engineering-deployment-tools
ref: v1
token: ${{ secrets.GH_TOKEN }}
path: .github/.release/actions
- name: Process changelog entries
if: steps.user-check.outputs.expected-user == 'true'
uses: ./.github/.release/actions/actions/commands
with:
token: ${{ secrets.GH_TOKEN }}
listener: ${{ secrets.CLEN_BOT }}
jira-api-key: ${{ secrets.JIRA_API_KEY }}
58 changes: 58 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Automated product release

on:
pull_request:
branches: [master]
types: [closed]

jobs:
check-release:
name: Check release required
if: github.event.pull_request.merged && endsWith(github.repository, '-private') != true
runs-on:
group: organization/Default
outputs:
release: ${{ steps.check.outputs.ready }}
steps:
- name: Checkout actions
uses: actions/checkout@v4
with:
repository: pubnub/client-engineering-deployment-tools
ref: v1
token: ${{ secrets.GH_TOKEN }}
path: .github/.release/actions
- id: check
name: Check pre-release completed
uses: ./.github/.release/actions/actions/checks/release
with:
token: ${{ secrets.GH_TOKEN }}
publish:
name: Publish package
needs: check-release
if: needs.check-release.outputs.release == 'true'
runs-on:
group: macos-arm-gh
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: master
token: ${{ secrets.GH_TOKEN }}
- name: Checkout actions
uses: actions/checkout@v4
with:
repository: pubnub/client-engineering-deployment-tools
ref: v1
token: ${{ secrets.GH_TOKEN }}
path: .github/.release/actions
- name: Setup Ruby 3.2.2
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.2
bundler-cache: true
- name: Create Release
uses: ./.github/.release/actions/actions/services/github-release
with:
token: ${{ secrets.GH_TOKEN }}
jira-api-key: ${{ secrets.JIRA_API_KEY }}
last-service: true
12 changes: 12 additions & 0 deletions .github/workflows/release/versions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
".pubnub.yml": [
{ "pattern": "^version: \"(.+)\"$", "cleared": true },
{ "pattern": "\/refs\/tags\/((\\d+\\.?){2,}(-[a-zA-Z]+(.\\d+)?)?)\\.zip", "cleared": true }
],
"PubNubSwiftChatSDK.xcodeproj/project.pbxproj": [
{ "pattern": "MARKETING_VERSION = ([0-9]+\\.[0-9]+\\.[0-9]+(\\.[0-9]+)?);", "cleared": true }
],
"Sources/Miscellaneous/Constants.swift": [
{ "pattern": "pubNubSwiftChatSDKVersion\\:.+\"((\\d+\\.?){2,})\"$", "cleared": true }
]
}
75 changes: 75 additions & 0 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Tests

on:
push:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash

env:
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
LC_ALL: en_US.UTF-8
LC_CTYPE: en_US.UTF-8

jobs:
tests:
name: Integration tests
env:
SDK_PUB_KEY: ${{ secrets.SDK_PUB_KEY }}
SDK_SUB_KEY: ${{ secrets.SDK_SUB_KEY }}
SDK_PAM_SUB_KEY: ${{ secrets.SDK_PAM_SUB_KEY }}
SDK_PAM_PUB_KEY: ${{ secrets.SDK_PAM_PUB_KEY }}
SDK_PAM_SEC_KEY: ${{ secrets.SDK_PAM_SEC_KEY }}
runs-on:
group: macos-arm-gh
strategy:
matrix:
environment: [iOS]
timeout-minutes: 17
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_TOKEN }}
clean: true
fetch-depth: 0
- name: Checkout actions
uses: actions/checkout@v4
with:
repository: pubnub/client-engineering-deployment-tools
ref: v1
token: ${{ secrets.GH_TOKEN }}
path: .github/.release/actions
- name: Setup Ruby 3.2.2
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.2
bundler-cache: true
- name: Clear SPM and DerivedData caches
run: |
rm -rf "$HOME/Library/Caches/org.swift.swiftpm"
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/.swiftpm
- name: Clear build cache
run: rm -rf .build
- name: Pre-load simulators list
if: ${{ matrix.environment != 'macOS' }}
run: xcrun simctl list -j
- name: Run ${{ matrix.environment }} integration tests
run: bundle exec fastlane test --env $(echo ${{ matrix.environment }} | tr '[:upper:]' '[:lower:]')
- name: Cancel workflow runs for commit on error
if: failure()
uses: ./.github/.release/actions/actions/utils/fast-jobs-failure
all-tests:
name: Tests
needs: [tests]
runs-on:
group: organization/Default
steps:
- name: Tests summary
run: echo -e "\033[38;2;95;215;0m\033[1mAll tests successfully passed"
76 changes: 76 additions & 0 deletions .github/workflows/run-validations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Validations

on:
push:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash

env:
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
LC_ALL: en_US.UTF-8

jobs:
pubnub-yml:
name: "Validate .pubnub.yml"
runs-on:
group: organization/Default
steps:
- name: Checkout project
uses: actions/checkout@v4
- name: Checkout validator action
uses: actions/checkout@v4
with:
repository: pubnub/client-engineering-deployment-tools
ref: v1
token: ${{ secrets.GH_TOKEN }}
path: .github/.release/actions
- name: "Run '.pubnub.yml' file validation"
uses: ./.github/.release/actions/actions/validators/pubnub-yml
with:
token: ${{ secrets.GH_TOKEN }}
- name: Cancel workflow runs for commit on error
if: failure()
uses: ./.github/.release/actions/actions/utils/fast-jobs-failure
package-managers-validation:
name: Validate package managers
runs-on:
group: macos-arm-gh
strategy:
matrix:
managers: [Swift Package Manager]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_TOKEN }}
- name: Checkout actions
uses: actions/checkout@v4
with:
repository: pubnub/client-engineering-deployment-tools
ref: v1
token: ${{ secrets.GH_TOKEN }}
path: .github/.release/actions
- name: Setup Ruby 3.2.2
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.2
bundler-cache: true
- name: ${{ matrix.managers }} validation
run: bundle exec fastlane lint_$(echo ${{ matrix.managers }} | tr '[:upper:]' '[:lower:]' | tr ' ' '_')
- name: Cancel workflow runs for commit on error
if: failure()
uses: ./.github/.release/actions/actions/utils/fast-jobs-failure
all-validations:
name: Validations
needs: [pubnub-yml, package-managers-validation]
runs-on:
group: organization/Default
steps:
- name: Validations summary
run: echo -e "\033[38;2;95;215;0m\033[1mAll validations passed"
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,10 @@ playground.xcworkspace
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
Packages/
Package.pins
Package.resolved
PubNubSwiftChatSDK.xcworkspace/xcshareddata/swiftpm
.swiftpm
.build
PubNubSwiftChatSDK.xcworkspace/xcshareddata/swiftpm

# CocoaPods
#
Expand Down
65 changes: 65 additions & 0 deletions .pubnub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
name: swift-chat-sdk
scm: github.com/pubnub/swift-chat-sdk
version: "0.9.0"
schema: 1
changelog:
- date: 2024-11-06
version: 0.9.0
changes:
- type: feature
text: "Add Message Draft feature"
- type: bug
text: "Return nil for hard delete operations"
- type: bug
text: "Add missing reactionsActionName property"
- date: 2024-10-24
version: 0.8.2
changes:
- type: bug
text: "Use kmp-chat dependency without pubnub-kotlin submodule"
- date: 2024-10-22
version: 0.8.1
changes:
- type: bug
text: "Fix dependency issues for kmp-chat and its submodules"
- date: 2024-09-25
version: 0.8.0
changes:
- type: feature
text: "Initial Swift Chat SDK release"
sdks:
- full-name: PubNub Swift Chat SDK
short-name: PubNub Swift Chat SDK
artifacts:
- artifact-type: api-client
language: Swift
tier: 1
tags:
- Desktop
- Mobile
source-repository: https://github.com/pubnub/swift-chat-sdk
documentation: https://github.com/pubnub/swift-chat-sdk
distributions:
- distribution-type: source
distribution-repository: GitHub release
package-name: PubNubSwiftChatSDK
location: https://github.com/pubnub/swift-chat-sdk/archive/refs/tags/0.9.0-dev.zip
supported-platforms:
supported-operating-systems:
iOS:
runtime-version:
- Swift 5.x
minimum-os-version:
- iOS 14.0
maximum-os-version:
- iOS 18.0.1
target-architecture:
- arm64
target-devices:
- iPhone
- iPad
supported-platforms:
- version: PubNub Swift Chat SDK
platforms:
- iOS 14.0 or higher
4 changes: 4 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
source "https://rubygems.org"

gem "fastlane", '2.225.0'
gem 'rexml', '3.3.8'
Loading
Loading