{ "id": "169901", "key": "TIMOB-25351", "fields": { "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2017-09-26T11:14:14.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "updated": "2017-09-26T20:52:54.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [], "description": "Jenkins currently builds with Xcode 8 , Android API-Level 23 and Ti-SDK 6.0.3 by default. We should bump the default to 6.2.2, Xcode 9 and Android API-Level 25 (or 26?).", "attachment": [], "flagged": false, "summary": "Jenkins: Update to latest tooling", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "428473", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "So it's difficult to say which projects specifically this is for as we may vary across many projects and branches. I'm going to assume you mean for titanium_mobile, but maybe you also mean the native modules?\r\n\r\nOK, so to upgrade to Xcode 9, we need to update the chef scripts to install/upgrade that on the boxes (or just some of the boxes, depending on if we need to use Xcode 8 for currently maintained branches of the SDK?). If we need to maintain/tie specific versions of Xcode to specific branches of the SDK or modules, we'll need to introduce new labels for the agents like \"xcode-8\", \"xcode-9\"; and use those in place of the generic \"xcode\" label. (I haven't baked in passing along what version of Xcode to use in any build scripts yet)\r\n\r\nThe Android SDK api-level can be set using a command line argument passed to the scons build scripts for titanium_mobile. But it's defaulting to api-level 26 now anyways: https://github.com/appcelerator/titanium_mobile/blob/master/build/androidsdk.js#L6\r\n\r\nIt can also be set using properties in the native module build script (Jenkinsfile). For those, the default is currently 23: https://github.com/appcelerator/pipeline-library/blob/master/vars/buildModule.groovy#L108\r\n\r\nAgain, I think we likely need to peg certain versions of native modules against certain versions of the SDK and Android SDK.\r\n\r\nFor Android NDK, that can be set by another command line argument for scons on titanium_mobile. It's pointing at NDK r11c for now: https://github.com/appcelerator/titanium_mobile/blob/master/Jenkinsfile#L196\r\n\r\nFor native modules, we're using whatever ANDROID_NDK points to on the build agents: https://github.com/appcelerator/pipeline-library/blob/master/vars/buildModule.groovy#L20\r\nI believe I have that set to point to r10e.\r\n\r\nI set up various ANDROID_NDK_VERSION env vars so we can point at different versions installed on the agents, but I haven't baked choosing the version into the module build scripts yet.\r\n\r\n\r\n", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2017-09-26T14:55:50.000+0000", "updated": "2017-09-26T14:55:50.000+0000" }, { "id": "428495", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "I pushed a change to the {{buildModule}} pipeline method to allow to choose a specific NDK version. I do no validation of the value, and there's no guarantee we have the one you want on the build agents, but we do have r10e, r11c, r12b, (and possibly r14b) on the nodes. The change also made the default r12b now, instead of r10e.\r\n\r\nSo we can now update some of the module builds to peg to specific NDK versions now if we'd like.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2017-09-26T20:52:54.000+0000", "updated": "2017-09-26T20:52:54.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }