diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000000..077a8e6772 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,43 @@ +# build a new beta release and push it to apple +name: test + +# Controls when the action will run. +on: + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + 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-changelog: ${{ steps.releasenotes.outputs.notes }} + steps: + - uses: actions/checkout@v4 + with: + clean: true + submodules: true + fetch-depth: 100 + fetch-tags: true + show-progress: true + lfs: true + - name: Checkout beta + run: git checkout beta + - name: Checkout submodules + run: git submodule update -f --init --remote + - name: Extract version number and changelog from newest merge commit + id: releasenotes + run: | + buildNumber=$(git tag --sort="v:refname" | grep "Build_iOS" | tail -n1 | sed 's/Build_iOS_//g') + echo "tag=Build_iOS_$buildNumber" | tee /dev/stderr >> "$GITHUB_OUTPUT" + echo "name=Monal :$(git log -n 1 --merges --pretty=format:%s | sed -E 's/^\s*([^\s]+)\s+\(([^\s]+)\)\s*$/\1 (Build '$buildNumber', PR \2)/g'):" | tee /dev/stderr >> "$GITHUB_OUTPUT" + echo "notes<<__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT" + echo "$(git log -n 1 --merges --pretty=format:%b)" | tee /dev/stderr >> "$GITHUB_OUTPUT" + echo "__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT" + - name: Publish ios to appstore connect + run: | + notes=$(printf '%s\n' "${{ steps.releasenotes.outputs.notes }}" | jq -sRr @sh) + fastlane run upload_to_testflight api_key_path:"/Users/ci/appstoreconnect/key.json" team_id:"S8D843U34Y" changelog:$notes distribute_external:true groups:"Internal Pre-Beta Testers","Public Beta" reject_build_waiting_for_review:true submit_beta_review:true