name: Deploying on: push: branches: - master jobs: build: runs-on: macos-12 strategy: matrix: channel: ['beta', 'release'] steps: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: ruby-version: '2.7' bundler-cache: true - name: Installing packages run: | brew update brew install carthage swiftformat 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 == false }} run: | carthage bootstrap --no-use-binaries --cache-builds --use-xcframeworks - name: GopenPGP if: ${{ steps.gopenpgp-cache.outputs.cache-hit == false }} 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 }}