Build pipeline for iOS + app ID change#188
Conversation
There was a problem hiding this comment.
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.ymlworkflow 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 thewin10-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.
| 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> |
| - '*.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 |
No description provided.