Skip to content

Commit

Permalink
Sync appstore workflow with recent changes
Browse files Browse the repository at this point in the history
Signed-off-by: Steve Cassidy <steve.cassidy@mq.edu.au>
  • Loading branch information
stevecassidy committed Nov 28, 2024
1 parent b6c5945 commit 0038c1e
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 54 deletions.
121 changes: 77 additions & 44 deletions .github/workflows/appstore-testflight.yml
Original file line number Diff line number Diff line change
@@ -1,82 +1,122 @@
---
# Nightly compile for e2e testing
name: Deploy to Apple App Store on Demo Track, Manual
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the main branch
# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions

on:
# Trigger the workflow on push or pull request,
# but only for the main branch
# push:
# branches:
# - github-actions
# - main

workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
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@v3
- 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"
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:
- name: Checkout repository
uses: actions/checkout@v3
- 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: false
working-directory: ios/App
# No cache because permissions issues?
bundler-cache: true # changed - was false because 'permissions issues?'
working-directory: app/ios/App
- run: |
cd ios/App; bundle install; bundle exec fastlane install_plugins
cd app/ios/App
bundle install
bundle exec fastlane install_plugins
- name: Use Node.js 20
uses: actions/setup-node@v3
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'
python-version: '3.10'
- name: Building webapp
run: |
export platform="github-actions-ios"
export serverprefix="fieldmark"
export PYTHON=python3.10
export VITE_CLUSTER_ADMIN_GROUP_NAME=cluster-admin
export VITE_COMMIT_VERSION=$(bin/getDescribeString.sh ios)
export VITE_COMMIT_VERSION=${{env.version_string}}
export VITE_SHOW_WIPE=true
export VITE_SHOW_MINIFAUXTON=false
export VITE_DIRECTORY_HOST=db.testing.fieldmark.app
export VITE_DIRECTORY_PORT=443
export VITE_TAG=prodIOS
export VITE_BUGSNAG_KEY=${{secrets.BUGSNAG_KEY}}
git clean -xfd
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
- run: npx cap update ios
- run: npx cap sync --deployment ios
- run: cd ios/App; pod install
- 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
Expand All @@ -86,7 +126,6 @@ jobs:
bundle-install-path: '$HOME/vendor/bundle'
verbose: false
env:
VITE_LOGIN_TOKEN: "${{ secrets.JWT_TEST_TOKEN }}"
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 }}'
Expand All @@ -103,9 +142,3 @@ jobs:
APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}'
BROWSERSTACK_USERNAME: '${{secrets.BROWSERSTACK_USERNAME}}'
BROWSERSTACK_ACCESS_KEY: '${{secrets.BROWSERSTACK_ACCESS_KEY}}'
- name: Archive ipas
uses: actions/upload-artifact@v3
with:
name: ipa
path: |
/Users/runner/work/FAIMS3/FAIMS3/ios/App/App.ipa
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

0 comments on commit 0038c1e

Please sign in to comment.