name: Deploying on: push: branches: - master jobs: build: runs-on: macos-latest strategy: matrix: channel: ['beta', 'release'] steps: - uses: actions/checkout@v2 - name: Installing packages run: | brew install libtool automake cmake carthage go@1.14 swiftlint swiftformat openssl libssh2 gem install bundler - uses: actions/cache@v2 with: path: vendor/bundle key: ${{ runner.os }}-gems-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-gems-${{ secrets.CACHE_VERSION }}- - 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 with: path: Pods key: ${{ runner.os }}-pods-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/Podfile.lock') }} restore-keys: | ${{ runner.os }}-pods-${{ 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: Cocoapods run: bundle exec pod install - 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@1.14/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_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 }}