NativeScript / NativeScript/nativescript-cli

iOS cloud build failure: "No project found at or above '/private/tmp/builds/_/[...]'"

Open
#3,985 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

needs more info
Dominant language
JavaScript
Stars
1.1k
Forks
204
Avg merge
1d 9h
Merged PRs (30d)
8

Description

Environment

  • CLI: 5.0.0-2018-10-05-12399 (Ubuntu 16.04 LTS)
  • Cross-platform modules: 4.2.1
  • Android Runtime: 4.2.0
  • iOS Runtime: 4.2.0
  • Plugin(s): package.json

Describe the bug
Local android builds succeed and install on an emulator with no issues. However, cloud build ios fails with the following error:

{after-prepare hooks and other normal stuff beforehand}

  ios Build Tooling revision 2018.08.08.1r
  Build Tooling Hostname administrators-mac-4.local
 App package not specified. Skipping unzip step.
  NativeScript CLI version 4.1.2
 Add platform ios with runtime version 4.2.0

Support for macOS 10.12 is deprecated and will be removed in one of the next releases of NativeScript. Please, upgrade to the latest macOS version.
 No project found at or above `/private/tmp/builds/_/ec0244e90d63acff1f57a805419368be2c1ae7f3/4.1.2/4.2.0/Antem2' and neither was a --path specified.
 # tns platform add
==========
┌──────────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Usage                    │ Synopsis                                                                                                                                        │
│ Android latest runtime   │ $ tns platform add android [--framework-path <File Path>] [--symlink] [--sdk <API Level>] [--platform-template <Platform Template>]             │
│ Android selected runtime │ $ tns platform add android[@<Version>] [--framework-path <File Path>] [--symlink] [--sdk <API Level>] [--platform-template <Platform Template>] │
│ iOS latest runtime       │ $ tns platform add ios [--framework-path <File Path>] [--symlink]                                                                               │
│ iOS selected runtime     │ $ tns platform add ios[@<Version>] [--framework-path <File Path>] [--symlink] [--platform-template <Platform Template>]                         │
└──────────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Configures the current project to target the selected platform. 
### Options
    * --framework-path - Sets the path to a NativeScript runtime for the specified platform that you want to use instead of the default runtime. If --symlink is specified, <File Path> must point to directory in which the runtime is already extracted. If --symlink is not specified, <File Path> must point to a valid npm package.
    * --symlink - Creates a symlink to a NativeScript runtime for the specified platform that you want to use instead of the default runtime. If --frameworkPath is specified, creates a symlink to the specified directory. If --frameworkPath is not specified, creates a symlink to platform runtime installed with your current version of NativeScript.
    * --sdk - Sets the target Android SDK for the project.
    * --platform-template - Sets the platform template that will be used for the native application.
### Attributes
    * <API Level> is a valid Android API level. For example: 17, 19, MNC.
    * <File Path> is the complete path to a valid npm package or a directory that contains a NativeScript runtime for the selected platform.
    * <Platform Template> is a valid npm package, path to directory, .tgz or GitHub URL that contains a native Android or iOS template.
    * <Version> is any available version of the respective platform runtime published in npm.
No project found at or above '/private/tmp/builds/_/ec0244e90d63acff1f57a805419368be2c1ae7f3/4.1.2/4.2.0/Antem2' and neither was a --path specified.

Build failed.

Local android builds succeed with no issue.

To reproduce
Define following alias (split between multiple lines for legibility):

alias cloudbuild='echo -n "Enter password for Certificates.p12: " &&
read -s && echo &&
tns cloud build ios
    --accountId=1 --bundle --env.uglify --env.production --env.snapshot --release
    --certificate="/home/potassiumion/Downloads/Certificates.p12"
    --provision="/home/potassiumion/Downloads/Antem_Distribution.mobileprovision"
    --certificatePassword=$REPLY'

--provision and --certificate options link to valid files and --certificatePassword is correct

Run cloudbuild in root folder

I have tried using different nativescript versions as well, to no avail.

Expected behavior
Build should succeed and spit back an .ipa. Local android builds do work as expected.

Project structure
Project structure

Additional context
Gist with log and package.json

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is identified in the report. Start by reproducing tns cloud build ios from the project root with the documented CLI and certificate options, then trace the reported missing-project path. Done means the cloud build locates the project and produces the expected .ipa.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, javascript
Domain
cli, cloud, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.