Compare commits

...

8 Commits

Author SHA1 Message Date
github-actions[bot]
942f7da090 Bump build number to 253 2026-02-13 21:35:55 +00:00
Arkadiusz Fal
35e38a03ba Skip build number commit when already up to date
The release job fails when the build number in the repo already matches
the computed value, causing git commit to exit with code 1 on an empty
changeset. Now we check for staged changes before committing.
2026-02-13 22:22:47 +01:00
Arkadiusz Fal
f973f3cd91 Revert app icon name to Yattee2 for Icon Composer
The Yattee2.icon/ Icon Composer file is the correct source for app
icons. The previous change to AppIcon was incorrect — AppIcon.appiconset
is an empty legacy placeholder with no actual PNGs.
2026-02-13 22:10:59 +01:00
Arkadiusz Fal
e5cc5c6d13 Use macos-26 runner for Xcode 26 SDK support
iOS 26 APIs (matchedTransitionSource on ToolbarContent, etc.) require
the Xcode 26 SDK which is only available on macos-26 runners.
2026-02-13 21:51:45 +01:00
Arkadiusz Fal
71f881a580 Fix app icon name to match asset catalog
ASSETCATALOG_COMPILER_APPICON_NAME was set to "Yattee2" but the
asset catalog only has "AppIcon.appiconset".
2026-02-13 21:43:11 +01:00
Arkadiusz Fal
cd096e6235 Set code_sign_identity in update_code_signing_settings
Without explicit identity, xcodebuild defaults to "iOS Development"
which doesn't exist on CI. Set "Apple Distribution" for App Store
builds and "Developer ID Application" for notarized builds.
2026-02-13 21:37:02 +01:00
Arkadiusz Fal
895aca267a Use fastlane update_code_signing_settings for manual signing
Replaced sed-based CODE_SIGN_STYLE override with fastlane's
update_code_signing_settings which also sets PROVISIONING_PROFILE_SPECIFIER.
This fixes the YatteeShareExtension build failure where it couldn't
find a provisioning profile under manual signing.
2026-02-13 21:19:16 +01:00
Arkadiusz Fal
16609aa649 Skip GitHub release when any build job fails
Adding !failure() check so skipped builds (not selected) still allow
the release, but actual build failures block it.
2026-02-13 20:54:12 +01:00
3 changed files with 61 additions and 26 deletions

View File

@@ -47,7 +47,7 @@ env:
jobs:
determine_build_number:
name: Determine build number
runs-on: macos-latest
runs-on: macos-26
outputs:
build_number: ${{ steps.calc.outputs.build_number }}
version_number: ${{ steps.version.outputs.version_number }}
@@ -77,7 +77,7 @@ jobs:
if: ${{ inputs.build_ios }}
needs: [determine_build_number]
name: Release iOS to TestFlight
runs-on: macos-latest
runs-on: macos-26
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
@@ -85,9 +85,6 @@ jobs:
ruby-version: '3.4'
bundler-cache: true
cache-version: 1
- name: Set signing to manual for CI
run: |
sed -i '' 's/CODE_SIGN_STYLE = Automatic/CODE_SIGN_STYLE = Manual/' Yattee.xcodeproj/project.pbxproj
- name: Set build number
run: |
sed -i '' 's/CURRENT_PROJECT_VERSION = [0-9]*/CURRENT_PROJECT_VERSION = ${{ needs.determine_build_number.outputs.build_number }}/' Yattee.xcodeproj/project.pbxproj
@@ -106,7 +103,7 @@ jobs:
if: ${{ inputs.build_tvos }}
needs: [determine_build_number]
name: Release tvOS to TestFlight
runs-on: macos-latest
runs-on: macos-26
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
@@ -114,9 +111,6 @@ jobs:
ruby-version: '3.4'
bundler-cache: true
cache-version: 1
- name: Set signing to manual for CI
run: |
sed -i '' 's/CODE_SIGN_STYLE = Automatic/CODE_SIGN_STYLE = Manual/' Yattee.xcodeproj/project.pbxproj
- name: Set build number
run: |
sed -i '' 's/CURRENT_PROJECT_VERSION = [0-9]*/CURRENT_PROJECT_VERSION = ${{ needs.determine_build_number.outputs.build_number }}/' Yattee.xcodeproj/project.pbxproj
@@ -135,7 +129,7 @@ jobs:
if: ${{ inputs.build_mac_beta }}
needs: [determine_build_number]
name: Release macOS to TestFlight
runs-on: macos-latest
runs-on: macos-26
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
@@ -143,9 +137,6 @@ jobs:
ruby-version: '3.4'
bundler-cache: true
cache-version: 1
- name: Set signing to manual for CI
run: |
sed -i '' 's/CODE_SIGN_STYLE = Automatic/CODE_SIGN_STYLE = Manual/' Yattee.xcodeproj/project.pbxproj
- name: Set build number
run: |
sed -i '' 's/CURRENT_PROJECT_VERSION = [0-9]*/CURRENT_PROJECT_VERSION = ${{ needs.determine_build_number.outputs.build_number }}/' Yattee.xcodeproj/project.pbxproj
@@ -164,7 +155,7 @@ jobs:
if: ${{ inputs.build_mac_notarized }}
needs: [determine_build_number]
name: Build and notarize macOS app
runs-on: macos-latest
runs-on: macos-26
env:
BUILD_NUMBER: ${{ needs.determine_build_number.outputs.build_number }}
VERSION_NUMBER: ${{ needs.determine_build_number.outputs.version_number }}
@@ -175,9 +166,6 @@ jobs:
ruby-version: '3.4'
bundler-cache: true
cache-version: 1
- name: Set signing to manual with Developer ID
run: |
sed -i '' 's/CODE_SIGN_STYLE = Automatic/CODE_SIGN_STYLE = Manual/' Yattee.xcodeproj/project.pbxproj
- name: Set build number
run: |
sed -i '' 's/CURRENT_PROJECT_VERSION = [0-9]*/CURRENT_PROJECT_VERSION = ${{ env.BUILD_NUMBER }}/' Yattee.xcodeproj/project.pbxproj
@@ -198,7 +186,7 @@ jobs:
if-no-files-found: error
release:
if: ${{ inputs.create_release && !cancelled() }}
if: ${{ inputs.create_release && !cancelled() && !failure() }}
needs: [determine_build_number, ios_beta, tvos_beta, mac_beta, mac_notarized]
name: Create GitHub release
runs-on: ubuntu-latest
@@ -217,8 +205,10 @@ jobs:
git config --local user.name "github-actions[bot]"
sed -i 's/CURRENT_PROJECT_VERSION = [0-9]*/CURRENT_PROJECT_VERSION = ${{ env.BUILD_NUMBER }}/' Yattee.xcodeproj/project.pbxproj
git add Yattee.xcodeproj/project.pbxproj
git commit -m "Bump build number to ${{ env.BUILD_NUMBER }}"
git push origin ${{ github.ref_name }}
git diff --cached --quiet && echo "Build number already up to date" || {
git commit -m "Bump build number to ${{ env.BUILD_NUMBER }}"
git push origin ${{ github.ref_name }}
}
- uses: actions/download-artifact@v4
with:
path: artifacts

View File

@@ -459,7 +459,7 @@
AUTOMATION_APPLE_EVENTS = NO;
CODE_SIGN_ENTITLEMENTS = Yattee/Yattee.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 252;
CURRENT_PROJECT_VERSION = 253;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
ENABLE_APP_SANDBOX = YES;
@@ -540,7 +540,7 @@
AUTOMATION_APPLE_EVENTS = NO;
CODE_SIGN_ENTITLEMENTS = Yattee/Yattee.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 252;
CURRENT_PROJECT_VERSION = 253;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
ENABLE_APP_SANDBOX = YES;
@@ -616,7 +616,7 @@
buildSettings = {
CODE_SIGN_ENTITLEMENTS = YatteeShareExtension/YatteeShareExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 252;
CURRENT_PROJECT_VERSION = 253;
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = YatteeShareExtension/Info.plist;
@@ -647,7 +647,7 @@
buildSettings = {
CODE_SIGN_ENTITLEMENTS = YatteeShareExtension/YatteeShareExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 252;
CURRENT_PROJECT_VERSION = 253;
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = YatteeShareExtension/Info.plist;
@@ -679,7 +679,7 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 252;
CURRENT_PROJECT_VERSION = 253;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
GENERATE_INFOPLIST_FILE = YES;
@@ -708,7 +708,7 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 252;
CURRENT_PROJECT_VERSION = 253;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
GENERATE_INFOPLIST_FILE = YES;

View File

@@ -111,6 +111,24 @@ platform :ios do
api_key: api_key
)
update_code_signing_settings(
use_automatic_signing: false,
path: XCODEPROJ,
team_id: TEAM_ID,
code_sign_identity: "Apple Distribution",
profile_name: "match AppStore #{DEVELOPER_APP_IDENTIFIER}",
targets: [SCHEME]
)
update_code_signing_settings(
use_automatic_signing: false,
path: XCODEPROJ,
team_id: TEAM_ID,
code_sign_identity: "Apple Distribution",
profile_name: "match AppStore #{DEVELOPER_APP_IDENTIFIER}.ShareExtension",
targets: ["YatteeShareExtension"]
)
build_app(
scheme: SCHEME,
destination: "generic/platform=iOS",
@@ -164,6 +182,15 @@ platform :tvos do
api_key: api_key
)
update_code_signing_settings(
use_automatic_signing: false,
path: XCODEPROJ,
team_id: TEAM_ID,
code_sign_identity: "Apple Distribution",
profile_name: "match AppStore #{DEVELOPER_APP_IDENTIFIER} tvos",
targets: [SCHEME]
)
build_app(
scheme: SCHEME,
destination: "generic/platform=tvOS",
@@ -218,6 +245,15 @@ platform :mac do
api_key: api_key
)
update_code_signing_settings(
use_automatic_signing: false,
path: XCODEPROJ,
team_id: TEAM_ID,
code_sign_identity: "Apple Distribution",
profile_name: "match AppStore #{DEVELOPER_APP_IDENTIFIER} macos",
targets: [SCHEME]
)
build_mac_app(
scheme: SCHEME,
output_directory: "fastlane/builds/#{version}-#{build}/macOS",
@@ -268,6 +304,15 @@ platform :mac do
api_key: api_key
)
update_code_signing_settings(
use_automatic_signing: false,
path: XCODEPROJ,
team_id: TEAM_ID,
code_sign_identity: "Developer ID Application",
profile_name: "match Direct #{DEVELOPER_APP_IDENTIFIER} macos",
targets: [SCHEME]
)
build_mac_app(
scheme: SCHEME,
output_directory: "fastlane/builds/#{version}-#{build}/macOS",