Skip to content

PIA-809: Update client app #15

PIA-809: Update client app

PIA-809: Update client app #15

Workflow file for this run

name: pia-mobile/ios/vpn-ios
on:
push:
workflow_dispatch:
concurrency:
group: "${{ github.ref }}"
cancel-in-progress: true
env:
PIA_STAGING_ENDPOINT: "${{ secrets.PIA_STAGING_ENDPOINT }}"
PIA_CUSTOM_SERVERS: chipotle251:US:chipotle251.londontrustmedia.com:108.61.57.211:8080:500 sharingan:GB:sharingan.londontrustmedia.com:185.195.200.20:8080:500
PIA_FIREBASE_PLIST: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>CLIENT_ID</key><string>599746893663-naub4m5ppoos0tuodrjuk67t0q5saj3m.apps.googleusercontent.com</string><key>REVERSED_CLIENT_ID</key><string>com.googleusercontent.apps.599746893663-naub4m5ppoos0tuodrjuk67t0q5saj3m</string><key>API_KEY</key><string>AIzaSyD_9Gdzi4WgNfAwl9PPupph1eWnf0zstA4</string><key>GCM_SENDER_ID</key><string>599746893663</string><key>PLIST_VERSION</key><string>1</string><key>BUNDLE_ID</key><string>com.privateinternetaccess.ios.PIA-VPN</string><key>PROJECT_ID</key><string>pia-ios-e7da0</string><key>STORAGE_BUCKET</key><string>pia-ios-e7da0.appspot.com</string><key>IS_ADS_ENABLED</key><false></false><key>IS_ANALYTICS_ENABLED</key><false></false><key>IS_APPINVITE_ENABLED</key><true></true><key>IS_GCM_ENABLED</key><true></true><key>IS_SIGNIN_ENABLED</key><true></true><key>GOOGLE_APP_ID</key><string>1:599746893663:ios:9a64d6b91b33eb1f3088ea</string><key>DATABASE_URL</key><string>https://pia-ios-e7da0.firebaseio.com</string></dict></plist>
APPCENTER_API_TOKEN: "${{ secrets.APPCENTER_API_TOKEN }}"
APPCENTER_OWNER_NAME: Kape
APPCENTER_APP_NAME: PIA-VPN
APPCENTER_DISTRIBUTE_DESTINATIONS: QA,Developers
APPSTORE_USERNAME: "${{ secrets.APPSTORE_USERNAME }}"
APPSTORE_SPECIFIC_PWD: "${{ secrets.APPSTORE_SPECIFIC_PWD }}"
APPSTORE_PASSWORD: 7Uyz@VouY3pvn!gdU7Zr
APP_IDENTIFIER: "${{ secrets.APP_IDENTIFIER }}"
APPSTORE_CONNECT_TEAM_ID: '609225'
APPSTORE_DEVELOPER_TEAM_ID: "${{ secrets.APPSTORE_DEVELOPER_TEAM_ID }}"
FASTLANE_USER: "${{ secrets.FASTLANE_USER }}"
FASTLANE_PASSWORD: 7Uyz@VouY3pvn!gdU7Zr
MATCH_PASSWORD: "${{ secrets.MATCH_PASSWORD }}"
SLACK_URL: "${{ secrets.SLACK_URL }}"
DELIVER_USER: "${{ secrets.DELIVER_USER }}"
jobs:
qa_archive:
runs-on:
- self-hosted
- ios
if: (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads//^release.*$/')
timeout-minutes: 60
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
STAGE_BUILD_PATH: build
STAGE_ARTIFACTS_PATH: dist
STAGE_TESTFLIGHT_ARTIFACTS_PATH: apple_dist
STAGE_ARCHIVE_NAME: pia-vpn
SERIALIZED_ARCHIVE_JSON: "$STAGE_ARTIFACTS_PATH/notify.json"
MATCH_TYPE: adhoc
GYM_SCHEME: PIA VPN dev
GYM_EXPORT_METHOD: ad-hoc
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 50
lfs: true
- run: gem install bundler --no-ri --no-rdoc
- run: bundle update
- run: echo "$PIA_STAGING_ENDPOINT" >"Resources/staging.endpoint"
- run: echo "$PIA_CUSTOM_SERVERS" >"Resources/custom.servers"
- run: echo "$PIA_FIREBASE_PLIST" >"Resources/GoogleService-Info.plist"
- run: bundle exec fastlane create_archive
- uses: actions/upload-artifact@v2
if: success()
with:
name: "${{ github.job }}"
retention-days: 7
path: "$STAGE_ARTIFACTS_PATH/$STAGE_ARCHIVE_NAME.*"
beta_manual_archive:
runs-on:
- self-hosted
- ios
if: github.event_name == 'workflow_dispatch'
timeout-minutes: 60
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
STAGE_BUILD_PATH: build
STAGE_ARTIFACTS_PATH: dist
STAGE_TESTFLIGHT_ARTIFACTS_PATH: apple_dist
STAGE_ARCHIVE_NAME: pia-vpn
SERIALIZED_ARCHIVE_JSON: "$STAGE_ARTIFACTS_PATH/notify.json"
MATCH_TYPE: appstore
GYM_SCHEME: PIA VPN
GYM_EXPORT_METHOD: app-store
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 50
lfs: true
- run: gem install bundler --no-ri --no-rdoc
- run: bundle update
- run: echo "$PIA_STAGING_ENDPOINT" >"Resources/staging.endpoint"
- run: echo "$PIA_CUSTOM_SERVERS" >"Resources/custom.servers"
- run: echo "$PIA_FIREBASE_PLIST" >"Resources/GoogleService-Info.plist"
- run: bundle exec fastlane create_beta_archive
- uses: actions/upload-artifact@v2
if: success()
with:
name: "${{ github.job }}"
retention-days: 7
path: "$STAGE_TESTFLIGHT_ARTIFACTS_PATH/$STAGE_ARCHIVE_NAME.*"
manual_qa_archive:
runs-on:
- self-hosted
- ios
if: github.event_name == 'workflow_dispatch'
timeout-minutes: 60
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
STAGE_BUILD_PATH: build
STAGE_ARTIFACTS_PATH: dist
STAGE_TESTFLIGHT_ARTIFACTS_PATH: apple_dist
STAGE_ARCHIVE_NAME: pia-vpn
SERIALIZED_ARCHIVE_JSON: "$STAGE_ARTIFACTS_PATH/notify.json"
MATCH_TYPE: adhoc
GYM_SCHEME: PIA VPN dev
GYM_EXPORT_METHOD: ad-hoc
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 50
lfs: true
- run: gem install bundler --no-ri --no-rdoc
- run: bundle update
- run: echo "$PIA_STAGING_ENDPOINT" >"Resources/staging.endpoint"
- run: echo "$PIA_CUSTOM_SERVERS" >"Resources/custom.servers"
- run: echo "$PIA_FIREBASE_PLIST" >"Resources/GoogleService-Info.plist"
- run: bundle exec fastlane create_archive
- uses: actions/upload-artifact@v2
if: success()
with:
name: "${{ github.job }}"
retention-days: 7
path: "$STAGE_ARTIFACTS_PATH/$STAGE_ARCHIVE_NAME.*"
qa_deploy:
needs:
- qa_archive
- beta_manual_archive
- manual_qa_archive
runs-on:
- self-hosted
- ios
if: (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads//^release.*$/')
environment:
name: hockey
url: "$HOCKEY_URL"
timeout-minutes: 60
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
STAGE_BUILD_PATH: build
STAGE_ARTIFACTS_PATH: dist
STAGE_TESTFLIGHT_ARTIFACTS_PATH: apple_dist
STAGE_ARCHIVE_NAME: pia-vpn
SERIALIZED_ARCHIVE_JSON: "$STAGE_ARTIFACTS_PATH/notify.json"
IPA_OUTPUT_PATH: "$STAGE_ARTIFACTS_PATH/$STAGE_ARCHIVE_NAME.ipa"
FL_HOCKEY_IPA: "$STAGE_ARTIFACTS_PATH/$STAGE_ARCHIVE_NAME.ipa"
FL_HOCKEY_COMMIT_SHA: "${{ github.sha }}"
FL_HOCKEY_BUILD_SERVER_URL: "${{ github.server_url }}/${{ github.repository }}/-/jobs/${{ github.job }}"
FL_HOCKEY_REPOSITORY_URL: "${{ github.server_url }}/${{ github.repository }}"
FL_HOCKEY_NOTIFY: 'false'
FL_HOCKEY_STRATEGY: replace
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 50
lfs: true
- uses: actions/download-artifact@v2
- run: gem install bundler --no-ri --no-rdoc
- run: bundle update
- run: echo "$PIA_STAGING_ENDPOINT" >"Resources/staging.endpoint"
- run: echo "$PIA_CUSTOM_SERVERS" >"Resources/custom.servers"
- run: echo "$PIA_FIREBASE_PLIST" >"Resources/GoogleService-Info.plist"
- run: bundle exec fastlane qa_deploy
- uses: actions/upload-artifact@v2
if: success()
with:
name: "${{ github.job }}"
retention-days: 7
path: "$SERIALIZED_ARCHIVE_JSON"
beta_manual_deploy:
needs:
- qa_archive
- beta_manual_archive
- manual_qa_archive
runs-on:
- self-hosted
- ios
if: github.event_name == 'workflow_dispatch'
environment:
name: testflight
timeout-minutes: 60
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
STAGE_BUILD_PATH: build
STAGE_ARTIFACTS_PATH: dist
STAGE_TESTFLIGHT_ARTIFACTS_PATH: apple_dist
STAGE_ARCHIVE_NAME: pia-vpn
SERIALIZED_ARCHIVE_JSON: "$STAGE_ARTIFACTS_PATH/notify.json"
PILOT_IPA: "$STAGE_TESTFLIGHT_ARTIFACTS_PATH/$STAGE_ARCHIVE_NAME.ipa"
PILOT_DISTRIBUTE_EXTERNAL: 'true'
DEMO_ACCOUNT_REQUIRED: 'true'
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 50
lfs: true
- uses: actions/download-artifact@v2
- run: gem install bundler --no-ri --no-rdoc
- run: bundle update
- run: echo "$PIA_STAGING_ENDPOINT" >"Resources/staging.endpoint"
- run: echo "$PIA_CUSTOM_SERVERS" >"Resources/custom.servers"
- run: echo "$PIA_FIREBASE_PLIST" >"Resources/GoogleService-Info.plist"
- run: bundle exec fastlane beta_deploy
manual_qa_deploy:
needs:
- qa_archive
- beta_manual_archive
- manual_qa_archive
runs-on:
- self-hosted
- ios
if: github.event_name == 'workflow_dispatch'
environment:
name: hockey
url: "$HOCKEY_URL"
timeout-minutes: 60
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
STAGE_BUILD_PATH: build
STAGE_ARTIFACTS_PATH: dist
STAGE_TESTFLIGHT_ARTIFACTS_PATH: apple_dist
STAGE_ARCHIVE_NAME: pia-vpn
SERIALIZED_ARCHIVE_JSON: "$STAGE_ARTIFACTS_PATH/notify.json"
IPA_OUTPUT_PATH: "$STAGE_ARTIFACTS_PATH/$STAGE_ARCHIVE_NAME.ipa"
FL_HOCKEY_IPA: "$STAGE_ARTIFACTS_PATH/$STAGE_ARCHIVE_NAME.ipa"
FL_HOCKEY_COMMIT_SHA: "${{ github.sha }}"
FL_HOCKEY_BUILD_SERVER_URL: "${{ github.server_url }}/${{ github.repository }}/-/jobs/${{ github.job }}"
FL_HOCKEY_REPOSITORY_URL: "${{ github.server_url }}/${{ github.repository }}"
FL_HOCKEY_NOTIFY: 'false'
FL_HOCKEY_STRATEGY: replace
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 50
lfs: true
- uses: actions/download-artifact@v2
- run: gem install bundler --no-ri --no-rdoc
- run: bundle update
- run: echo "$PIA_STAGING_ENDPOINT" >"Resources/staging.endpoint"
- run: echo "$PIA_CUSTOM_SERVERS" >"Resources/custom.servers"
- run: echo "$PIA_FIREBASE_PLIST" >"Resources/GoogleService-Info.plist"
- run: bundle exec fastlane qa_deploy
- uses: actions/upload-artifact@v2
if: success()
with:
name: "${{ github.job }}"
retention-days: 7
path: "$SERIALIZED_ARCHIVE_JSON"