Skip to content

Commit

Permalink
Fix Apple App Store Workflows (#1247)
Browse files Browse the repository at this point in the history
# Fix Apple App Store Workflows

## JIRA Ticket

None

## Description

Revive the App Store workflows and get them to work again with the
monorepo.


## Checklist

- [x] I have confirmed all commits have been signed.
- [x] I have added JSDoc style comments to any new functions or classes.
- [x] Relevant documentation such as READMEs, guides, and class comments
are updated.
  • Loading branch information
stevecassidy authored Nov 28, 2024
2 parents ff15928 + 0038c1e commit 7032f4d
Show file tree
Hide file tree
Showing 5 changed files with 148 additions and 121 deletions.
File renamed without changes.
144 changes: 144 additions & 0 deletions .github/workflows/appstore-testflight.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
name: Deploy to Apple App Store on Demo Track, Manual

on:
workflow_dispatch:
schedule:
- cron: '39 20 * * 1-5'

jobs:
check_date:
runs-on: ubuntu-latest
name: Check latest commit
outputs:
should_run: ${{ steps.should_run.outputs.should_run }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: print latest_commit
run: echo ${{ github.sha }}
- id: should_run
continue-on-error: true
name: check latest commit is less than a day
if: ${{ github.event_name == 'schedule' }}
run: test -z $(git rev-list --after="24 hours" ${{ github.sha }}) && echo "::set-output name=should_run::false"

ios-deploy:
name: Deploying to Testflight
runs-on: macOS-latest
needs: check_date
if: ${{ needs.check_date.outputs.should_run != 'false' }}
continue-on-error: false
env:
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Cache node modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Configure Turborepo Remote Cache
run: |
mkdir -p .turbo
if [ -n "${{ vars.TURBO_API_URL }}" ]; then
echo '{"apiurl": "${{ vars.TURBO_API_URL }}"}' > .turbo/config.json
echo "Turborepo config file created at .turbo/config.json"
else
echo "TURBO_API_URL not set. Skipping Turborepo cache configuration."
fi
if [ -n "$TURBO_TEAM" ] && [ -n "$TURBO_TOKEN" ]; then
echo "TURBO_TEAM and TURBO_TOKEN environment variables set"
else
echo "TURBO_TEAM and/or TURBO_TOKEN not set. Remote caching may not be available."
fi
- name: Install jq
run: sudo apt-get install -y jq

- name: Declare some variables
shell: bash
run: |
echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> "$GITHUB_ENV"
echo "app_version=$(jq -r '.version' app/package.json)" >> "$GITHUB_ENV"
- name: Create version string
shell: bash
run: |
echo "version_string=v${{env.app_version}}-android-#${{env.sha_short}}" >> "$GITHUB_ENV"
- name: Set up ruby env
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.3.1
bundler-cache: true # changed - was false because 'permissions issues?'
working-directory: app/ios/App
- run: |
cd app/ios/App
bundle install
bundle exec fastlane install_plugins
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- name: Use Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Building webapp
run: |
export platform="github-actions-ios"
export serverprefix="fieldmark"
export VITE_CLUSTER_ADMIN_GROUP_NAME=cluster-admin
export VITE_COMMIT_VERSION=${{env.version_string}}
export VITE_SHOW_WIPE=true
export VITE_SHOW_MINIFAUXTON=true
export VITE_CONDUCTOR_URL=${{vars.NIGHTLY_CONDUCTOR_URL}}
export VITE_TAG=prodAndroid
export VITE_NOTEBOOK_LIST_TYPE=${{vars.NOTEBOOK_LIST_TYPE}}
export VITE_NOTEBOOK_NAME=${{vars.NOTEBOOK_NAME}}
export VITE_THEME=${{vars.THEME}}
export VITE_BUGSNAG_KEY=${{secrets.BUGSNAG_KEY}}
export VITE_APP_ID=${{vars.APP_ID}}
export VITE_APP_NAME="${{vars.APP_NAME}}"
export VITE_SHOW_RECORD_SUMMARY_COUNTS="${{vars.VITE_SHOW_RECORD_SUMMARY_COUNTS}}"
npm ci --python=python3.10
npm run build
- name: Update IOS Build
run: |
cd app
npx cap update ios
npx cap sync --deployment ios
cd ios/App; pod install
#- run: chmod -R 777 /Users/runner/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/gems/
- name: Deploy iOS Beta to TestFlight via Fastlane
uses: maierj/fastlane-action@v2.3.0
with:
lane: closed_beta_testflight
subdirectory: 'ios/App'
bundle-install-path: '$HOME/vendor/bundle'
verbose: false
env:
APP_STORE_CONNECT_TEAM_ID: '${{ secrets.APP_STORE_CONNECT_TEAM_ID }}'
DEVELOPER_APP_ID: '${{ secrets.DEVELOPER_APP_ID }}'
DEVELOPER_APP_IDENTIFIER: '${{ secrets.DEVELOPER_APP_IDENTIFIER }}'
DEVELOPER_PORTAL_TEAM_ID: '${{ secrets.DEVELOPER_PORTAL_TEAM_ID }}'
FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}'
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}'
MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}'
GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}'
PROVISIONING_PROFILE_SPECIFIER: '${{ secrets.PROVISIONING_PROFILE_SPECIFIER }}'
TEMP_KEYCHAIN_PASSWORD: '${{ secrets.TEMP_KEYCHAIN_PASSWORD }}'
TEMP_KEYCHAIN_USER: '${{ secrets.TEMP_KEYCHAIN_USER }}'
APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}'
APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}'
APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}'
BROWSERSTACK_USERNAME: '${{secrets.BROWSERSTACK_USERNAME}}'
BROWSERSTACK_ACCESS_KEY: '${{secrets.BROWSERSTACK_ACCESS_KEY}}'
7 changes: 2 additions & 5 deletions .github/workflows/fieldmark-google-play-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ jobs:
env:
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
strategy:
matrix:
node-version: ['20']
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
Expand Down Expand Up @@ -60,10 +57,10 @@ jobs:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Use Node.js ${{ matrix.node-version }}
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
node-version: 20
cache: 'npm'
# https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-java-with-gradle
- name: Set up adopt JDK 1.17
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/nightly-android-testbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,6 @@ jobs:
env:
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
strategy:
matrix:
node-version: ['20']
steps:
- uses: actions/checkout@v4
- name: Cache node modules
Expand Down Expand Up @@ -81,10 +78,10 @@ jobs:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Use Node.js ${{ matrix.node-version }}
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
node-version: 20
cache: 'npm'
# https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-java-with-gradle
- name: Set up adopt JDK 1.17
Expand Down
111 changes: 0 additions & 111 deletions app/.github/workflows/appstore-testflight.yml

This file was deleted.

0 comments on commit 7032f4d

Please sign in to comment.