Skip to content

Dynamically generate valid xcode project files from json #39

Dynamically generate valid xcode project files from json

Dynamically generate valid xcode project files from json #39

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
jobs:
build:
runs-on: macos-13
steps:
- name: Check-out kiwix/apple
uses: actions/checkout@v4
with:
repository: kiwix/apple
path: apple
ref: feature/fastlane
- name: Check-out kiwix-custom-apple
uses: actions/checkout@v4
with:
path: custom
- name: Install Python dependencies for custom project generation
run: python -m pip install pyyaml
- name: Install Kiwix dependencies
run: cd apple && brew bundle && bundle update && cd ..
- name: Generate the custom projects
env:
DWDS_HTTP_BASIC_ACCESS_AUTHENTICATION: ${{ secrets.DWDS_HTTP_BASIC_ACCESS_AUTHENTICATION }}
run: |
# move the custom files under the same folder as the kiwix repo
mv custom/ apple/
cd apple/custom
# make a custom copy of the Info.plist file
cp ../Support/Info.plist Custom.plist
# download all the zim files,
# generate all the branded config files,
# generate the custom project file containing all brands as targets
python "src/generate_and_download.py"
# move the custom project file to the main folder
mv custom_project.yml ../
cd ..
ls -la
# run xcodegen on our custom project
xcodegen -s custom_project.yml
- name: Select Xcode
run: sudo xcode-select --switch /Applications/Xcode_15.0.1.app
- name: Build apps with fastlane
env:
APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APPLE_STORE_AUTH_KEY_ID }}
APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APPLE_STORE_AUTH_KEY_ISSUER_ID }}
APP_STORE_CONNECT_API_KEY_KEY: "${{ secrets.APPLE_STORE_AUTH_KEY }}"
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
APP_SCHEME: "dwds"
run:
|
cd apple
bundle exec fastlane ios beta
# bundle exec fastlane mac beta