Unlock keychain after creation

Might be the reason behind build hanging up in CI, arguably
waiting for a keychain password prompt.

Now, the issue never happened while prepping #207.

When testing the PR though, the testing step was omitted. This
drastically reduced the time between keychain creation and the
build to reach the codesigning phase. By restoring tests in
between, the increase in time would likely incur in keychain
auto-locking up.

- Convert action to keychain creation only

- Restore xcpretty as irrelevant (2a5c231)
This commit is contained in:
Davide De Rosa 2021-12-04 10:38:44 +01:00
parent 97c6a6f356
commit ca7de6d6ae
7 changed files with 40 additions and 43 deletions

View File

@ -0,0 +1,23 @@
name: "Create custom keychain"
inputs:
name:
description: "Keychain name"
required: true
password:
description: "Keychain password"
required: true
runs:
using: "composite"
steps:
- shell: bash
env:
KEYCHAIN_NAME: ${{ inputs.name }}
KEYCHAIN_PASSWORD: ${{ inputs.password }}
run: |
bundle exec fastlane run create_keychain unlock:true lock_after_timeout:false
- uses: webiny/action-post-run@2.0.1
env:
KEYCHAIN_NAME: ${{ inputs.name }}
with:
run: |
bundle exec fastlane run delete_keychain

View File

@ -1,18 +0,0 @@
name: 'Prepare build environment'
inputs:
platform:
description: 'Platform for match'
required: true
runs:
using: 'composite'
steps:
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- shell: bash
run: |
scripts/ci/recognize-match-hostname.sh
bundle exec fastlane --env ${{ inputs.platform }} preinstall_development_certs

View File

@ -3,9 +3,9 @@ name: Release
on:
push:
branches:
- 'master'
- "master"
paths:
- '.beta-build'
- ".beta-build"
env:
APP_STORE_CONNECT_API_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY }}
@ -45,10 +45,21 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- name: Prepare build
uses: ./.github/actions/prepare-build-app
- uses: ruby/setup-ruby@v1
with:
platform: ${{ matrix.platform }}
bundler-cache: true
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Create keychain
uses: ./.github/actions/create-keychain
with:
name: ${{ env.MATCH_KEYCHAIN_NAME }}
password: ${{ env.MATCH_KEYCHAIN_PASSWORD }}
- name: Preinstall certificates (SSH)
run: |
scripts/ci/recognize-match-hostname.sh
bundle exec fastlane --env ${{ matrix.platform }} match development
- name: Store app version
id: app_version
if: ${{ matrix.use_version }}

View File

@ -17,7 +17,7 @@ GEM
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.537.0)
aws-partitions (1.539.0)
aws-sdk-core (3.124.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
@ -151,7 +151,6 @@ GEM
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
fastlane-plugin-appcenter (1.11.1)
ffi (1.15.4)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
@ -277,7 +276,6 @@ DEPENDENCIES
cocoapods
dotenv
fastlane
fastlane-plugin-appcenter
BUNDLED WITH
2.2.22

View File

@ -14,14 +14,3 @@
# update_fastlane
import("../Submodules/fastlane-ci-templates/fastlane/Fastfile.include")
desc "Preinstall development certificates"
lane :preinstall_development_certs do
create_keychain(
name: ENV["MATCH_KEYCHAIN_NAME"],
password: ENV["MATCH_KEYCHAIN_PASSWORD"]
)
match(
type: "development"
)
end

View File

@ -13,7 +13,6 @@
clean true
silent false
skip_profile_detection true
disable_xcpretty true
build_path "build"
derived_data_path "build/derived_data"

View File

@ -1,5 +0,0 @@
# Autogenerated by fastlane
#
# Ensure this file is checked in to source control!
gem 'fastlane-plugin-appcenter'