Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
19 changes: 18 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -382,13 +382,30 @@ jobs:
name: framed
path: fastlane/framed

# Kept, because the check below reads it. `tee` rather than a redirect so
# the step still shows what it is doing while it runs.
- name: write ${{ matrix.app }}'s listing
env:
ASC_KEY_ID: ${{ secrets.ASC_KEY_ID }}
ASC_ISSUER_ID: ${{ secrets.ASC_ISSUER_ID }}
ASC_KEY_CONTENT: ${{ secrets.ASC_KEY_CONTENT }}
ODR_VERSION: ${{ steps.version.outputs.version }}
run: bundle exec fastlane ios ${{ matrix.lane }}
run: |
set -o pipefail
bundle exec fastlane ios ${{ matrix.lane }} 2>&1 | tee listing.log

# A picture that did not land is uploaded again, and if the delete of the
# failed one does not take, the store keeps both. That leaves a locale
# showing the same screenshot twice, which nothing else here would notice
# - deliver reports the run as a success. So the retry itself is the
# failure: the pictures are up either way, and this says to go and look.
- name: the screenshots went up once each
run: |
set -euo pipefail
if grep -q "Failed to upload all screenshots" listing.log; then
echo "::error::deliver retried the screenshot upload, which can leave duplicates in App Store Connect. Check ${{ matrix.app }}'s screenshots for every locale before submitting, and re-run this job to upload the set again."
exit 1
fi

record:
needs: upload
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,13 @@ It runs as five jobs:
Both apps always go out together, and nothing chooses one: Pro and Lite are the
same sources built as two targets, one of which links no ad sdk.

**If a `listing` job fails saying the screenshots did not go up once each**, the
set is up but a locale may hold a picture twice: deliver uploads what it thinks
did not land, and a delete that does not take leaves both. Look at the app's
screenshots in App Store Connect, and fix the set before submitting. Re-running
the job is worth a try - it clears the set before it uploads - but it has come
back doubled a second time, so check rather than assume.

**If one app's upload fails, press "Re-run failed jobs".** Only that upload runs
again, against the `.ipa` already built and signed - build number included, since
it is baked in at archive time - and `record` runs behind it once it lands.
Expand Down