Skip to content

Build pipeline for iOS + app ID change#188

Draft
vicocz wants to merge 25 commits into
defaultfrom
local/cherry-pick-ios-pipeline
Draft

Build pipeline for iOS + app ID change#188
vicocz wants to merge 25 commits into
defaultfrom
local/cherry-pick-ios-pipeline

Conversation

@vicocz
Copy link
Copy Markdown
Owner

@vicocz vicocz commented Dec 17, 2025

No description provided.

@vicocz vicocz added this to the 2026.1 milestone Dec 17, 2025
@vicocz vicocz added the enhancement New feature or request label Dec 17, 2025
@vicocz vicocz changed the title [WIP] IOS build Build pipeline for iOS + app ID change Dec 22, 2025
@vicocz vicocz removed this from the 2026.1 milestone May 13, 2026
@vicocz vicocz requested a review from Copilot May 13, 2026 20:33
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR forks BrickController 2 into "BrickController" under a new author (Vít Německý) with a new bundle/application identifier (cz.vico.brickcontroller). It refreshes branding across platforms (Android, iOS, WinUI, README, About page), adds a new iOS build/publish pipeline (including TestFlight upload), and overhauls the Windows/Android workflows: pinning newer action versions, switching to release/** branches and *.slnx-based path filters, deriving the version from Directory.Build.props and using github.run_number as the build number, and producing both APK and AAB outputs for Android.

Changes:

  • Rename app and bundle/package identifiers across Android/iOS/WinUI manifests, csproj/AssemblyInfo files, and UI strings.
  • Add build-ios.yml workflow plus iOS app icon, MauiIcon, plist updates (removed legacy launch storyboard/launch images and CFBundle{Short}Version keys); add WinUI x64/arm64 publish profiles renamed from the win10- prefix.
  • Modernize all workflows: bump action versions, simplify versioning via ApplicationVersion=run_number, add Android AAB output, switch path filters to *.props / *.slnx.

Reviewed changes

Copilot reviewed 19 out of 41 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
README.md Re-brand and add fork attribution / co-author.
Directory.Build.props Bump ApplicationVersion to 51.
BrickController2/UI/ViewModels/ControllerActionPageViewModel.cs Shorten preferences container key.
BrickController2/UI/Pages/AboutPage.xaml Update product name, copyright year, and fork notice.
BrickController2.WinUI/Properties/PublishProfiles/win-x64.pubxml New x64 publish profile (replaces win10- profile).
BrickController2.WinUI/Properties/PublishProfiles/win-arm64.pubxml New ARM64 publish profile.
BrickController2.WinUI/Properties/AssemblyInfo.cs Update title/product/copyright strings.
BrickController2.WinUI/Package.appxmanifest Update WinUI display name.
BrickController2.WinUI/BrickController2.WinUI.csproj Switch PublishProfile token to win-$(Platform).pubxml.
BrickController2.iOS/Resources/appicon.svg Add MAUI app icon source.
BrickController2.iOS/LaunchScreen.storyboard Remove legacy launch storyboard.
BrickController2.iOS/Info.plist Update bundle ID/name, drop legacy keys, add ITSAppUsesNonExemptEncryption/CFBundleIconName.
BrickController2.iOS/BrickController2.iOS.csproj Update ApplicationId, add MauiIcon, drop empty Properties folder.
BrickController2.iOS/Assets.xcassets/LaunchImages.launchimage/Contents.json Remove legacy launch image asset.
BrickController2.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json Remove legacy app icon set.
BrickController2.Android/Properties/AndroidManifest.xml Update package id and app label.
BrickController2.Android/MainActivity.cs Update activity label.
BrickController2.Android/BrickController2.Android.csproj Add AssemblyName, normalize indentation.
.github/workflows/build-windows.yml Modernize WinUI pipeline; new versioning; rename release asset to BrickControllerLegacy_*.msix.
.github/workflows/build-ios.yml New iOS build + signing + TestFlight pipeline.
.github/workflows/build-core.yml Bump action versions, switch to release/** and *.slnx path filters.
.github/workflows/build-android.yml Modernize pipeline; produce both APK and AAB; new asset names/paths.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +95 to +113
path: BrickController2/BrickController2.Android/bin/Release/${{ env.TARGET_FRAMEWORK }}/cz.vico.BrickController-Signed.apk

- name: Upload Artifact to Release
- name: Upload APK Artifact to Release
if: github.event_name == 'release' && github.event.action == 'published'
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ fromJson(steps.get_release.outputs.data).upload_url }}
asset_path: BrickController2/BrickController2.Android/bin/Release/net10.0-android/com.scn.BrickController2-Signed.apk
asset_name: BrickController2_${{env.APP_DISPLAY_VERSION}}.apk
asset_path: BrickController2/BrickController2.Android/bin/Release/${{ env.TARGET_FRAMEWORK }}/cz.vico.BrickController-Signed.apk
asset_name: BrickController_${{env.APP_VERSION}}.apk
asset_content_type: application/vnd.android.package-archive
env:
GITHUB_TOKEN: ${{ secrets.CI_RELEASE_ASSETS_PAT }}

- name: Upload AAB Artifact to Release
if: github.event_name == 'release' && github.event.action == 'published'
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ fromJson(steps.get_release.outputs.data).upload_url }}
asset_path: BrickController2/BrickController2.Android/bin/Release/${{ env.TARGET_FRAMEWORK }}/cz.vico.BrickController-Signed.aab
XCODE_VERSION: '26.4.1'
TARGET_FRAMEWORK: 'net10.0-ios'
TARGET_RUNTIME: 'ios-arm64'
IOS_TRIM_MODE: ${{ (github.event_name == 'release' && github.event.action == 'published') && 'Full' || 'None' }}
<Platforms>x64;ARM64</Platforms>
<RuntimeIdentifiers>win-x64;win-arm64</RuntimeIdentifiers>
<PublishProfile>win10-$(Platform).pubxml</PublishProfile>
<PublishProfile>win-$(Platform).pubxml</PublishProfile>
Comment on lines +10 to +21
- '*.props'
- '*.slnx'
- 'BrickController2/BrickController2/**'
- 'BrickController2/BrickController2.Android/**'
pull_request:
branches:
- default
- 'releases/**'
- 'release/**'
paths:
- '.github/**/*android.yml'
- 'BrickController2/*.props'
- 'BrickController2/*.sln'
- '*.props'
- '*.slnx'
asset_path: BrickController2\BrickController2.WinUI\bin\x64\Release\net10.0-windows10.0.19041.0\win-x64\AppPackages\BrickController2.WinUI_${{env.APP_PACKAGE_VERSION}}_Test\BrickController2.WinUI_${{env.APP_PACKAGE_VERSION}}_x64.msix
asset_name: BrickController2_${{env.APP_DISPLAY_VERSION}}.msix
asset_path: BrickController2\BrickController2.WinUI\AppPackages\BrickController2.WinUI_${{env.APP_VERSION}}.${{github.run_number}}_Test\BrickController2.WinUI_${{env.APP_VERSION}}.${{github.run_number}}_x64.msix
asset_name: BrickControllerLegacy_${{env.APP_VERSION}}.msix
dotnet-version: 10.0.x

- name: Install MAUI workload
run: dotnet workload install maui ios
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants