Debugging missing build folder on CI


#1

While I’ve been enjoying Ionic development, sometimes it seems to be an all or nothing endeavor which is frustrating. I currently having everything building fine on my local environment (Mac) and I’m trying to get a CI environment setup which is running Ubuntu Linux. I pretty much have everything triggering, testing, building, and deploying the way that I want however when I go and run the APK for Android I just get a white screen. Upon further investigation I notice the www/build folder is not being generated explaining the white screen when running the APK. I seem to have the same versions of everything that I can tell including Java, Node, Cordova, Ionic, etc. What’s the best way to debug and troubleshoot why the www/build is missing? Also why generate the APK without generating the appropriate files?

Mac ionic info:

$ ionic info

Your system information:

Cordova CLI: 6.4.0
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.11
Ionic CLI Version: 2.0.0-beta.37
Ionic App Lib Version: 2.0.0-beta.20
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Mac OS X El Capitan
Node Version: v7.0.0
Xcode version: Xcode 8.1 Build version 8B62 

Linux ionic info:

$ ionic info

Your system information:

Cordova CLI: 6.4.0
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.11
Ionic CLI Version: 2.0.0-beta.37
Ionic App Lib Version: 2.0.0-beta.20
OS: Distributor ID:	Ubuntu Description:	Ubuntu 14.04.5 LTS 
Node Version: v7.0.0

#2

Running cordova info and cordova requirements also matches up. As far as I can tell everything is configured the same for building. Anyone know any other tricks to help narrow down the issue or at least show some sort of error/warning?


#3

Mac cordova requirements:

$ cordova requirements

Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed 
Android target: installed android-18,android-22,android-23,android-25
Gradle: installed

Linux cordova requirements:

$ cordova requirements

Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed 
Android target: installed android-18,android-22,android-23,android-25,Google Inc.:Google APIs:22
Gradle: installed

#4

Important: we do not recommend to use cordova-cli > 4.x yet, because of the tool API change that is not fully tested on Ubuntu. Check out upstream Cordova docs for detailed information about Ubuntu platform support in the native Cordova CLI workflow.

Seems like the limitations with Cordova running on Ubuntu Linux is what’s causing my issues.
https://developer.ubuntu.com/en/phone/apps/html-5/guides/cordova-guide/

It’s disappointing that running Cordova doesn’t work on Ubuntu Linux like any other platform without using an outdated version of Cordova and dependencies. This would require me to use outdated versions of Cordova and it’s dependencies for my app or have CI build differently than I’m developing with which isn’t desirable either. :thumbsdown:

To make Ionic and Cordova desirable platforms to work with some focus should be on the back end of how to test and deploy releases such as through CI systems.


#5

That page refers to building an Ubuntu app, i.e. ubuntu as a target platform, not to building an Android app on Ubuntu.

To debug your issue I think you should log the build output somehow (depending on how you run your CI build) and look and what it says.

Also you’re using some pretty old versions. The latest Ionic CLI is 2.1.17 and Ionic Framework is 2.0.0-rc.3.