name: Build on: push: branches: [ main, develop ] pull_request: branches: [ main, develop ] workflow_dispatch: jobs: build-ios: name: Build iOS runs-on: macos-14 steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: '8.0.x' - name: Install MAUI workload run: dotnet workload install maui --source https://api.nuget.org/v3/index.json - name: Restore dependencies run: dotnet restore HihaArvio.sln - name: Build iOS run: dotnet build src/HihaArvio/HihaArvio.csproj -f net8.0-ios -c Release /p:ArchiveOnBuild=false /p:EnableCodeSigning=false - name: Upload iOS build artifacts uses: actions/upload-artifact@v4 with: name: ios-build path: | src/HihaArvio/bin/Release/net8.0-ios/**/*.app src/HihaArvio/bin/Release/net8.0-ios/**/*.ipa retention-days: 7 build-maccatalyst: name: Build macOS Catalyst runs-on: macos-14 steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: '8.0.x' - name: Install MAUI workload run: dotnet workload install maui --source https://api.nuget.org/v3/index.json - name: Restore dependencies run: dotnet restore HihaArvio.sln - name: Build macOS Catalyst run: dotnet build src/HihaArvio/HihaArvio.csproj -f net8.0-maccatalyst -c Release /p:ArchiveOnBuild=false /p:EnableCodeSigning=false - name: Upload macOS build artifacts uses: actions/upload-artifact@v4 with: name: maccatalyst-build path: | src/HihaArvio/bin/Release/net8.0-maccatalyst/**/*.app src/HihaArvio/bin/Release/net8.0-maccatalyst/**/*.pkg retention-days: 7 build-status: name: Build Status runs-on: ubuntu-latest needs: [build-ios, build-maccatalyst] if: always() steps: - name: Check build status run: | if [[ "${{ needs.build-ios.result }}" == "success" ]] && [[ "${{ needs.build-maccatalyst.result }}" == "success" ]]; then echo "✅ All builds succeeded" exit 0 else echo "❌ One or more builds failed" echo "iOS: ${{ needs.build-ios.result }}" echo "macOS Catalyst: ${{ needs.build-maccatalyst.result }}" exit 1 fi