[object Object]

← back to Exo

app launches python modules

f51f8f72f8dc5c6bfdaa05ea8b76f511b25efa24 · 2025-08-04 03:18:31 +0500 · Sami Khan

Files touched

Diff

commit f51f8f72f8dc5c6bfdaa05ea8b76f511b25efa24
Author: Sami Khan <98742866+samiamjidkhan@users.noreply.github.com>
Date:   Mon Aug 4 03:18:31 2025 +0500

    app launches python modules
---
 .DS_Store                                          | Bin 8196 -> 10244 bytes
 .github/workflows/build-macos-app.yml              |  88 +++++++--------------
 app/.DS_Store                                      | Bin 0 -> 6148 bytes
 app/exov2/.DS_Store                                | Bin 6148 -> 6148 bytes
 app/exov2/exov2.xcodeproj/project.pbxproj          |  12 +--
 .../UserInterfaceState.xcuserstate                 | Bin 33984 -> 34780 bytes
 .../xcshareddata/xcschemes/exov2.xcscheme          |   6 +-
 7 files changed, 40 insertions(+), 66 deletions(-)

diff --git a/.DS_Store b/.DS_Store
index 1ad06f76..7a04f4bd 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/.github/workflows/build-macos-app.yml b/.github/workflows/build-macos-app.yml
index 3e3d6555..9ac1448d 100644
--- a/.github/workflows/build-macos-app.yml
+++ b/.github/workflows/build-macos-app.yml
@@ -6,7 +6,7 @@ on:
       - 'v*' # Trigger on version tags
     branches:
       - main # Also build on main branch for testing
-      - app-staging # Add app-staging for testing
+      - python-modules # Add app-staging for testing
   pull_request:
     branches:
       - staging # Test builds on PRs to staging
@@ -41,18 +41,12 @@ jobs:
           uv python install
           uv sync --locked --all-extras
 
-      - name: Install Python Bindings
-        run: |
-          uv pip install dist/exo_pyo3_bindings-*.whl
-
       - name: Verify Python Environment
         run: |
-          uv run python -c "import exo_pyo3_bindings; print('Python bindings installed successfully')"
           uv run python -c "import master.main; print('Master module available')"
           uv run python -c "import worker.main; print('Worker module available')"
 
       - name: Prepare Code Signing Keychain
-        if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
         env:
           MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
           MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
@@ -79,35 +73,23 @@ jobs:
           cd app/exov2
           sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
           
-          if [[ "${{ github.event_name }}" == "push" && "${{ github.ref }}" == refs/tags/v* ]]; then
-            # Release build with code signing
-            security unlock-keychain -p "$MACOS_CERTIFICATE_PASSWORD" exov2.keychain
-            SIGNING_IDENTITY=$(security find-identity -v -p codesigning | awk -F '"' '{print $2}')
-            
-            xcodebuild clean build \
-              -project exov2.xcodeproj \
-              -scheme exov2 \
-              -configuration Release \
-              -derivedDataPath build \
-              CODE_SIGNING_IDENTITY="$SIGNING_IDENTITY" \
-              PROVISIONING_PROFILE_SPECIFIER="Exo Provisioning Profile" \
-              CODE_SIGN_INJECT_BASE_ENTITLEMENTS=YES \
-              OTHER_CODE_SIGN_FLAGS="--timestamp"
-          else
-            # Debug build without code signing for testing
-            xcodebuild clean build \
-              -project exov2.xcodeproj \
-              -scheme exov2 \
-              -configuration Debug \
-              -derivedDataPath build \
-              CODE_SIGN_IDENTITY="" \
-              CODE_SIGNING_REQUIRED=NO
-          fi
-
-          mv build/Build/Products/*/exov2.app ../../
-
-      - name: Sign and Create DMG (Release only)
-        if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
+          # Release build with code signing
+          security unlock-keychain -p "$MACOS_CERTIFICATE_PASSWORD" exov2.keychain
+          SIGNING_IDENTITY=$(security find-identity -v -p codesigning | awk -F '"' '{print $2}')
+          
+          xcodebuild clean build \
+            -project exov2.xcodeproj \
+            -scheme exov2 \
+            -configuration Release \
+            -derivedDataPath build \
+            CODE_SIGNING_IDENTITY="$SIGNING_IDENTITY" \
+            PROVISIONING_PROFILE_SPECIFIER="Exo Provisioning Profile" \
+            CODE_SIGN_INJECT_BASE_ENTITLEMENTS=YES \
+            OTHER_CODE_SIGN_FLAGS="--timestamp"
+
+          mv build/Build/Products/*/EXO.app ../../
+
+      - name: Sign, Notarize, and Create DMG
         env:
           APPLE_NOTARIZATION_USERNAME: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
           APPLE_NOTARIZATION_PASSWORD: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
@@ -119,21 +101,21 @@ jobs:
           
           # Sign the app
           /usr/bin/codesign --deep --force --timestamp --options runtime \
-            --sign "$SIGNING_IDENTITY" exov2.app
+            --sign "$SIGNING_IDENTITY" EXO.app
           
           # Verify the signing
-          codesign -dvv exov2.app
+          codesign -dvv EXO.app
           
           # Create DMG
           mkdir -p tmp/dmg-contents
-          cp -r ./exov2.app tmp/dmg-contents/
+          cp -r ./EXO.app tmp/dmg-contents/
           ln -s /Applications tmp/dmg-contents/Applications
-          VERSION=$(git describe --tags --abbrev=0 | sed 's/^v//')
+          DMG_NAME="exo.dmg"
           
           # Create and sign DMG
-          hdiutil create -volname "Exo" -srcfolder tmp/dmg-contents -ov -format UDZO exov2-${VERSION}.dmg
+          hdiutil create -volname "Exo" -srcfolder tmp/dmg-contents -ov -format UDZO "$DMG_NAME"
           /usr/bin/codesign --deep --force --timestamp --options runtime \
-            --sign "$SIGNING_IDENTITY" exov2-${VERSION}.dmg
+            --sign "$SIGNING_IDENTITY" "$DMG_NAME"
 
           # Setup notarization credentials (optional - comment out if no notarization secrets)
           if [[ -n "$APPLE_NOTARIZATION_USERNAME" ]]; then
@@ -146,24 +128,14 @@ jobs:
             xcrun notarytool submit --wait \
               --team-id "$APPLE_NOTARIZATION_TEAM" \
               --keychain-profile notary_pass \
-              exov2-${VERSION}.dmg
+              "$DMG_NAME"
 
             # Staple the notarization
-            xcrun stapler staple exov2-${VERSION}.dmg
+            xcrun stapler staple "$DMG_NAME"
           fi
 
-      - name: Create DMG (Debug builds)
-        if: github.event_name != 'push' || !startsWith(github.ref, 'refs/tags/v')
-        run: |
-          mkdir -p tmp/dmg-contents
-          cp -r ./exov2.app tmp/dmg-contents/
-          ln -s /Applications tmp/dmg-contents/Applications
-          VERSION=$(git rev-parse --short HEAD)
-          
-          hdiutil create -volname "Exo Debug" -srcfolder tmp/dmg-contents -ov -format UDZO exov2-debug-${VERSION}.dmg
-
       - name: Cleanup Keychain
-        if: always() && github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
+        if: always()
         run: |
           security default-keychain -s login.keychain
           security delete-keychain exov2.keychain
@@ -171,11 +143,11 @@ jobs:
       - name: Upload DMG file
         uses: actions/upload-artifact@v4
         with:
-          name: exov2-dmg
-          path: exov2*.dmg
+          name: exo-dmg
+          path: exo.dmg
 
       - name: Upload App Bundle
         uses: actions/upload-artifact@v4
         with:
           name: exov2-app
-          path: exov2.app/ 
\ No newline at end of file
+          path: EXO.app/ 
\ No newline at end of file
diff --git a/app/.DS_Store b/app/.DS_Store
new file mode 100644
index 00000000..7a8425e4
Binary files /dev/null and b/app/.DS_Store differ
diff --git a/app/exov2/.DS_Store b/app/exov2/.DS_Store
index 31bdd033..facf32c2 100644
Binary files a/app/exov2/.DS_Store and b/app/exov2/.DS_Store differ
diff --git a/app/exov2/exov2.xcodeproj/project.pbxproj b/app/exov2/exov2.xcodeproj/project.pbxproj
index a4e54fad..432b0c1e 100644
--- a/app/exov2/exov2.xcodeproj/project.pbxproj
+++ b/app/exov2/exov2.xcodeproj/project.pbxproj
@@ -24,7 +24,7 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
-		E07D64BA2E36127E009BFB4D /* exov2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = exov2.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		E07D64BA2E36127E009BFB4D /* EXO.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EXO.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		E07D64CB2E36127F009BFB4D /* exov2Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = exov2Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		E07D64D52E36127F009BFB4D /* exov2UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = exov2UITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
@@ -85,7 +85,7 @@
 		E07D64BB2E36127E009BFB4D /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				E07D64BA2E36127E009BFB4D /* exov2.app */,
+				E07D64BA2E36127E009BFB4D /* EXO.app */,
 				E07D64CB2E36127F009BFB4D /* exov2Tests.xctest */,
 				E07D64D52E36127F009BFB4D /* exov2UITests.xctest */,
 			);
@@ -114,7 +114,7 @@
 			packageProductDependencies = (
 			);
 			productName = exov2;
-			productReference = E07D64BA2E36127E009BFB4D /* exov2.app */;
+			productReference = E07D64BA2E36127E009BFB4D /* EXO.app */;
 			productType = "com.apple.product-type.application";
 		};
 		E07D64CA2E36127F009BFB4D /* exov2Tests */ = {
@@ -399,6 +399,7 @@
 				DEVELOPMENT_ASSET_PATHS = "\"exov2/Preview Content\"";
 				ENABLE_PREVIEWS = YES;
 				GENERATE_INFOPLIST_FILE = YES;
+				INFOPLIST_KEY_CFBundleDisplayName = EXO;
 				INFOPLIST_KEY_LSUIElement = YES;
 				INFOPLIST_KEY_NSHumanReadableCopyright = "";
 				LD_RUNPATH_SEARCH_PATHS = (
@@ -407,7 +408,7 @@
 				);
 				MARKETING_VERSION = 1.0;
 				PRODUCT_BUNDLE_IDENTIFIER = exolabs.exov2;
-				PRODUCT_NAME = "$(TARGET_NAME)";
+				PRODUCT_NAME = EXO;
 				SWIFT_EMIT_LOC_STRINGS = YES;
 				SWIFT_VERSION = 5.0;
 			};
@@ -425,6 +426,7 @@
 				DEVELOPMENT_ASSET_PATHS = "\"exov2/Preview Content\"";
 				ENABLE_PREVIEWS = YES;
 				GENERATE_INFOPLIST_FILE = YES;
+				INFOPLIST_KEY_CFBundleDisplayName = EXO;
 				INFOPLIST_KEY_LSUIElement = YES;
 				INFOPLIST_KEY_NSHumanReadableCopyright = "";
 				LD_RUNPATH_SEARCH_PATHS = (
@@ -433,7 +435,7 @@
 				);
 				MARKETING_VERSION = 1.0;
 				PRODUCT_BUNDLE_IDENTIFIER = exolabs.exov2;
-				PRODUCT_NAME = "$(TARGET_NAME)";
+				PRODUCT_NAME = EXO;
 				SWIFT_EMIT_LOC_STRINGS = YES;
 				SWIFT_VERSION = 5.0;
 			};
diff --git a/app/exov2/exov2.xcodeproj/project.xcworkspace/xcuserdata/samikhan.xcuserdatad/UserInterfaceState.xcuserstate b/app/exov2/exov2.xcodeproj/project.xcworkspace/xcuserdata/samikhan.xcuserdatad/UserInterfaceState.xcuserstate
index 92fe6a19..aaaa2c4f 100644
Binary files a/app/exov2/exov2.xcodeproj/project.xcworkspace/xcuserdata/samikhan.xcuserdatad/UserInterfaceState.xcuserstate and b/app/exov2/exov2.xcodeproj/project.xcworkspace/xcuserdata/samikhan.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/app/exov2/exov2.xcodeproj/xcshareddata/xcschemes/exov2.xcscheme b/app/exov2/exov2.xcodeproj/xcshareddata/xcschemes/exov2.xcscheme
index b6afb5a7..5d0981dc 100644
--- a/app/exov2/exov2.xcodeproj/xcshareddata/xcschemes/exov2.xcscheme
+++ b/app/exov2/exov2.xcodeproj/xcshareddata/xcschemes/exov2.xcscheme
@@ -16,7 +16,7 @@
             <BuildableReference
                BuildableIdentifier = "primary"
                BlueprintIdentifier = "E07D64B92E36127E009BFB4D"
-               BuildableName = "exov2.app"
+               BuildableName = "EXO.app"
                BlueprintName = "exov2"
                ReferencedContainer = "container:exov2.xcodeproj">
             </BuildableReference>
@@ -69,7 +69,7 @@
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "E07D64B92E36127E009BFB4D"
-            BuildableName = "exov2.app"
+            BuildableName = "EXO.app"
             BlueprintName = "exov2"
             ReferencedContainer = "container:exov2.xcodeproj">
          </BuildableReference>
@@ -93,7 +93,7 @@
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "E07D64B92E36127E009BFB4D"
-            BuildableName = "exov2.app"
+            BuildableName = "EXO.app"
             BlueprintName = "exov2"
             ReferencedContainer = "container:exov2.xcodeproj">
          </BuildableReference>

← 407796d1 Minor dashboard fixes  ·  back to Exo  ·  build and release on staging c560c55c →