73 lines
2.8 KiB
YAML
73 lines
2.8 KiB
YAML
name: Deploying
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: macos-11
|
|
strategy:
|
|
matrix:
|
|
channel: ['beta', 'release']
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Installing packages
|
|
run: |
|
|
brew update
|
|
brew install libtool automake cmake carthage swiftformat openssl libssh2
|
|
brew install go || brew link --overwrite go
|
|
brew install swiftlint || brew link --overwrite swiftlint
|
|
gem install bundler
|
|
- uses: actions/cache@v2
|
|
id: carthage-cache
|
|
with:
|
|
path: Carthage
|
|
key: ${{ runner.os }}-carthage-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/Cartfile.resolved') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-carthage-${{ secrets.CACHE_VERSION }}-
|
|
- uses: actions/cache@v2
|
|
id: gopenpgp-cache
|
|
with:
|
|
path: go
|
|
key: ${{ runner.os }}-gopenpgp-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/gopenpgp_build.sh') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-gopenpgp-${{ secrets.CACHE_VERSION }}-
|
|
- name: Bundle Install
|
|
run: |
|
|
bundle config path vendor/bundle
|
|
bundle install --jobs 4 --retry 3
|
|
- name: Carthage
|
|
if: steps.carthage-cache.outputs.cache-hit != 'true'
|
|
run: |
|
|
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:/usr/local/opt/libssh2/lib/pkgconfig/"
|
|
./scripts/wcarthage bootstrap --platform iOS --no-use-binaries --cache-builds
|
|
- name: GopenPGP
|
|
if: steps.gopenpgp-cache.outputs.cache-hit != 'true'
|
|
run: |
|
|
export PATH="/usr/local/opt/go/bin:$PATH"
|
|
./scripts/gopenpgp_build.sh
|
|
- name: Test
|
|
run: bundle exec fastlane test
|
|
- name: Deploy
|
|
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
|
run: bundle exec fastlane ${{ matrix.channel }}
|
|
env:
|
|
APPLE_ID: ${{ secrets.APPLE_ID }}
|
|
APP_IDENTIFIER: ${{ secrets.APP_IDENTIFIER }}
|
|
DESTINATION_EMAIL: ${{ secrets.DESTINATION_EMAIL }}
|
|
EMAIL_FROM_NAME: ${{ secrets.EMAIL_FROM_NAME }}
|
|
EMAIL_REPLY_TO: ${{ secrets.EMAIL_REPLY_TO }}
|
|
FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }}
|
|
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}
|
|
FASTLANE_SESSION: ${{ secrets.FASTLANE_SESSION }}
|
|
FASTLANE_USER: ${{ secrets.FASTLANE_USER }}
|
|
ITC_TEAM_ID: ${{ secrets.ITC_TEAM_ID }}
|
|
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
|
|
MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }}
|
|
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
|
|
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
|
|
MY_API_KEY: ${{ secrets.MY_API_KEY }}
|
|
MY_POSTMASTER: ${{ secrets.MY_POSTMASTER }}
|
|
TEAM_ID: ${{ secrets.TEAM_ID }}
|