Skip to content

Commit

Permalink
Try to fix workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
tmolitor-stud-tu committed Aug 1, 2024
1 parent a027044 commit 67a34fc
Show file tree
Hide file tree
Showing 3 changed files with 163 additions and 121 deletions.
269 changes: 155 additions & 114 deletions .github/workflows/beta.build-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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"
Expand Down Expand Up @@ -105,58 +105,98 @@ 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
# - 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 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" && "$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 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" && "$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: |
# 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" && "$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"
# localized_app_info: {
# "default": {
# feedback_email: "[email protected]",
# marketing_url: "https://example.com/marketing-default",
# privacy_policy_url: "https://example.com/privacy-default",
# description: "Default description",
# },
# "en-GB": {
# feedback_email: "[email protected]",
# marketing_url: "https://example.com/marketing-en-gb",
# privacy_policy_url: "https://example.com/privacy-en-gb",
# description: "en-gb description",
# }
# },
- 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_BUILD_INFO: ${{ steps.buildinfo.outputs.buildinfo_ios }}
#PILOT_LOCALIZED_APP_INFO: ${{ steps.appinfo.outputs.appinfo }}
PILOT_CHANGELOG: ${{ steps.releasenotes.outputs.notes_ios }}
#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
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" reject_build_waiting_for_review:true submit_beta_review:true --verbose
- 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 @@ -166,77 +206,78 @@ jobs:
stapler validate "$APP_DIR"
/usr/bin/ditto -c -k --sequesterRsrc --keepParent "$APP_DIR" "../$APP_NAME.zip"
cd ../../../..
- uses: actions/upload-artifact@v4
with:
name: monal-catalyst-zip
path: Monal/build/app/Monal.zip
if-no-files-found: error
- uses: actions/upload-artifact@v4
with:
name: monal-catalyst-pkg
path: Monal/build/app/Monal.pkg
if-no-files-found: error
- name: Upload new catalyst beta to monal-im.org
run: ./scripts/uploadNonAlpha.sh beta
# - uses: actions/upload-artifact@v4
# with:
# name: monal-catalyst-zip
# path: Monal/build/app/Monal.zip
# if-no-files-found: error
# - uses: actions/upload-artifact@v4
# with:
# name: monal-catalyst-pkg
# path: Monal/build/app/Monal.pkg
# if-no-files-found: error
# - 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_LOCALIZED_BUILD_INFO: ${{ steps.buildinfo.outputs.buildinfo_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: "${{ 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
runs-on: self-hosted
needs: [buildAndPublishBeta]
env:
APP_NAME: "Monal"
APP_DIR: "Monal.app"
BUILD_TYPE: "Beta"
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v4
with:
clean: true
submodules: true
- name: Checkout submodules
run: git submodule update -f --init --remote
- name: Update translations
#PILOT_LOCALIZED_BUILD_INFO: ${{ steps.buildinfo.outputs.buildinfo_macos }}
PILOT_CHANGELOG: ${{ steps.releasenotes.outputs.notes_macos }}
run: |
chmod +x ./scripts/updateLocalization.sh
chmod +x ./scripts/xliff_extractor.py
./scripts/updateLocalization.sh BUILDSERVER
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" reject_build_waiting_for_review:true submit_beta_review:true --verbose
# - name: Release
# uses: softprops/action-gh-release@v2
# with:
# 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

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 }}
# updateTranslations:
# name: Update Translations using Beta-Branch
# runs-on: self-hosted
# needs: [buildAndPublishBeta]
# env:
# APP_NAME: "Monal"
# APP_DIR: "Monal.app"
# BUILD_TYPE: "Beta"
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# - uses: actions/checkout@v4
# with:
# clean: true
# submodules: true
# - name: Checkout submodules
# run: git submodule update -f --init --remote
# - name: Update translations
# run: |
# 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 }}
9 changes: 5 additions & 4 deletions .github/workflows/quicksy.build-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,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 "Quicksy_Build_iOS" | tail -n1 | sed 's/Quicksy_Build_iOS_//g')
oldBuildNumber=$(git tag --sort="v:refname" | grep "Quicksy_Build_iOS" | tail -n1 | sed 's/Quicksy_Build_iOS_//g')
buildNumber=$(expr $oldBuildNumber + 1)
echo "New buildNumber is $buildNumber"
git tag Quicksy_Build_iOS_$buildNumber
Expand All @@ -58,15 +58,16 @@ 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 "Quicksy_Build_iOS" | tail -n1 | sed 's/Quicksy_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')"
version="6.4.2"
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 "tag=Quicksy_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"
Expand Down Expand Up @@ -114,7 +115,7 @@ jobs:
- name: push tag to stable repo
run: |
buildNumber=$(git tag --sort="v:refname" | grep "Quicksy_Build_iOS" | tail -n1 | sed 's/Quicksy_Build_iOS_//g')
git push origin Build_iOS_$buildNumber
git push origin Quicksy_Build_iOS_$buildNumber
- name: Create fastlane metadata directory
id: metadata
env:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/stable.build-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,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
Expand All @@ -60,7 +60,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"
Expand Down Expand Up @@ -120,7 +120,7 @@ jobs:
run: xcrun altool --validate-app --file ./Monal/build/ipa/Monal.ipa --type ios -u $(cat /Users/ci/apple_connect_upload_mail.txt) -p "$(cat /Users/ci/apple_connect_upload_secret.txt)"
- name: push tag to stable 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 metadata directory
id: metadata
Expand Down

0 comments on commit 67a34fc

Please sign in to comment.