Skip to content

Distribute

Distribute #971

Workflow file for this run

name: Distribute
on:
workflow_dispatch:
push:
branches:
- master
env:
DEVELOPER_DIR: /Applications/Xcode_16.0.app/Contents/Developer
FASTLANE_SKIP_UPDATE_CHECK: true
FASTLANE_XCODE_LIST_TIMEOUT: 60
FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT: 60
HOMEBREW_NO_INSTALL_CLEANUP: TRUE
BUNDLE_PATH: vendor/bundle
jobs:
build:
runs-on: macos-15
strategy:
fail-fast: false
matrix:
kind: [mac, ios]
steps:
- uses: actions/checkout@v4
- name: Install Brews
run: brew bundle
- name: Install Gems
run: bundle install --jobs 4 --retry 3
- name: Install Pods
run: bundle exec pod install --repo-update
- name: Build ${{ matrix.kind }}
run: |
bundle exec fastlane ${{ matrix.kind }} build
env:
HOMEASSISTANT_APPLE_ID: ${{ secrets.HOMEASSISTANT_APPLE_ID }}
HOMEASSISTANT_APP_STORE_CONNECT_PASSWORD: ${{ secrets.HOMEASSISTANT_APP_STORE_CONNECT_PASSWORD }}
HOMEASSISTANT_APP_STORE_CONNECT_TEAM_ID: ${{ secrets.HOMEASSISTANT_APP_STORE_CONNECT_TEAM_ID }}
HOMEASSISTANT_TEAM_ID: ${{ secrets.HOMEASSISTANT_TEAM_ID }}
P12_KEY_IOS_APP_STORE: ${{ secrets.P12_KEY_IOS_APP_STORE }}
P12_KEY_MAC_APP_STORE: ${{ secrets.P12_KEY_MAC_APP_STORE }}
P12_KEY_MAC_DEVELOPER_ID: ${{ secrets.P12_KEY_MAC_DEVELOPER_ID }}
P12_VALUE_IOS_APP_STORE: ${{ secrets.P12_VALUE_IOS_APP_STORE }}
P12_VALUE_MAC_APP_STORE: ${{ secrets.P12_VALUE_MAC_APP_STORE }}
P12_VALUE_MAC_DEVELOPER_ID: ${{ secrets.P12_VALUE_MAC_DEVELOPER_ID }}
EMERGE_API_TOKEN: ${{ secrets.EMERGE_API_TOKEN }}
EMERGE_REPO_NAME: ${{ github.repository }}
EMERGE_SHA: ${{ github.sha }}
EMERGE_BASE_SHA: ${{ github.event.before }}
- name: Dump Version Information
run: cat Configuration/Version.xcconfig
- uses: actions/upload-artifact@v4
name: "Upload iOS IPA"
if: success() && matrix.kind == 'ios'
with:
name: ios-app-store.ipa
path: build/ios/Home Assistant.ipa
- uses: actions/upload-artifact@v4
name: "Upload iOS dSYMs"
if: success() && matrix.kind == 'ios'
with:
name: ios.dSYM.zip
path: build/ios/Home Assistant.app.dSYM.zip
- uses: actions/upload-artifact@v4
name: "Upload Mac Developer ID App"
if: success() && matrix.kind == 'mac'
with:
name: mac-developer-id.zip
path: build/macos/home-assistant-mac.zip
- uses: actions/upload-artifact@v4
name: "Upload Mac App Store Package"
if: success() && matrix.kind == 'mac'
with:
name: mac-app-store.pkg
path: build/macos/Home Assistant.pkg
- uses: actions/upload-artifact@v4
name: "Upload Mac dSYMs"
if: success() && matrix.kind == 'mac'
with:
name: mac.dSYM.zip
path: build/macos/Home Assistant.app.dSYM.zip