From 718e6cdbb3a2e8365abbd257c26e98a21ba5f387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Soko=C5=82owski?= Date: Thu, 1 Sep 2022 13:28:24 +0200 Subject: [PATCH] ci: disable sandbox for status-go iOS builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Otherwise we get weird failures like these: ``` clang-11: error: cannot use 'cpp-output' output with multiple -arch options clang-11: error: invalid argument '-mmacos-version-min=10.12' not allowed with '-miphoneos-version-min=8.0' clang-11: error: invalid argument '-mmacos-version-min=10.12' not allowed with '-miphoneos-version-min=8.0' ``` Depends on: https://github.com/status-im/status-jenkins-lib/pull/47 Signed-off-by: Jakub SokoĊ‚owski --- ci/Jenkinsfile.android | 2 +- ci/Jenkinsfile.combined | 2 +- ci/Jenkinsfile.ios | 2 +- ci/Jenkinsfile.nix-cache | 2 +- ci/tests/Jenkinsfile.e2e-prs | 2 +- ci/tools/Jenkinsfile.fastlane-clean | 2 +- ci/tools/Jenkinsfile.playstore-meta | 2 +- nix/nix.conf | 4 ++-- nix/status-go/mobile/build.nix | 4 ++++ 9 files changed, 13 insertions(+), 9 deletions(-) diff --git a/ci/Jenkinsfile.android b/ci/Jenkinsfile.android index 1a4efa69fd..64b434fc41 100644 --- a/ci/Jenkinsfile.android +++ b/ci/Jenkinsfile.android @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.5.2' +library 'status-jenkins-lib@v1.5.3' /* Options section can't access functions in objects. */ def isPRBuild = utils.isPRBuild() diff --git a/ci/Jenkinsfile.combined b/ci/Jenkinsfile.combined index 8a494919f1..010a602d0a 100644 --- a/ci/Jenkinsfile.combined +++ b/ci/Jenkinsfile.combined @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.5.2' +library 'status-jenkins-lib@v1.5.3' pipeline { agent { label 'linux' } diff --git a/ci/Jenkinsfile.ios b/ci/Jenkinsfile.ios index 8e89b1b162..7bfd829548 100644 --- a/ci/Jenkinsfile.ios +++ b/ci/Jenkinsfile.ios @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.5.2' +library 'status-jenkins-lib@v1.5.3' /* Options section can't access functions in objects. */ def isPRBuild = utils.isPRBuild() diff --git a/ci/Jenkinsfile.nix-cache b/ci/Jenkinsfile.nix-cache index 6243280c17..6144491004 100644 --- a/ci/Jenkinsfile.nix-cache +++ b/ci/Jenkinsfile.nix-cache @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.5.2' +library 'status-jenkins-lib@v1.5.3' pipeline { agent { label params.AGENT_LABEL } diff --git a/ci/tests/Jenkinsfile.e2e-prs b/ci/tests/Jenkinsfile.e2e-prs index a6f052a624..cd05562fc2 100644 --- a/ci/tests/Jenkinsfile.e2e-prs +++ b/ci/tests/Jenkinsfile.e2e-prs @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.5.2' +library 'status-jenkins-lib@v1.5.3' pipeline { diff --git a/ci/tools/Jenkinsfile.fastlane-clean b/ci/tools/Jenkinsfile.fastlane-clean index b962292fdd..660b3931fa 100644 --- a/ci/tools/Jenkinsfile.fastlane-clean +++ b/ci/tools/Jenkinsfile.fastlane-clean @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.5.2' +library 'status-jenkins-lib@v1.5.3' pipeline { agent { label 'macos' } diff --git a/ci/tools/Jenkinsfile.playstore-meta b/ci/tools/Jenkinsfile.playstore-meta index e9d156d397..aea20ba8d0 100644 --- a/ci/tools/Jenkinsfile.playstore-meta +++ b/ci/tools/Jenkinsfile.playstore-meta @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.5.2' +library 'status-jenkins-lib@v1.5.3' pipeline { agent { label 'linux' } diff --git a/nix/nix.conf b/nix/nix.conf index d9bbe8a985..903e848599 100644 --- a/nix/nix.conf +++ b/nix/nix.conf @@ -9,7 +9,7 @@ max-jobs = auto # Helps avoid removing currently used dependencies via garbage collection keep-derivations = true keep-outputs = true -# Extra isolation for network and filesystem, doesn't work on MacOS -build-use-sandbox = false +# Some builds on MacOS have issue with sandbox so they are disabled with __noChroot. +sandbox = relaxed # Enable Nix v2 interface. experimental-features = nix-command diff --git a/nix/status-go/mobile/build.nix b/nix/status-go/mobile/build.nix index decbe53d71..3dbd0e1e54 100644 --- a/nix/status-go/mobile/build.nix +++ b/nix/status-go/mobile/build.nix @@ -18,6 +18,10 @@ in buildGoPackage { inherit meta; inherit (source) src goPackagePath; + # Sandbox causes Xcode issues on MacOS. Requires sandbox=relaxed. + # https://github.com/status-im/status-mobile/pull/13912 + __noChroot = (platform == "ios"); + extraSrcPaths = [ gomobile ]; nativeBuildInputs = [ gomobile removeReferencesTo ] ++ optional (platform == "android") openjdk