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

6.4.1 #1128

Merged
merged 146 commits into from
Jul 23, 2024
Merged

6.4.1 #1128

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
29fc12c
--- 909 ---
tmolitor-stud-tu Jun 15, 2024
a14f908
Update MLMAMPrefTableViewController.m
nautilusx Jun 18, 2024
c1a54cc
Update MLMAMPrefTableViewController.m (#1086)
tmolitor-stud-tu Jun 18, 2024
ddd9219
Make EditGroupSubject heading translatable
tmolitor-stud-tu Jun 18, 2024
af1a8a2
Add IBAN of monal bank account
tmolitor-stud-tu Jun 18, 2024
31931a3
Make sure translations are picked up here
tmolitor-stud-tu Jun 18, 2024
131c3a0
Add PromiseKit as cocoapod to make promises useable from objc
tmolitor-stud-tu Jun 18, 2024
631e3eb
Implement direct invites
tmolitor-stud-tu Jun 18, 2024
9b912f4
Clean up some old XEP-0333 methods
tmolitor-stud-tu Jun 18, 2024
b7c2e91
Clean up contact details for self chats
tmolitor-stud-tu Jun 18, 2024
11d2d53
Implement image cropping when setting new muc avatar
tmolitor-stud-tu Jun 18, 2024
f97ea2c
Position lastMsgButton with constraints, fixes monal-im#921
matthewrfennell Jun 19, 2024
e4dcaef
allow different times for Autodelete all messages feature, fixes #1053
nomanashraf874 May 26, 2024
d63a6b7
Fix autodelete commit
tmolitor-stud-tu Jun 19, 2024
d623eef
Harden sqlite
tmolitor-stud-tu Jun 20, 2024
07ecfb1
Clean up user defaults
tmolitor-stud-tu Jun 20, 2024
1762bdc
Rename deleteMessageHistory: to retractMessageHistory: in DataLayer
tmolitor-stud-tu Jun 20, 2024
6c39f18
Fix visibility of custom deletion stepper
tmolitor-stud-tu Jun 20, 2024
41b71fb
Bumo pods
tmolitor-stud-tu Jun 20, 2024
dfb0155
Add comment explaining strange get_current_queue crash
tmolitor-stud-tu Jun 20, 2024
774b2a3
Remove sqlite dbconfig because of crashes on some devices
tmolitor-stud-tu Jun 20, 2024
0ec702b
Rework release scripts to handle multiline content properly
tmolitor-stud-tu Jun 20, 2024
5b8d753
Use fastlane to automatically push builds to testflight
tmolitor-stud-tu Jun 22, 2024
fc9be54
Bump version to 6.4.1
tmolitor-stud-tu Jun 22, 2024
83ce24c
Test release summary generator
tmolitor-stud-tu Jun 20, 2024
c83fd45
Set target for contact view buttons, closes #942
matthewrfennell Jun 20, 2024
da7e4a5
Fix some whitespace in ContactsViewController
matthewrfennell Jun 20, 2024
2717110
Initialise right bar buttons with literal syntax
matthewrfennell Jun 20, 2024
430457d
Make sure to save name of newly created muc to db
tmolitor-stud-tu Jun 23, 2024
087db19
Don't remove old participants from db while joining muc
tmolitor-stud-tu Jun 23, 2024
b1f88bf
Fix muc ui handler call when creating mucs
tmolitor-stud-tu Jun 23, 2024
670dd67
Fix calls from strangers privacy settings display
tmolitor-stud-tu Jun 23, 2024
b94ef1a
Honor privacy settings for incoming muc invites
tmolitor-stud-tu Jun 23, 2024
7de1685
Show muc nickname if group/channel participant is not in our roster
tmolitor-stud-tu Jun 23, 2024
cef50f3
Remove release test workflow
tmolitor-stud-tu Jun 23, 2024
dc91335
Alert support muc of new beta release after build
tmolitor-stud-tu Jun 23, 2024
5a00b53
6.4.1b1 (#1091)
tmolitor-stud-tu Jun 23, 2024
3b6301f
--- 912 ---
tmolitor-stud-tu Jun 23, 2024
e9cfcb3
Fix release name and changelog extraction
tmolitor-stud-tu Jun 24, 2024
d1a8cf2
Add logging to foregrounding/backgrounding in MLXMPPManager
tmolitor-stud-tu Jun 25, 2024
5e8d84e
Streamline applicationWillTerminate handling for faster completion
tmolitor-stud-tu Jun 25, 2024
a5b4177
Implement delayable timers and use them when frezing the parse queue
tmolitor-stud-tu Jun 25, 2024
69e3dbd
Improve MemberList sorting speed
tmolitor-stud-tu Jun 25, 2024
d9adb49
Fix race conditions when using weak container
tmolitor-stud-tu Jun 25, 2024
62dbbad
Fix deletion stepper localization
tmolitor-stud-tu Jun 25, 2024
aea13ec
Fix message retraction in groupchats
tmolitor-stud-tu Jun 25, 2024
e29927d
Fix commit 087db19 to not delete already known participants
tmolitor-stud-tu Jun 25, 2024
067d7b4
Implement occupant-ids and use them for retraction and LMC
tmolitor-stud-tu Jun 25, 2024
84f7240
Make sure to wait properly for notification state update
tmolitor-stud-tu Jun 25, 2024
025cf1d
Make PromiseKit available to all objc targets
tmolitor-stud-tu Jun 25, 2024
c060f7a
Promisify notification state resolver
tmolitor-stud-tu Jun 25, 2024
70019f5
Fix deadlock when deactivating account
tmolitor-stud-tu Jun 25, 2024
4572603
Update doap file and streamline implementation accordingly
tmolitor-stud-tu Jun 25, 2024
eae2b18
Add "Beta" to pre-release name
tmolitor-stud-tu Jun 25, 2024
1aecd36
6.4.1b2 (#1097)
tmolitor-stud-tu Jun 25, 2024
d996890
Fix changelog submission to testflight via fastlane
tmolitor-stud-tu Jun 26, 2024
1b99f67
6.4.1b2 (#1098)
tmolitor-stud-tu Jun 26, 2024
98d3052
Downgrade WebRTC lib because of usage of Apple's private API
tmolitor-stud-tu Jun 26, 2024
d50b369
6.4.1b2 (#1099)
tmolitor-stud-tu Jun 26, 2024
6f17360
Remove unused init from AddTopLevelNavigation
matthewrfennell Jun 30, 2024
1c50bef
Remove sheet dismisser from makeOwnOmemoKeyView
matthewrfennell Jun 30, 2024
8ac87d9
Remove sheet dismisser from ContactRequestsMenu
matthewrfennell Jun 30, 2024
9419c19
Remove sheet dismisser from AccountPicker
matthewrfennell Jun 30, 2024
136f11f
Deactivate message search shortcut
tmolitor-stud-tu Jul 1, 2024
7833bc2
Make sure ios/macos only changelog entries aren't pushed to apple
tmolitor-stud-tu Jul 1, 2024
98de6fa
Use fastlane for stable releases, too
tmolitor-stud-tu Jul 4, 2024
b979485
rust: fix build
FriedrichAltheide Jul 6, 2024
f47132e
bump crates
FriedrichAltheide Jul 6, 2024
c8a7e7e
Onboarding implementation
thevaidik Jul 5, 2024
bb4dc9a
Add historyID to mlfiletransfer info dictionary
tmolitor-stud-tu Jul 8, 2024
840ad88
Try to fix "Can't add self as subview" in active chats
tmolitor-stud-tu Jul 8, 2024
2748be4
Fix crash on isEncrypted change when updating MLContact
tmolitor-stud-tu Jul 8, 2024
d0c00e4
Fix typo
tmolitor-stud-tu Jul 8, 2024
273b8f7
Properly display geo: urls having a query string
tmolitor-stud-tu Jul 12, 2024
31a4bfd
Change empty active chats wording
tmolitor-stud-tu Jul 13, 2024
277a680
Fix dark mode handling of chat placeholder image
tmolitor-stud-tu Jul 13, 2024
22eab94
Fix onboarding
tmolitor-stud-tu Jul 13, 2024
ac7ba70
Fix delegate crash
tmolitor-stud-tu Jul 14, 2024
43a4174
Updated BoardingCards view to take the full available space and scrol…
ryanlintott Jul 13, 2024
9001857
More onboarding fixes
tmolitor-stud-tu Jul 14, 2024
1bf35c0
BoardingCards updated to improve accessibility
ryanlintott Jul 14, 2024
a4d26a4
Fixed accessibility labels on Contacts toolbar buttons
ryanlintott Jul 14, 2024
7c52fab
Improve onboarding cards display on macOS and iPad
tmolitor-stud-tu Jul 14, 2024
21856fe
Promisify loading overlay
tmolitor-stud-tu Jul 16, 2024
d179ea4
Add new waitAtLeastSeconds:forPromise: helper tools method
tmolitor-stud-tu Jul 17, 2024
3fb8184
Improve text on boarding cards and general settings
tmolitor-stud-tu Jul 17, 2024
d2b1eb7
Improve onboarding flow further
tmolitor-stud-tu Jul 19, 2024
2fd2543
Sort OmemoKeys known devices by device ID
matthewrfennell Jul 12, 2024
b39f4af
Refresh known devices on updates from the server
matthewrfennell Jul 15, 2024
599c666
Use existing method for OmemoKeysEntry trust level
matthewrfennell Jul 15, 2024
8f83a1e
Update develop-push workflow to post alpha releases to dedicated channel
tmolitor-stud-tu Jul 19, 2024
1583bb1
Allow optionals in defaultsDB (read AND write)
tmolitor-stud-tu Jul 19, 2024
f7f1324
Allow customized next button text for BoardingCards
tmolitor-stud-tu Jul 19, 2024
efa3fd0
Fix portrait mode on iPad
tmolitor-stud-tu Jul 19, 2024
029f574
6.4.1rc1 (#1110)
tmolitor-stud-tu Jul 19, 2024
9b6226d
--- 918 ---
tmolitor-stud-tu Jul 19, 2024
a8476bf
Fix sed expressions when extracting changelog from merge commit
tmolitor-stud-tu Jul 19, 2024
4661f70
Rework add contact and contact requests menu
tmolitor-stud-tu Jul 19, 2024
918b225
don't show account picker with only one entry when creating group
tmolitor-stud-tu Jul 19, 2024
df276c7
Show intro screen after deleting all accounts
tmolitor-stud-tu Jul 19, 2024
16ec8a8
Add new timestamp formatter
tmolitor-stud-tu Jul 19, 2024
30a7538
6.4.1rc2 (#1111)
tmolitor-stud-tu Jul 19, 2024
c7d98f0
--- 919 ---
tmolitor-stud-tu Jul 19, 2024
83647de
Implement Quicksy onboarding flow
tmolitor-stud-tu Jul 13, 2024
02f8668
Implement contact list sync for quicksy
tmolitor-stud-tu Jul 20, 2024
8a5fd84
Add more logging to share sheet
tmolitor-stud-tu Jul 20, 2024
a4fc7d4
Update occupant_id on muc reflection, fixes #956
tmolitor-stud-tu Jul 20, 2024
4ac6495
Don't set a default type for mucs when creating them, fixes #1115
tmolitor-stud-tu Jul 20, 2024
dc85178
Show add contact menu when tapping a contact request notification
tmolitor-stud-tu Jul 20, 2024
38b876d
Allow to trigger onboarding flow using debug settings
tmolitor-stud-tu Jul 20, 2024
230eb71
Add gear icon to privacy settings list in onboarding
tmolitor-stud-tu Jul 20, 2024
d502cf9
Fix line wrapping on ios <= 16 in onboarding title, fixes #1113
tmolitor-stud-tu Jul 21, 2024
d895eec
Make clear which account a contact request belongs to, fixes #1117
tmolitor-stud-tu Jul 21, 2024
b9fb0e7
Make blue buttons somewhat smaller (padding=10 instead of default)
tmolitor-stud-tu Jul 21, 2024
1dc54ec
Don't show account labels in contact requests when only one account
tmolitor-stud-tu Jul 21, 2024
3bad855
Make sure so remove line feeds not starting a new bullet point
tmolitor-stud-tu Jul 21, 2024
ee06718
Add quicksy build workflow
tmolitor-stud-tu Jul 21, 2024
a053112
Update quicksy icon to fit iOS design (always background color)
tmolitor-stud-tu Jul 21, 2024
acfcb8f
Make sure to automatically set marketing version number
tmolitor-stud-tu Jul 22, 2024
fe965c4
Make sure the UI correctly reflects contact status
tmolitor-stud-tu Jul 22, 2024
4ee11ab
6.4.1-rc3 (#1120)
tmolitor-stud-tu Jul 22, 2024
f379135
--- 920 ---
tmolitor-stud-tu Jul 22, 2024
9dd7215
Fix syntax error in github workflows
tmolitor-stud-tu Jul 22, 2024
9926233
6.4.1-rc3 (#1121)
tmolitor-stud-tu Jul 22, 2024
b912441
--- 921 ---
tmolitor-stud-tu Jul 22, 2024
8036aeb
Repair newline fixes for releasenotes
tmolitor-stud-tu Jul 22, 2024
bb57284
6.4.1-rc3 (#1122)
tmolitor-stud-tu Jul 22, 2024
03b88b9
Fix again (remove carriage returns before merging linewraps)
tmolitor-stud-tu Jul 22, 2024
e83c387
6.4.1-rc3 (#1123)
tmolitor-stud-tu Jul 22, 2024
d0c68f9
Improve version update script
tmolitor-stud-tu Jul 22, 2024
9e2c27b
6.4.1-rc3 (#1124)
tmolitor-stud-tu Jul 22, 2024
7d661c6
Fix typo in version update script
tmolitor-stud-tu Jul 22, 2024
4b88e08
6.4.1-rc3 (#1125)
tmolitor-stud-tu Jul 22, 2024
b5cafcc
--- 924 ---
tmolitor-stud-tu Jul 22, 2024
b8ab281
Make sure quicksy contact sync happens on every app foreground
tmolitor-stud-tu Jul 22, 2024
4451af3
Fix adding of country code to quicksy phonebook numbers
tmolitor-stud-tu Jul 22, 2024
5fb649c
Fix race condition when sending outgoing IQ while connecting
tmolitor-stud-tu Jul 22, 2024
5cdd773
Add quicksy export options plist file
tmolitor-stud-tu Jul 22, 2024
85f22dc
Update quicksy country codes from ITU pdf
tmolitor-stud-tu Jul 23, 2024
105766e
Autoselect country code based on current locale
tmolitor-stud-tu Jul 23, 2024
3b7677a
6.4.1-rc4 (#1126)
tmolitor-stud-tu Jul 23, 2024
830532c
--- 925 ---
tmolitor-stud-tu Jul 23, 2024
ff0b3fe
Use an uncompressed PNG if image upload quality is set to 100%
tmolitor-stud-tu Jul 23, 2024
80b91f3
Fix syntax error
tmolitor-stud-tu Jul 23, 2024
95e9dde
Fix stable build workflow to use correct ios/macos releasenotes
tmolitor-stud-tu Jul 23, 2024
c8a9b90
6.4.1-rc5 (#1127)
tmolitor-stud-tu Jul 23, 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
147 changes: 125 additions & 22 deletions .github/workflows/beta.build-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,13 @@ jobs:
buildAndPublishBeta:
name: "Build and Publish Beta Release"
runs-on: self-hosted
outputs:
release-tag: ${{ steps.releasenotes.outputs.tag }}
release-name: ${{ steps.releasenotes.outputs.name }}
release-notes: ${{ steps.releasenotes.outputs.notes }}
env:
APP_NAME: "Monal"
BUILD_SCHEME: "Monal"
APP_DIR: "Monal.app"
BUILD_TYPE: "Beta"
EXPORT_OPTIONS_CATALYST_APPSTORE: "../scripts/exportOptions/Stable_Catalyst_ExportOptions.plist"
Expand All @@ -28,8 +33,10 @@ jobs:
with:
clean: true
submodules: true
- name: Fetch tags
run: git fetch --tags
fetch-depth: 100
fetch-tags: true
show-progress: true
lfs: true
- name: Checkout submodules
run: git submodule update -f --init --remote
- name: Get last build tag and increment it
Expand All @@ -38,7 +45,56 @@ jobs:
buildNumber=$(expr $oldBuildNumber + 1)
echo "New buildNumber is $buildNumber"
git tag Build_iOS_$buildNumber
- name: Insert buildNumber into plists
- name: Extract version number and changelog from newest merge commit
id: releasenotes
run: |
function repairNotes {
sed 's/\r//g' | awk '{
if (NR == 1) {
printf("%s", $0)
} else {
if ($0 ~ /^[\t ]*(-|IOS_ONLY[\t ]*-|MACOS_ONLY[\t ]*-).*$/) {
printf("\n%s", $0)
} else {
printf(" %s", $0)
}
}
}
END {
printf("\n")
}'
}
buildNumber="$(git tag --sort="v:refname" | grep "Build_iOS" | tail -n1 | sed 's/Build_iOS_//g')"
version="$(git log -n 1 --merges --pretty=format:%s | sed -E 's/^[\t\n ]*([^\n\t ]+)[\t\n ]+\(([^\n\t ]+)\)[\t\n ]*$/\1/g')"
mkdir -p /Users/ci/releases
OUTPUT_FILE="/Users/ci/releases/$buildNumber.output"
touch "$OUTPUT_FILE"
echo "OUTPUT_FILE=$OUTPUT_FILE" | tee /dev/stderr >> "$GITHUB_OUTPUT"

echo "buildNumber=$buildNumber" | tee /dev/stderr >> "$OUTPUT_FILE"
echo "tag=Build_iOS_$buildNumber" | tee /dev/stderr >> "$OUTPUT_FILE"
echo "version=$version" | tee /dev/stderr >> "$OUTPUT_FILE"
echo "buildVersion=$(echo "$version" | grep -oE '^[0-9]+(\.[0-9]+){0,2}')" | tee /dev/stderr >> "$OUTPUT_FILE"

echo "name=Monal Beta $(git log -n 1 --merges --pretty=format:%s | sed -E 's/^[\t\n ]*([^\n\t ]+)[\t\n ]+\(([^\n\t ]+)\)[\t\n ]*$/\1 (Build '$buildNumber', PR \2)/g')" | tee /dev/stderr >> "$OUTPUT_FILE"

echo "notes<<__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"
echo "$(git log -n 1 --merges --pretty=format:%b)" | repairNotes | sed -E 's/^[\t\n ]*IOS_ONLY[\t\n ]?(.*)$/\1/g' | sed -E 's/^[\t\n ]*MACOS_ONLY[\t\n ]?(.*)$/\1/g' | tee /dev/stderr >> "$OUTPUT_FILE"
echo "__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"

echo "notes_ios<<__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"
echo "$(git log -n 1 --merges --pretty=format:%b)" | repairNotes | grep -v '^[\t\n ]*MACOS_ONLY.*$' | sed -E 's/^[\t\n ]*IOS_ONLY[\t\n ]?(.*)$/\1/g' | tee /dev/stderr >> "$OUTPUT_FILE"
echo "__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"

echo "notes_macos<<__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"
echo "$(git log -n 1 --merges --pretty=format:%b)" | repairNotes | grep -v '^[\t\n ]*IOS_ONLY.*$' | sed -E 's/^[\t\n ]*MACOS_ONLY[\t\n ]?(.*)$/\1/g' | tee /dev/stderr >> "$OUTPUT_FILE"
echo "__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"

cat "$OUTPUT_FILE" >> "$GITHUB_OUTPUT"
- name: Insert buildNumber and version into plists
env:
buildNumber: ${{ steps.releasenotes.outputs.buildNumber }}
buildVersion: ${{ steps.releasenotes.outputs.buildVersion }}
run: sh ./scripts/set_version_number.sh
- name: Import TURN secrets
run: |
Expand All @@ -49,14 +105,33 @@ jobs:
run: chmod +x ./scripts/build.sh
- name: Run build
run: ./scripts/build.sh
- uses: actions/upload-artifact@v4
with:
name: monal-ios
path: Monal/build/ipa/Monal.ipa
if-no-files-found: error
- uses: actions/upload-artifact@v4
with:
name: monal-catalyst-dsym
path: Monal/build/macos_Monal.xcarchive/dSYMs
if-no-files-found: error
- uses: actions/upload-artifact@v4
with:
name: monal-ios-dsym
path: Monal/build/ios_Monal.xcarchive/dSYMs
if-no-files-found: error
- name: validate ios app
run: xcrun altool --validate-app --file ./Monal/build/ipa/Monal.ipa --type ios --asc-provider S8D843U34Y -u "$(cat /Users/ci/apple_connect_upload_mail.txt)" -p "$(cat /Users/ci/apple_connect_upload_secret.txt)"
- name: push tag to beta repo
- name: Push beta tag to repo
run: |
buildNumber=$(git tag --sort="v:refname" |grep "Build_iOS" | tail -n1 | sed 's/Build_iOS_//g')
buildNumber=$(git tag --sort="v:refname" | grep "Build_iOS" | tail -n1 | sed 's/Build_iOS_//g')
git push origin Build_iOS_$buildNumber
- name: Publish ios to appstore connect
run: xcrun altool --upload-app -f ./Monal/build/ipa/Monal.ipa --type ios --asc-provider S8D843U34Y --team-id S8D843U34Y -u "$(cat /Users/ci/apple_connect_upload_mail.txt)" -p "$(cat /Users/ci/apple_connect_upload_secret.txt)"
#run: xcrun altool --upload-app -f ./Monal/build/ipa/Monal.ipa --type ios --asc-provider S8D843U34Y --team-id S8D843U34Y -u "$(cat /Users/ci/apple_connect_upload_mail.txt)" -p "$(cat /Users/ci/apple_connect_upload_secret.txt)"
env:
PILOT_CHANGELOG: ${{ steps.releasenotes.outputs.notes_ios }}
run: |
fastlane run upload_to_testflight api_key_path:"/Users/ci/appstoreconnect/key.json" team_id:"S8D843U34Y" ipa:"./Monal/build/ipa/Monal.ipa" distribute_external:true groups:"Internal Pre-Beta Testers","Public Beta" reject_build_waiting_for_review:true submit_beta_review:true
- name: Notarize catalyst
run: xcrun notarytool submit ./Monal/build/app/Monal.zip --wait --team-id S8D843U34Y --key "/Users/ci/appstoreconnect/apiKey.p8" --key-id "$(cat /Users/ci/appstoreconnect/apiKeyId.txt)" --issuer "$(cat /Users/ci/appstoreconnect/apiIssuerId.txt)"
- name: staple
Expand All @@ -66,30 +141,40 @@ jobs:
stapler validate "$APP_DIR"
/usr/bin/ditto -c -k --sequesterRsrc --keepParent "$APP_DIR" "../$APP_NAME.zip"
cd ../../../..
- name: upload new catalyst beta to monal-im.org
run: ./scripts/uploadNonAlpha.sh beta
- name: Publish catalyst to appstore connect
run: xcrun altool --upload-app --file ./Monal/build/app/Monal.pkg --type macos --asc-provider S8D843U34Y -u "$(cat /Users/ci/apple_connect_upload_mail.txt)" -p "$(cat /Users/ci/apple_connect_upload_secret.txt)" --primary-bundle-id org.monal-im.prod.catalyst.monal
- uses: actions/upload-artifact@v4
with:
name: monal-catalyst
name: monal-catalyst-zip
path: Monal/build/app/Monal.zip
if-no-files-found: error
- uses: actions/upload-artifact@v4
with:
name: monal-ios
path: Monal/build/ipa/Monal.ipa
name: monal-catalyst-pkg
path: Monal/build/app/Monal.pkg
if-no-files-found: error
- uses: actions/upload-artifact@v4
with:
name: monal-catalyst-dsym
path: Monal/build/macos_Monal.xcarchive/dSYMs
if-no-files-found: error
- uses: actions/upload-artifact@v4
- name: Upload new catalyst beta to monal-im.org
run: ./scripts/uploadNonAlpha.sh beta
- name: Publish catalyst to appstore connect
#run: xcrun altool --upload-app --file ./Monal/build/app/Monal.pkg --type macos --asc-provider S8D843U34Y -u "$(cat /Users/ci/apple_connect_upload_mail.txt)" -p "$(cat /Users/ci/apple_connect_upload_secret.txt)" --primary-bundle-id org.monal-im.prod.catalyst.monal
env:
PILOT_CHANGELOG: ${{ steps.releasenotes.outputs.notes_macos }}
run: |
fastlane run upload_to_testflight api_key_path:"/Users/ci/appstoreconnect/key.json" team_id:"S8D843U34Y" pkg:"./Monal/build/app/Monal.pkg" distribute_external:true groups:"Internal Pre-Beta Testers","Public Beta" reject_build_waiting_for_review:true submit_beta_review:true
- name: Release
uses: softprops/action-gh-release@v2
with:
name: monal-ios-dsym
path: Monal/build/ios_Monal.xcarchive/dSYMs
if-no-files-found: error
name: "${{ steps.releasenotes.outputs.name }}"
tag_name: "${{ steps.releasenotes.outputs.tag }}"
target_commitish: beta
generate_release_notes: false
body: "${{ steps.releasenotes.outputs.notes }}"
files: |
./Monal/build/ipa/Monal.ipa
./Monal/build/app/Monal.pkg
./Monal/build/app/Monal.zip
fail_on_unmatched_files: true
token: ${{ secrets.GITHUB_TOKEN }}
draft: false
prerelease: true

updateTranslations:
name: Update Translations using Beta-Branch
Expand All @@ -112,3 +197,21 @@ jobs:
chmod +x ./scripts/updateLocalization.sh
chmod +x ./scripts/xliff_extractor.py
./scripts/updateLocalization.sh BUILDSERVER

notifyMuc:
name: Notify support MUC about new Betarelease
runs-on: ubuntu-latest
needs: [buildAndPublishBeta]
steps:
- name: Notify
uses: monal-im/xmpp-notifier@master
with: # Set the secrets as inputs
jid: ${{ secrets.BOT_JID }}
password: ${{ secrets.BOT_PASSWORD }}
server_host: ${{ secrets.BOT_SERVER }}
recipient: [email protected]
recipient_is_room: true
bot_alias: "Monal Release Bot"
message: |
${{ needs.buildAndPublishBeta.outputs.release-name }} was released
${{ needs.buildAndPublishBeta.outputs.release-notes }}
41 changes: 38 additions & 3 deletions .github/workflows/develop-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,13 @@ jobs:
buildAndPublishAlpha:
# The type of runner that the job will run on
runs-on: ['ARM64', 'self-hosted']
outputs:
id: ${{ steps.changelog.outputs.id }}
timestamp: ${{ steps.changelog.outputs.timestamp }}
message: ${{ steps.changelog.outputs.message }}
env:
APP_NAME: "Monal.alpha"
APP_NAME: "Monal.Alpha"
BUILD_SCHEME: "Monal Alpha"
APP_DIR: "Monal.alpha.app"
BUILD_TYPE: "Alpha"
ALPHA_UPLOAD_SECRET: ${{ secrets.ALPHA_UPLOAD_SECRET }}
Expand All @@ -28,8 +33,10 @@ jobs:
with:
clean: true
submodules: true
- name: Fetch tags
run: git fetch --tags
fetch-depth: 100
fetch-tags: true
show-progress: true
lfs: true
- name: Checkout submodules
run: git submodule update -f --init --remote
- name: Import TURN secrets
Expand All @@ -50,6 +57,7 @@ jobs:
tar -cf "../$APP_NAME.tar" "$APP_DIR"
cd ../../../..
- name: save changelog
id: changelog
env:
ID: ${{github.event.head_commit.id}}
TIMESTAMP: ${{github.event.head_commit.timestamp}}
Expand All @@ -58,6 +66,12 @@ jobs:
echo "ID: $ID" > changes.txt
echo "Timestamp: $TIMESTAMP" >> changes.txt
echo "$MESSAGE" >> changes.txt

echo "id=$ID" >> "$GITHUB_OUTPUT"
echo "timestamp=$TIMESTAMP" >> "$GITHUB_OUTPUT"
echo "message<<__EOF__" >> "$GITHUB_OUTPUT"
echo "$MESSAGE" >> "$GITHUB_OUTPUT"
echo "__EOF__" >> "$GITHUB_OUTPUT"
- name: Uploading to alpha site
run: ./scripts/uploadAlpha.sh
- name: Notarize catalyst
Expand Down Expand Up @@ -89,3 +103,24 @@ jobs:
# chmod +x ./scripts/updateLocalization.sh
# chmod +x ./scripts/xliff_extractor.py
# ./scripts/updateLocalization.sh NOCOMMIT
notifyMuc:
name: Notify support MUC about new Alpharelease
runs-on: ubuntu-latest
needs: [buildAndPublishAlpha]
steps:
- name: Notify
uses: monal-im/xmpp-notifier@master
with: # Set the secrets as inputs
jid: ${{ secrets.BOT_JID }}
password: ${{ secrets.BOT_PASSWORD }}
server_host: ${{ secrets.BOT_SERVER }}
recipient: [email protected]
recipient_is_room: true
bot_alias: "Monal Release Bot"
message: |
New alpha build based on the following commit:
${{ needs.buildAndPublishAlpha.outputs.id }}
${{ needs.buildAndPublishAlpha.outputs.timestamp }}
${{ needs.buildAndPublishAlpha.outputs.message }}

Download page: https://downloads.monal-im.org/monal-im/alpha/
79 changes: 79 additions & 0 deletions .github/workflows/publish-quicksy-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Publish Quicksy release
on:
repository_dispatch:
types: [distribution]
jobs:
extractChangelog:
runs-on: self-hosted
outputs:
release-buildNumber: ${{ steps.releasenotes.outputs.buildNumber }}
release-tag: ${{ steps.releasenotes.outputs.tag }}
release-version: ${{ steps.releasenotes.outputs.version }}
release-name: ${{ steps.releasenotes.outputs.name }}
release-notes: ${{ steps.releasenotes.outputs.notes }}
release-notes_ios: ${{ steps.releasenotes.outputs.notes_ios }}
# create release only if the ios app made it to the appstore and ignore the macos appstore state
if: github.event.client_payload.Platform == 'iOS'
steps:
# - run: |
# echo ${{ github.event.client_payload.AppName }}
# echo ${{ github.event.client_payload.Platform }}
# echo ${{ github.event.client_payload.AppVersionNumber }}
- name: Load release info
id: releasenotes
run: |
buildNumber="$(fastlane run app_store_build_number api_key_path:"/Users/ci/appstoreconnect/key.json" team_id:"S8D843U34Y" app_identifier:"G7YU7X7KRJ.SworIM" live:false version:"${{ github.event.client_payload.AppVersionNumber }}" 2>&1 | tee /dev/stderr | grep Result | sed -E 's/^.*Result: ([0-9]+).*$/\1/g')"
mkdir -p /Users/ci/releases
OUTPUT_FILE="/Users/ci/releases/$buildNumber.output"
touch "$OUTPUT_FILE"
cat "$OUTPUT_FILE" >> "$GITHUB_OUTPUT"

# notifyMuc:
# name: Notify support MUC about new stable release
# runs-on: ubuntu-latest
# needs: [extractChangelog]
# steps:
# - name: Notify support MUC
# uses: monal-im/xmpp-notifier@master
# with: # Set the secrets as inputs
# jid: ${{ secrets.BOT_JID }}
# password: ${{ secrets.BOT_PASSWORD }}
# server_host: ${{ secrets.BOT_SERVER }}
# recipient: [email protected]
# recipient_is_room: true
# bot_alias: "Monal Release Bot"
# message: |
# ${{ needs.extractChangelog.outputs.release-name }} was released:
# ${{ needs.extractChangelog.outputs.release-notes }}
#
# notifyMastodon:
# name: Post release info on mastodon
# runs-on: ubuntu-latest
# needs: [extractChangelog]
# steps:
# - name: Patch changelog length
# id: changelog
# env:
# NOTES: ${{ needs.extractChangelog.outputs.release-notes }}
# run: |
# if [ "${#NOTES}" -gt 400 ]; then
# NOTES="To see the complete list of bugfixes and improvements, check our releases page: https://github.com/monal-im/Monal/releases/tag/${{ needs.extractChangelog.outputs.release-tag }}"
# fi
# echo "notes<<__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT"
# echo "$NOTES" >> "$GITHUB_OUTPUT"
# echo "__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT"
# - name: Post release info on mastodon
# id: toot
# uses: cbrgm/[email protected]
# with:
# access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }}
# url: ${{ secrets.MASTODON_URL }}
#
# message: "${{ needs.extractChangelog.outputs.release-name }} released.\n\n${{ steps.changelog.outputs.notes }}\n\n#Monal #quicksy #ios #macos #xmpp #im #chat #messaging"
# visibility: "public"
# language: "en"
# - name: Get toot information
# run: |
# echo "Toot ID: ${{ steps.toot.outputs.id }}"
# echo "Toot URL: ${{ steps.toot.outputs.url }}"
# echo "Scheduled at: ${{ steps.toot.outputs.scheduled_at }}"
Loading