mirror of
https://github.com/kiwix/kiwix-apple-custom.git
synced 2025-09-24 04:43:35 -04:00
Merge pull request #39 from kiwix/feature/re-use-cd-from-main
Re-use apple main actions, set workspace path
This commit is contained in:
commit
1a3bfbd4bd
31
.github/actions/install-cert/action.yml
vendored
31
.github/actions/install-cert/action.yml
vendored
@ -1,31 +0,0 @@
|
|||||||
name: Install Certificate in Keychain
|
|
||||||
description: Install a single cert in existing keychain
|
|
||||||
|
|
||||||
inputs:
|
|
||||||
KEYCHAIN:
|
|
||||||
required: true
|
|
||||||
KEYCHAIN_PASSWORD:
|
|
||||||
required: true
|
|
||||||
SIGNING_CERTIFICATE:
|
|
||||||
required: true
|
|
||||||
SIGNING_CERTIFICATE_P12_PASSWORD:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
runs:
|
|
||||||
using: composite
|
|
||||||
steps:
|
|
||||||
- name: Install certificate
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
KEYCHAIN: ${{ inputs.KEYCHAIN }}
|
|
||||||
KEYCHAIN_PASSWORD: ${{ inputs.KEYCHAIN_PASSWORD }}
|
|
||||||
CERTIFICATE_PATH: /tmp/cert.p12
|
|
||||||
SIGNING_CERTIFICATE: ${{ inputs.SIGNING_CERTIFICATE }}
|
|
||||||
SIGNING_CERTIFICATE_P12_PASSWORD: ${{ inputs.SIGNING_CERTIFICATE_P12_PASSWORD }}
|
|
||||||
run: |
|
|
||||||
security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN
|
|
||||||
echo "${SIGNING_CERTIFICATE}" | base64 --decode -o $CERTIFICATE_PATH
|
|
||||||
security import $CERTIFICATE_PATH -k $KEYCHAIN -P "${SIGNING_CERTIFICATE_P12_PASSWORD}" -A -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild
|
|
||||||
rm $CERTIFICATE_PATH
|
|
||||||
security find-identity -v $KEYCHAIN
|
|
||||||
security set-key-partition-list -S apple-tool:,apple: -s -k $KEYCHAIN_PASSWORD $KEYCHAIN
|
|
128
.github/actions/xcbuild/action.yml
vendored
128
.github/actions/xcbuild/action.yml
vendored
@ -1,128 +0,0 @@
|
|||||||
name: Build with Xcode
|
|
||||||
description: Run xcodebuild for Kiwix
|
|
||||||
|
|
||||||
inputs:
|
|
||||||
action:
|
|
||||||
required: true
|
|
||||||
version:
|
|
||||||
required: true
|
|
||||||
xc-destination:
|
|
||||||
required: true
|
|
||||||
upload-to:
|
|
||||||
required: true
|
|
||||||
APPLE_DEVELOPMENT_SIGNING_CERTIFICATE:
|
|
||||||
required: true
|
|
||||||
APPLE_DEVELOPMENT_SIGNING_P12_PASSWORD:
|
|
||||||
required: true
|
|
||||||
DOWNLOAD_DEPENDENCIES:
|
|
||||||
required: true
|
|
||||||
default: true
|
|
||||||
DEPLOYMENT_SIGNING_CERTIFICATE:
|
|
||||||
required: false
|
|
||||||
DEPLOYMENT_SIGNING_CERTIFICATE_P12_PASSWORD:
|
|
||||||
required: false
|
|
||||||
KEYCHAIN:
|
|
||||||
required: false
|
|
||||||
default: /Users/runner/build.keychain-db
|
|
||||||
KEYCHAIN_PASSWORD:
|
|
||||||
required: false
|
|
||||||
default: mysecretpassword
|
|
||||||
KEYCHAIN_PROFILE:
|
|
||||||
required: false
|
|
||||||
default: build-profile
|
|
||||||
XC_WORKSPACE:
|
|
||||||
required: false
|
|
||||||
default: Kiwix.xcodeproj/project.xcworkspace/
|
|
||||||
XC_SCHEME:
|
|
||||||
required: false
|
|
||||||
default: Kiwix
|
|
||||||
XC_CONFIG:
|
|
||||||
required: false
|
|
||||||
default: Release
|
|
||||||
EXTRA_XCODEBUILD:
|
|
||||||
required: false
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
runs:
|
|
||||||
using: composite
|
|
||||||
steps:
|
|
||||||
|
|
||||||
# not necessary on github runner but serves as documentation for local setup
|
|
||||||
- name: Update Apple Intermediate Certificate
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
curl -L -o ~/Downloads/AppleWWDRCAG3.cer https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer
|
|
||||||
sudo security import ~/Downloads/AppleWWDRCAG3.cer \
|
|
||||||
-k /Library/Keychains/System.keychain \
|
|
||||||
-T /usr/bin/codesign \
|
|
||||||
-T /usr/bin/security \
|
|
||||||
-T /usr/bin/productbuild || true
|
|
||||||
|
|
||||||
- name: Set Xcode version (15.0.1)
|
|
||||||
shell: bash
|
|
||||||
# https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#xcode
|
|
||||||
run: sudo xcode-select -s /Applications/Xcode_15.0.1.app
|
|
||||||
|
|
||||||
- name: Create Keychain
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
KEYCHAIN: ${{ inputs.KEYCHAIN }}
|
|
||||||
KEYCHAIN_PASSWORD: ${{ inputs.KEYCHAIN_PASSWORD }}
|
|
||||||
KEYCHAIN_PROFILE: ${{ inputs.KEYCHAIN_PROFILE }}
|
|
||||||
CERTIFICATE_PATH: /tmp/cert.p12
|
|
||||||
APPLE_DEVELOPER_CERTIFICATE_PATH: /tmp/dev-cert.p12
|
|
||||||
SIGNING_CERTIFICATE: ${{ inputs.SIGNING_CERTIFICATE }}
|
|
||||||
SIGNING_CERTIFICATE_P12_PASSWORD: ${{ inputs.SIGNING_CERTIFICATE_P12_PASSWORD }}
|
|
||||||
APPLE_DEVELOPER_ID_SIGNING_CERTIFICATE: ${{ inputs.APPLE_DEVELOPER_ID_SIGNING_CERTIFICATE }}
|
|
||||||
APPLE_DEVELOPER_ID_SIGNING_P12_PASSWORD: ${{ inputs.APPLE_DEVELOPER_ID_SIGNING_P12_PASSWORD }}
|
|
||||||
run: |
|
|
||||||
security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN
|
|
||||||
security default-keychain -s $KEYCHAIN
|
|
||||||
security set-keychain-settings $KEYCHAIN
|
|
||||||
security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN
|
|
||||||
|
|
||||||
- name: Add Apple Development certificate to Keychain
|
|
||||||
uses: ./apple/custom/.github/actions/install-cert
|
|
||||||
with:
|
|
||||||
SIGNING_CERTIFICATE: ${{ inputs.APPLE_DEVELOPMENT_SIGNING_CERTIFICATE }}
|
|
||||||
SIGNING_CERTIFICATE_P12_PASSWORD: ${{ inputs.APPLE_DEVELOPMENT_SIGNING_P12_PASSWORD }}
|
|
||||||
KEYCHAIN: ${{ inputs.KEYCHAIN }}
|
|
||||||
KEYCHAIN_PASSWORD: ${{ inputs.KEYCHAIN_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Add Distribution certificate to Keychain
|
|
||||||
if: ${{ inputs.DEPLOYMENT_SIGNING_CERTIFICATE }}
|
|
||||||
uses: ./apple/custom/.github/actions/install-cert
|
|
||||||
with:
|
|
||||||
SIGNING_CERTIFICATE: ${{ inputs.DEPLOYMENT_SIGNING_CERTIFICATE }}
|
|
||||||
SIGNING_CERTIFICATE_P12_PASSWORD: ${{ inputs.DEPLOYMENT_SIGNING_CERTIFICATE_P12_PASSWORD }}
|
|
||||||
KEYCHAIN: ${{ inputs.KEYCHAIN }}
|
|
||||||
KEYCHAIN_PASSWORD: ${{ inputs.KEYCHAIN_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Download dependencies
|
|
||||||
if: ${{ inputs.DOWNLOAD_DEPENDENCIES }}
|
|
||||||
shell: bash
|
|
||||||
run: brew bundle
|
|
||||||
|
|
||||||
- name: Prepare Xcode
|
|
||||||
shell: bash
|
|
||||||
run: xcrun xcodebuild -checkFirstLaunchStatus || xcrun xcodebuild -runFirstLaunch
|
|
||||||
|
|
||||||
- name: Dump build settings
|
|
||||||
env:
|
|
||||||
XC_WORKSPACE: ${{ inputs.XC_WORKSPACE }}
|
|
||||||
XC_SCHEME: ${{ inputs.XC_SCHEME }}
|
|
||||||
shell: bash
|
|
||||||
run: xcrun xcodebuild -workspace $XC_WORKSPACE -scheme $XC_SCHEME -showBuildSettings
|
|
||||||
|
|
||||||
- name: Build with Xcode
|
|
||||||
env:
|
|
||||||
FRAMEWORK_SEARCH_PATHS: ${{ env.PWD }}
|
|
||||||
ACTION: ${{ inputs.action }}
|
|
||||||
VERSION: ${{ inputs.version }}
|
|
||||||
XC_WORKSPACE: ${{ inputs.XC_WORKSPACE }}
|
|
||||||
XC_SCHEME: ${{ inputs.XC_SCHEME }}
|
|
||||||
XC_CONFIG: ${{ inputs.XC_CONFIG }}
|
|
||||||
XC_DESTINATION: ${{ inputs.xc-destination }}
|
|
||||||
EXTRA_XCODEBUILD: ${{ inputs.EXTRA_XCODEBUILD }}
|
|
||||||
shell: bash
|
|
||||||
run: xcrun xcodebuild ${EXTRA_XCODEBUILD} -workspace $XC_WORKSPACE -scheme $XC_SCHEME -destination "$XC_DESTINATION" -configuration $XC_CONFIG -onlyUsePackageVersionsFromResolvedFile -allowProvisioningUpdates -verbose -archivePath $PWD/Kiwix-$VERSION.xcarchive ${ACTION}
|
|
10
.github/workflows/cd.yml
vendored
10
.github/workflows/cd.yml
vendored
@ -86,12 +86,13 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up scheme, version, build_number from files
|
- name: Set up scheme, version, build_number from files
|
||||||
run: |
|
run: |
|
||||||
cd apple
|
# move the checked out github actions to root folder:
|
||||||
|
mv apple/.github/ .
|
||||||
|
|
||||||
BRAND=$(<./custom/.brand_name)
|
BRAND=$(<./apple/custom/.brand_name)
|
||||||
echo "BRAND=$BRAND" >> $GITHUB_ENV
|
echo "BRAND=$BRAND" >> $GITHUB_ENV
|
||||||
|
|
||||||
VERSION=$(<./custom/.version_number)
|
VERSION=$(<./apple/custom/.version_number)
|
||||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||||
|
|
||||||
# taken from: kiwix/apple .github/workflows/cd.yml
|
# taken from: kiwix/apple .github/workflows/cd.yml
|
||||||
@ -136,7 +137,7 @@ jobs:
|
|||||||
run: echo "${APPLE_STORE_AUTH_KEY}" | base64 --decode -o $APPLE_STORE_AUTH_KEY_PATH
|
run: echo "${APPLE_STORE_AUTH_KEY}" | base64 --decode -o $APPLE_STORE_AUTH_KEY_PATH
|
||||||
|
|
||||||
- name: Build xcarchive
|
- name: Build xcarchive
|
||||||
uses: ./apple/custom/.github/actions/xcbuild
|
uses: ./.github/actions/xcbuild
|
||||||
with:
|
with:
|
||||||
action: archive
|
action: archive
|
||||||
xc-destination: generic/platform=${{ matrix.destination.platform }}
|
xc-destination: generic/platform=${{ matrix.destination.platform }}
|
||||||
@ -145,6 +146,7 @@ jobs:
|
|||||||
version: ${{ env.VERSION }}
|
version: ${{ env.VERSION }}
|
||||||
XC_SCHEME: ${{ env.BRAND }}
|
XC_SCHEME: ${{ env.BRAND }}
|
||||||
DOWNLOAD_DEPENDENCIES: false
|
DOWNLOAD_DEPENDENCIES: false
|
||||||
|
XC_WORKSPACE: apple/Kiwix.xcodeproj/project.xcworkspace/
|
||||||
# eof custom app specific
|
# eof custom app specific
|
||||||
APPLE_DEVELOPMENT_SIGNING_CERTIFICATE: ${{ secrets.APPLE_DEVELOPMENT_SIGNING_CERTIFICATE }}
|
APPLE_DEVELOPMENT_SIGNING_CERTIFICATE: ${{ secrets.APPLE_DEVELOPMENT_SIGNING_CERTIFICATE }}
|
||||||
APPLE_DEVELOPMENT_SIGNING_P12_PASSWORD: ${{ secrets.APPLE_DEVELOPMENT_SIGNING_P12_PASSWORD }}
|
APPLE_DEVELOPMENT_SIGNING_P12_PASSWORD: ${{ secrets.APPLE_DEVELOPMENT_SIGNING_P12_PASSWORD }}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user