diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e9d7315..9adfa69 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,173 +1,173 @@ -name: Kotlin Multiplatform CI/CD - -on: - push: - branches: - - main - pull_request: - branches: - - main - -jobs: - build-android: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up JDK - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'zulu' - - - name: Cache Gradle packages - uses: actions/cache@v4 - with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} - restore-keys: | - ${{ runner.os }}-gradle- - - - name: Build Android - run: ./gradlew assembleRelease --info - - - name: Run Unit Tests - run: ./gradlew test - - - name: Build iOS shared code - run: ./gradlew :composeApp:compileKotlinIosSimulatorArm64 - - - name: Upload Android artifacts - uses: actions/upload-artifact@v4 - with: - name: android-release-apk - path: composeApp/build/outputs/apk/release/*.apk - - build-ios: - runs-on: macos-14 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up JDK - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'zulu' - - - name: Install Xcode Command Line Tools - run: | - if ! xcode-select --print-path > /dev/null 2>&1; then - echo "Xcode Command Line Tools are not installed. Installing..." - xcode-select --install || echo "Failed to install Xcode Command Line Tools" - else - echo "Xcode Command Line Tools are already installed" - fi - - - name: Build iOS - run: | - xcodebuild -allowProvisioningUpdates -workspace iosApp/iosApp.xcodeproj/project.xcworkspace -scheme iosApp -configuration Debug -sdk iphoneos -destination name='iPhone 14' build CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY="" DEVELOPMENT_TEAM="" +# name: Kotlin Multiplatform CI/CD + +# on: +# push: +# branches: +# - main +# pull_request: +# branches: +# - main + +# jobs: +# build-android: +# runs-on: ubuntu-latest +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 + +# - name: Set up JDK +# uses: actions/setup-java@v4 +# with: +# java-version: '17' +# distribution: 'zulu' + +# - name: Cache Gradle packages +# uses: actions/cache@v4 +# with: +# path: ~/.gradle/caches +# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} +# restore-keys: | +# ${{ runner.os }}-gradle- + +# - name: Build Android +# run: ./gradlew assembleRelease --info + +# - name: Run Unit Tests +# run: ./gradlew test + +# - name: Build iOS shared code +# run: ./gradlew :composeApp:compileKotlinIosSimulatorArm64 + +# - name: Upload Android artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: android-release-apk +# path: composeApp/build/outputs/apk/release/*.apk + +# build-ios: +# runs-on: macos-14 +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 + +# - name: Set up JDK +# uses: actions/setup-java@v4 +# with: +# java-version: '17' +# distribution: 'zulu' + +# - name: Install Xcode Command Line Tools +# run: | +# if ! xcode-select --print-path > /dev/null 2>&1; then +# echo "Xcode Command Line Tools are not installed. Installing..." +# xcode-select --install || echo "Failed to install Xcode Command Line Tools" +# else +# echo "Xcode Command Line Tools are already installed" +# fi + +# - name: Build iOS +# run: | +# xcodebuild -allowProvisioningUpdates -workspace iosApp/iosApp.xcodeproj/project.xcworkspace -scheme iosApp -configuration Debug -sdk iphoneos -destination name='iPhone 14' build CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY="" DEVELOPMENT_TEAM="" - - name: Upload iOS artifacts - uses: actions/upload-artifact@v4 - with: - name: ios-framework - path: build/ios/Debug-iphonesimulator/*.app - - build-desktop: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up JDK - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'zulu' - - - name: Cache Gradle packages - uses: actions/cache@v4 - with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} - restore-keys: | - ${{ runner.os }}-gradle- - - - name: Build Desktop - run: ./gradlew desktopJar - - - name: Upload Desktop artifacts - uses: actions/upload-artifact@v4 - with: - name: desktop-jar - path: composeApp/build/libs/*.jar - - build-macos: - runs-on: macos-14 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Install Dependencies - run: brew install create-dmg - - - name: Build macOS app - run: | - xcodebuild -workspace iosApp/iosApp.xcodeproj/project.xcworkspace -scheme iosApp -configuration Release -sdk macosx clean build CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY="" DEVELOPMENT_TEAM="" +# - name: Upload iOS artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: ios-framework +# path: build/ios/Debug-iphonesimulator/*.app + +# build-desktop: +# runs-on: ubuntu-latest +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 + +# - name: Set up JDK +# uses: actions/setup-java@v4 +# with: +# java-version: '17' +# distribution: 'zulu' + +# - name: Cache Gradle packages +# uses: actions/cache@v4 +# with: +# path: ~/.gradle/caches +# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} +# restore-keys: | +# ${{ runner.os }}-gradle- + +# - name: Build Desktop +# run: ./gradlew desktopJar + +# - name: Upload Desktop artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: desktop-jar +# path: composeApp/build/libs/*.jar + +# build-macos: +# runs-on: macos-14 +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 + +# - name: Install Dependencies +# run: brew install create-dmg + +# - name: Build macOS app +# run: | +# xcodebuild -workspace iosApp/iosApp.xcodeproj/project.xcworkspace -scheme iosApp -configuration Release -sdk macosx clean build CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY="" DEVELOPMENT_TEAM="" - - name: Create DMG - run: | - create-dmg 'path/to/your/app.app' 'path/to/output/directory' - # Adjust paths as needed - - - name: Upload DMG - uses: actions/upload-artifact@v3 - with: - name: macos-dmg - path: path/to/output/directory/*.dmg - - build-web: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up JDK - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'zulu' - - - name: Cache Gradle packages - uses: actions/cache@v4 - with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} - restore-keys: | - ${{ runner.os }}-gradle- - - - name: Build Web - run: ./gradlew wasmJsBrowserWebpack - - - name: Upload Web artifacts - uses: actions/upload-artifact@v4 - with: - name: web-app - path: webApp/build/distributions/*.tar.gz - - generate-artifact-links: - runs-on: ubuntu-latest - needs: [build-android, build-ios, build-desktop, build-web] - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: List artifacts - run: | - echo "Artifact URLs for download:" - echo "Android APK: ${{ needs.build-android.outputs.artifact-url }}" - echo "iOS Framework: ${{ needs.build-ios.outputs.artifact-url }}" - echo "Desktop JAR: ${{ needs.build-desktop.outputs.artifact-url }}" - echo "Web App: ${{ needs.build-web.outputs.artifact-url }}" +# - name: Create DMG +# run: | +# create-dmg 'path/to/your/app.app' 'path/to/output/directory' +# # Adjust paths as needed + +# - name: Upload DMG +# uses: actions/upload-artifact@v3 +# with: +# name: macos-dmg +# path: path/to/output/directory/*.dmg + +# build-web: +# runs-on: ubuntu-latest +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 + +# - name: Set up JDK +# uses: actions/setup-java@v4 +# with: +# java-version: '17' +# distribution: 'zulu' + +# - name: Cache Gradle packages +# uses: actions/cache@v4 +# with: +# path: ~/.gradle/caches +# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} +# restore-keys: | +# ${{ runner.os }}-gradle- + +# - name: Build Web +# run: ./gradlew wasmJsBrowserWebpack + +# - name: Upload Web artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: web-app +# path: webApp/build/distributions/*.tar.gz + +# generate-artifact-links: +# runs-on: ubuntu-latest +# needs: [build-android, build-ios, build-desktop, build-web] +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 + +# - name: List artifacts +# run: | +# echo "Artifact URLs for download:" +# echo "Android APK: ${{ needs.build-android.outputs.artifact-url }}" +# echo "iOS Framework: ${{ needs.build-ios.outputs.artifact-url }}" +# echo "Desktop JAR: ${{ needs.build-desktop.outputs.artifact-url }}" +# echo "Web App: ${{ needs.build-web.outputs.artifact-url }}"