-
-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Add setting to configure if file transfers should show up in Files App - Add setting to send images as original - Improve Onboarding texts - Fix flickering of intro screens - Improve handling of xmpp: URIs - Several other bugfixes
- Loading branch information
Showing
51 changed files
with
1,044 additions
and
446 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -41,7 +41,7 @@ jobs: | |
run: git submodule update -f --init --remote | ||
- name: Get last build tag and increment it | ||
run: | | ||
oldBuildNumber=$(git tag --sort="v:refname" |grep "Build_iOS" | tail -n1 | sed 's/Build_iOS_//g') | ||
oldBuildNumber=$(git tag --sort="v:refname" | grep "Build_iOS" | grep -v "Quicksy_Build_iOS" | tail -n1 | sed 's/Build_iOS_//g') | ||
buildNumber=$(expr $oldBuildNumber + 1) | ||
echo "New buildNumber is $buildNumber" | ||
git tag Build_iOS_$buildNumber | ||
|
@@ -64,7 +64,7 @@ jobs: | |
printf("\n") | ||
}' | ||
} | ||
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" | grep -v "Quicksy_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" | ||
|
@@ -124,14 +124,65 @@ jobs: | |
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 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" | grep -v "Quicksy_Build_iOS" | tail -n1 | sed 's/Build_iOS_//g') | ||
git push origin Build_iOS_$buildNumber | ||
# - name: Create fastlane whatsNew hash in environment | ||
# id: buildinfo | ||
# env: | ||
# CHANGELOG_IOS: ${{ steps.releasenotes.outputs.notes_ios }} | ||
# CHANGELOG_MACOS: ${{ steps.releasenotes.outputs.notes_macos }} | ||
# run: | | ||
# get_changelog() { | ||
# local escaped=$(printf '%s\n' "$1" | jq -sRr @json) | ||
# local json="{\"default\": {\"whats_new\": $escaped}," | ||
# # for dir in ./appstore_metadata/*/; do | ||
# # dir="$(basename "$dir")" | ||
# # if [[ -d "./appstore_metadata/$dir" ]]; then | ||
# # json="$json\"${dir%/}\": {\"whats_new\": $escaped}," | ||
# # fi | ||
# # done | ||
# json="${json%,}}" | ||
# echo "$json" | ||
# } | ||
# echo "buildinfo_ios<<__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
# echo "$(get_changelog "$CHANGELOG_IOS")" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
# echo "__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
# | ||
# echo "buildinfo_macos<<__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
# echo "$(get_changelog "$CHANGELOG_MACOS")" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
# echo "__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
- name: Create fastlane localized_app_info hash in environment | ||
id: appinfo | ||
run: | | ||
build_appinfo_entry() { | ||
local escaped_marketing_url=$(cat ./appstore_metadata/$1/marketing_url.txt | jq -sRr @json) | ||
local escaped_privacy_policy_url=$(cat ./appstore_metadata/$1/privacy_url.txt | jq -sRr @json) | ||
local escaped_description=$(cat ./appstore_metadata/$1/description.txt | jq -sRr @json) | ||
local json="{\"feedback_email\": \"[email protected]\", \"marketing_url\": $escaped_marketing_url, \"privacy_policy_url\": $escaped_privacy_policy_url, \"description\": $escaped_description}" | ||
echo "$json" | ||
} | ||
json="{" | ||
json="$json\"default\": $(build_appinfo_entry)," | ||
for dir in ./appstore_metadata/*/; do | ||
dir="$(basename "$dir")" | ||
if [[ -d "./appstore_metadata/$dir" ]]; then | ||
json="$json\"${dir%/}\": $(build_appinfo_entry "${dir%/}")," | ||
fi | ||
done | ||
json="${json%,}}" | ||
echo "appinfo<<__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
echo "$json" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
echo "__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
- 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)" | ||
env: | ||
#PILOT_LOCALIZED_BUILD_INFO: ${{ steps.buildinfo.outputs.buildinfo_ios }} | ||
PILOT_LOCALIZED_APP_INFO: ${{ steps.appinfo.outputs.appinfo }} | ||
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 | ||
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 notify_external_testers: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 | ||
|
@@ -156,9 +207,11 @@ jobs: | |
- 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_LOCALIZED_BUILD_INFO: ${{ steps.buildinfo.outputs.buildinfo_macos }} | ||
PILOT_LOCALIZED_APP_INFO: ${{ steps.appinfo.outputs.appinfo }} | ||
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 | ||
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 notify_external_testers: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: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
name: Create Pull Request from Beta to Stable | ||
|
||
on: | ||
push: | ||
branches: [ beta ] | ||
workflow_dispatch: | ||
|
||
jobs: | ||
create-pull-request: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Beta Branch | ||
uses: actions/checkout@v4 | ||
with: | ||
clean: true | ||
submodules: true | ||
fetch-depth: 100 | ||
fetch-tags: true | ||
show-progress: true | ||
lfs: true | ||
ref: beta | ||
- name: Checkout Stable Branch | ||
run: | | ||
git fetch --all | ||
git checkout stable | ||
git branch | ||
- name: Get Merge Commits from Beta not in Stable | ||
id: get_commits | ||
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") | ||
}' | ||
} | ||
echo "Extracting merge commit texts..." | ||
version="$(git log beta -n 1 --merges --pretty=format:%s | sed -E 's/^[\t\n ]*([^\n\t ]+)[\t\n ]+\(([^\n\t ]+)\)[\t\n ]*$/\1/g')" | ||
echo "version=$version" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
echo "buildVersion=$(echo "$version" | grep -oE '^[0-9]+(\.[0-9]+){0,2}')" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
echo "description<<__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
echo "$(git log stable..beta --merges --pretty=format:%b)" | repairNotes | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
echo "__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT" | ||
- name: Find Existing Pull Request | ||
id: find_pr | ||
uses: actions/github-script@v7 | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
script: | | ||
const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/"); | ||
const { data: pullRequests } = await github.rest.pulls.list({ | ||
owner, | ||
repo, | ||
state: 'open', | ||
head: 'beta', | ||
base: 'stable' | ||
}); | ||
const existingPR = pullRequests.find(pr => pr.labels.some(label => label.name === 'automated-pr')); | ||
console.log(`Existing PR: `, existingPR); | ||
if(existingPR) | ||
return existingPR.number; | ||
else | ||
return null; | ||
- name: Create or Update Pull Request | ||
id: create_or_update_pr | ||
uses: actions/github-script@v7 | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
script: | | ||
const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/"); | ||
const prNumber = ${{ steps.find_pr.outputs.result }}; | ||
let pullRequest; | ||
if(prNumber) | ||
{ | ||
console.log(`Updating old PR #${prNumber}...`); | ||
pullRequest = await github.rest.pulls.update({ | ||
owner, | ||
repo, | ||
pull_number: prNumber, | ||
title: `${{ steps.get_commits.outputs.buildVersion }}`, | ||
body: `${{ steps.get_commits.outputs.description }}`, | ||
}); | ||
console.log(`Updated pull request #${prNumber}`); | ||
} | ||
else | ||
{ | ||
console.log(`Creating new PR...`); | ||
pullRequest = await github.rest.pulls.create({ | ||
owner, | ||
repo, | ||
head: 'beta', | ||
base: 'stable', | ||
draft: true, | ||
title: `${{ steps.get_commits.outputs.buildVersion }}`, | ||
body: `${{ steps.get_commits.outputs.description }}`, | ||
}); | ||
console.log(`Created pull request #${pullRequest.data.number}`); | ||
} | ||
return pullRequest.data.number; | ||
- name: Add Label to Pull Request | ||
uses: actions/github-script@v7 | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
script: | | ||
const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/"); | ||
const pullNumber = ${{ steps.create_or_update_pr.outputs.result }}; | ||
await github.rest.issues.addLabels({ | ||
owner, | ||
repo, | ||
issue_number: pullNumber, | ||
labels: ['automated-pr'] | ||
}); | ||
console.log(`Added label to pull request #${pullNumber}`); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
name: Publish Quicksy release | ||
on: | ||
repository_dispatch: | ||
types: [distribution] | ||
types: [quicksy_release] | ||
jobs: | ||
extractChangelog: | ||
runs-on: self-hosted | ||
|
@@ -28,52 +28,3 @@ jobs: | |
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 }}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.