Skip to main content

Scripts

Lists all the reusable scripts available in the repository.

on-demand-build.sh

Description

This script allows a developer with the correct Signing Keys stored locally to build a configured version for one of the stores.

This version can be configured with any of the below parameters and will run the correct Fastlane script to complete the job.

Parameters

FlagDescriptionrequired?typedefault?choose from (case sensitive)
-o OR --osOperating system to build foryesstringnone[ios, android]
-e OR --environmentVets API environment to build fornostringstaging[staging, production]
-b OR --branchBranch to checkoutnostringdevelopAny GitHub Branch
-t OR --typeType of buildnostringqa[qa, release, hotfix]
-f OR --flight_groupTest Flight group to build for (iOS)nostringDevelopment Team[Development Team, Ad Hoc Production Testers, IAM Group, Push Testing, UAT Group, VA 508 Testers, VA Employee (Wide) Beta, VA Production Testers, VA Stakeholders]
-p OR --play_trackGoogle Play Track to build for (Android)nostringDevelopment Team[Development Team, VA Production Testers]
-n OR --notesNotes to display in Test Flight or Firebase Distribution for this buildnostringnoneNA
-h OR --helpDisplays this help menunoNANANA

File location

~/VAMobile.on-demand-build.sh


production.sh

Description

Build an production version of Android or iOS. This will deploy to the release staging lane for the OS.

Requires that the developer have the corret certificates installed on their local machine.

Parameters

FlagDescriptionrequired?typedefault?choose from (case sensitive)
-o OR --osOperating system to build foryesstringnone[ios, android]
-v OR --versionVersion nameyesstringnoneShould conform to the regular expression /^v\d+\.\d+\.\d+/ (eg v1.1.10)
-h OR --helpDisplays this help menuNANANANA

File location

~/VAMobile/production.sh


release_branch.sh

Description

This script is used by the release branch automation. Because release branches happen every two weeks and crontab notation does not offer intervals, this script includes a date check to determine if it's a release week.

From the help:

Release branch automation script

This script does the following:

  1. Checks the date to see if it occurs at a 2 week interval from August 4, 2021. (If this is true, then we should cut a release branch from develop). Unless the --bypass-date-check flag is passed.
  2. Checks out the main branch, then pulls the latest tag.
  3. Increments the latest tag by the minor version to get the next release version number
  4. Checks out and pulls latest develop branch
  5. Creates a new release branch with the correct name and pushes it up to the origin
  6. Tags the branch with an RC tag (format: RC-vX.X.X-MMDDYY-HHMM) to trigger the release candidate build

Parameters

FlagDescriptionrequired?typedefault?
--bypass-date-checkBypass the biweekly date checknoNANA
-h or --helpDisplays help menunoNANA
caution

This script uses GNU date syntax (date +%s --date "2021-08-04") which is available in the CI environment (Ubuntu). It will not work on macOS without installing GNU coreutils. To test locally on macOS, replace date with gdate (available via brew install coreutils) or use the --bypass-date-check flag.

File location

~/VAMobile/release_branch.sh