Skip to content

Release application #283

Release application

Release application #283

Workflow file for this run

name: Release application
on:
workflow_dispatch:
inputs:
is_release_candidate:
type: boolean
description: Release candidate
required: true
default: false
jobs:
deploy:
name: Deploying to Testflight
runs-on: macos-13
env:
# Override fastlane tooling variables
FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT: 180
FASTLANE_XCODEBUILD_SETTINGS_RETRIES: 10
XCODE_VERSION: "15.0"
LOKALISE_PROJECT_ID: ${{ secrets.LOKALISE_PROJECT_ID }}
LOKALISE_API_TOKEN: ${{ secrets.LOKALISE_API_TOKEN }}
SUPPORTED_LANGUAGUES: "[\"en\"]"
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
fetch-depth: '0'
# submodules: recursive
# token: ${{ secrets.GITHUB_TOKEN }}
- name: Map fix version to jira tasks
if: ${{ github.event.inputs.is_release_candidate == 'true' }}
env:
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
run: |
chmod u+x Scripts/jiraMapVersionToTasks.sh
BRANCH_NAME=${{ github.ref }}
BRANCH_NAME=${BRANCH_NAME#refs/heads/}
Scripts/jiraMapVersionToTasks.sh $BRANCH_NAME
- name: Select XCode Version
run: sudo xcode-select --switch /Applications/Xcode_${{ env.XCODE_VERSION }}.app
- name: Generate secret files and check it
run: |
curl -o ./p2p_wallet/Config.xcconfig ${{ secrets.XCCONFIG_URL }}
chmod u+x Scripts/checkSecrets.sh && Scripts/checkSecrets.sh
shell: bash
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Download Localizable.strings files and Install project
env:
IS_CI: 'true'
run: |
chmod u+x Scripts/download-localizable-strings.sh && Scripts/download-localizable-strings.sh
chmod u+x Scripts/install.sh && Scripts/install.sh
shell: bash
- name: Fix missing Transporter.app
run: |
export FASTLANE_ITUNES_TRANSPORTER_USE_SHELL_SCRIPT=1
export FASTLANE_ITUNES_TRANSPORTER_PATH=/Applications/Transporter.app/Contents/itms
export FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD=${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}
- name: Upload to test
uses: maierj/[email protected]
with:
lane: release
env:
IS_RELEASE_CANDIDATE: '${{ inputs.is_release_candidate }}'
DEVELOPER_APP_IDENTIFIER: '${{ secrets.DEVELOPER_APP_IDENTIFIER }}'
APP_STORE_CONNECT_TEAM_ID: '${{ secrets.APP_STORE_CONNECT_TEAM_ID }}'
DEVELOPER_PORTAL_TEAM_ID: '${{ secrets.DEVELOPER_PORTAL_TEAM_ID }}'
DEVELOPER_APP_ID: '${{ secrets.DEVELOPER_APP_ID }}'
DEVELOPER_APP_ID_TEST: '${{ secrets.DEVELOPER_APP_ID_TEST }}'
PROVISIONING_PROFILE_SPECIFIER_ADHOC: '${{ secrets.PROVISIONING_PROFILE_SPECIFIER_ADHOC }}'
PROVISIONING_PROFILE_SPECIFIER_APPSTORE: '${{ secrets.PROVISIONING_PROFILE_SPECIFIER_APPSTORE }}'
APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}'
PROVISIONING_REPO: '${{ secrets.PROVISIONING_REPO }}'
FIREBASE_APP_ID: '${{ secrets.FIREBASE_APP_ID }}'
FIREBASE_APP_ID_TEST: '${{ secrets.FIREBASE_APP_ID_TEST }}'
FIREBASE_CLI_TOKEN: '${{ secrets.FIREBASE_CLI_TOKEN }}'
BROWSERSTACK_USERNAME: '${{ secrets.BROWSERSTACK_USERNAME }}'
BROWSERSTACK_ACCESS_KEY: '${{ secrets.BROWSERSTACK_ACCESS_KEY }}'
FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}'
TEMP_KEYCHAIN_USER: '${{ secrets.TEMP_KEYCHAIN_USER }}'
TEMP_KEYCHAIN_PASSWORD: '${{ secrets.TEMP_KEYCHAIN_PASSWORD }}'
APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}'
APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}'
GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}'
MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}'
IS_CI: '${{ secrets.IS_CI }}'
SLACK_API_TOKEN: '${{ secrets.SLACK_API_TOKEN }}'
JIRA_BASE_URL: '${{ secrets.JIRA_BASE_URL }}'
GOOGLE_SERVICE_INFO_PLIST_URL: '${{ secrets.GOOGLE_SERVICE_INFO_PLIST_URL }}'
SENTRY_TOKEN: '${{ secrets.SENTRY_TOKEN }}'
BROWSERSTACK_USERNAME_NEW: '${{ secrets.BROWSERSTACK_USERNAME_NEW }}'
BROWSERSTACK_ACCESS_KEY_NEW: '${{ secrets.BROWSERSTACK_ACCESS_KEY_NEW }}'
DISCORD_IOS_BUILD_CHANNEL_ID: '${{ secrets.DISCORD_IOS_BUILD_CHANNEL_ID }}'
DISCORD_MESSAGE_API_ENDPOINT: '${{ secrets.DISCORD_MESSAGE_API_ENDPOINT }}'
DISCORD_MESSAGE_API_BEARER_TOKEN: '${{ secrets.DISCORD_MESSAGE_API_BEARER_TOKEN }}'