This PR adds two workflows for app store checks and a reusable workflow that checks max size/len of something with a variable bash function:
Google Play checks
checks the following limits for the store:
8 or less images in the VAMobile/android/fastlane/metadata/android/en-US/images/phoneScreenshots directory
8 or less images in the VAMobile/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots
LTE 4000 characters in VAMobile/android/fastlane/metadata/android/en-US/full-description.txt
LTE 80 characters in VAMobile/android/fastlane/metadata/android/en-US/short-description.txt
LTE 500 characters in VAMobile/android/fastlane/metadata/android/en-US/changelogs/default.txt
LTE 50 characters in VAMobile/android/fastlane/metadata/android/en-US/title.txt
Apple Store checks
10 or less images in VAMobile/ios/fastlane/screenshots/en-US that start with ipadProGen2
10 or less images in VAMobile/ios/fastlane/screenshots/en-US that start with ipadPro13
10 or less images in VAMobile/ios/fastlane/screenshots/en-US that start with ipadPro129
10 or less images in VAMobile/ios/fastlane/screenshots/en-US that start with iphone55
10 or less images in VAMobile/ios/fastlane/screenshots/en-US that start with iphone67
LTE 4000 characters in VAMobile/ios/fastlane/metadata/en-US/description.txt
LTE 4000 characters in VAMobile/ios/fastlane/metadata/en-US/release_notes.txt
LTE 1000 characters in VAMobile/ios/fastlane/metadata/en-US/keywords.txt
LTE 50 characters in VAMobile/ios/fastlane/metadata/en-US/title.txt
Check Max Size workflow
This workflow will check that a bash functions results are less than an indicated amount
on:
workflow_call:
inputs:
working_dir:
required: true
type: string
max_size:
required: true
type: string
file_counting_function:
required: true
type: string
jobs:
check_max_files:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: |
if [[ $(${{ inputs.file_counting_function }}) -gt ${{ inputs.max_size }} ]]
then
echo "PR exceeds app store limits of ${{ inputs.max_size }} for this check"
exit 1
fi
working-directory: ${{ inputs.working_dir }}
counting function can be any bash function available in the base image that returns a number string.
When does this run?
I have set filters on this to only run on PRs to main, develop, and release/v** branches that touch the metadata files with the following path fileters:
Description of Change
This PR adds two workflows for app store checks and a reusable workflow that checks max size/len of something with a variable bash function:
Google Play checks
checks the following limits for the store:
VAMobile/android/fastlane/metadata/android/en-US/images/phoneScreenshots
directoryVAMobile/android/fastlane/metadata/android/en-US/images/sevenInchScreenshots
VAMobile/android/fastlane/metadata/android/en-US/full-description.txt
VAMobile/android/fastlane/metadata/android/en-US/short-description.txt
VAMobile/android/fastlane/metadata/android/en-US/changelogs/default.txt
VAMobile/android/fastlane/metadata/android/en-US/title.txt
Apple Store checks
VAMobile/ios/fastlane/screenshots/en-US
that start withipadProGen2
VAMobile/ios/fastlane/screenshots/en-US
that start withipadPro13
VAMobile/ios/fastlane/screenshots/en-US
that start withipadPro129
VAMobile/ios/fastlane/screenshots/en-US
that start withiphone55
VAMobile/ios/fastlane/screenshots/en-US
that start withiphone67
VAMobile/ios/fastlane/metadata/en-US/description.txt
VAMobile/ios/fastlane/metadata/en-US/release_notes.txt
VAMobile/ios/fastlane/metadata/en-US/keywords.txt
VAMobile/ios/fastlane/metadata/en-US/title.txt
Check Max Size workflow
This workflow will check that a bash functions results are less than an indicated amount
counting function can be any bash function available in the base image that returns a number string.
When does this run?
I have set filters on this to only run on PRs to
main
,develop
, andrelease/v**
branches that touch the metadata files with the following path fileters:VAMobile/android/fastlane/metadata/android/en-US/**
VAMobile/ios/fastlane/metadata/en-US/**
VAMobile/ios/fastlane/screenshots/**
I have split this up into two different workflow to just be more efficient in cases where we have not updated both paltforms metadata.
Screenshots/Video
Testing
Tested outputs with both Act CLI runners locally and with a couple of runs on the console
Reviewer Validations
Any questions or suggestions about this
PR Checklist
Reviewer: Confirm the items below as you review
For QA
Run a build for this branch