Deploy for public release #39
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy for public release | |
on: | |
push: | |
tags: | |
- '*' | |
workflow_dispatch: | |
jobs: | |
build: | |
permissions: | |
contents: write | |
name: Build for ${{ matrix.targetPlatform }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
targetPlatform: | |
- StandaloneLinux64 | |
- StandaloneWindows64 | |
- StandaloneOSX | |
- Android | |
- iOS | |
steps: | |
- uses: jlumbroso/[email protected] | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
lfs: true | |
- name: Decrypt & extract secrets | |
run: ./decrypt_secret.sh | |
env: | |
SECRET_PASSPHRASE: ${{ secrets.ENCRYPTED_FILE_SECRET_PASSPHRASE }} | |
- uses: actions/cache@v3 | |
with: | |
path: Library | |
key: | |
Library-${{ matrix.targetPlatform }}-${{ hashFiles('Assets/**', 'Packages/**', 'ProjectSettings/**') }} | |
restore-keys: | | |
Library-${{ matrix.targetPlatform }}- | |
Library- | |
- uses: game-ci/unity-builder@v4 | |
env: | |
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} | |
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} | |
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} | |
with: | |
targetPlatform: ${{ matrix.targetPlatform }} | |
buildName: ArcCreate | |
androidKeystoreName: arccreate | |
androidExportType: androidAppBundle | |
androidKeystoreBase64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} | |
androidKeystorePass: ${{ secrets.ANDROID_KEYSTORE_PASS }} | |
androidKeyaliasName: ${{ secrets.ANDROID_KEYALIAS_NAME }} | |
androidKeyaliasPass: ${{ secrets.ANDROID_KEYALIAS_PASS }} | |
androidTargetSdkVersion: AndroidApiLevel34 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: build-${{ matrix.targetPlatform }} | |
path: build/${{ matrix.targetPlatform }} | |
- name: Zip Build | |
uses: montudor/action-zip@v1 | |
with: | |
args: zip -qq -r build/${{ matrix.targetPlatform }}.zip build/${{ matrix.targetPlatform }} | |
- name: Upload Zip to GitHub Release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/${{ matrix.targetPlatform }}.zip | |
asset_name: ${{ matrix.targetPlatform }}.zip | |
tag: ${{ github.ref }} | |
overwrite: true | |
releaseToGooglePlay: | |
name: Release to the Google Play Store | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
GOOGLE_PLAY_KEY_FILE: ${{ secrets.GOOGLE_PLAY_KEY_FILE }} | |
GOOGLE_PLAY_KEY_FILE_PATH: | |
${{ format('{0}/fastlane/google-fastlane.json', github.workspace) }} | |
ANDROID_BUILD_FILE_PATH: ${{ format('{0}/build/Android/ArcCreate.aab', github.workspace) }} | |
ANDROID_PACKAGE_NAME: ${{ secrets.ANDROID_PACKAGE_NAME }} | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Download Android Artifact | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-Android | |
path: build/Android | |
- name: Add Authentication | |
run: echo "$GOOGLE_PLAY_KEY_FILE" > $GOOGLE_PLAY_KEY_FILE_PATH | |
- name: Set up Fastlane | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.2 | |
bundler-cache: true | |
- name: Upload to Google Play Internal | |
uses: maierj/[email protected] | |
with: | |
lane: 'android production' | |
releaseToAppStore: | |
name: Release to the App Store | |
runs-on: macos-latest | |
needs: build | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v2 | |
- name: Download iOS Artifact | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-iOS | |
path: build/iOS | |
- name: Fix File Permissions and Run fastlane | |
env: | |
APPLE_CONNECT_EMAIL: ${{ secrets.APPLE_CONNECT_EMAIL }} | |
APPLE_DEVELOPER_EMAIL: ${{ secrets.APPLE_DEVELOPER_EMAIL }} | |
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
MATCH_REPOSITORY: ${{ secrets.MATCH_REPOSITORY }} | |
MATCH_DEPLOY_KEY: ${{ secrets.MATCH_DEPLOY_KEY }} | |
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
APPSTORE_ISSUER_ID: ${{ secrets.APPSTORE_ISSUER_ID }} | |
APPSTORE_KEY_ID: ${{ secrets.APPSTORE_KEY_ID }} | |
APPSTORE_P8: ${{ secrets.APPSTORE_P8 }} | |
IOS_BUILD_PATH: ${{ format('{0}/build/iOS/ArcCreate', github.workspace) }} | |
IOS_BUNDLE_ID: com.Arcthesia.ArcCreate | |
PROJECT_NAME: ArcCreate | |
run: | | |
ls $IOS_BUILD_PATH | |
eval "$(ssh-agent -s)" | |
ssh-add - <<< "${MATCH_DEPLOY_KEY}" | |
find $IOS_BUILD_PATH -type f -name "**.sh" -exec chmod +x {} \; | |
bundle install | |
bundle exec fastlane ios beta |