ci: use M1 Macs for iOS builds
Should be faster, and is the same a how we do it for mobile app. Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
parent
90d54b1a3d
commit
08403df4c0
|
@ -1,7 +1,7 @@
|
||||||
library 'status-jenkins-lib@v1.6.4'
|
library 'status-jenkins-lib@v1.6.4'
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
agent { label 'macos && x86_64 && go-1.18' }
|
agent { label 'macos && aarch64 && go-1.18 && nix-2.11' }
|
||||||
|
|
||||||
parameters {
|
parameters {
|
||||||
string(
|
string(
|
||||||
|
|
31
shell.nix
31
shell.nix
|
@ -29,28 +29,35 @@
|
||||||
}
|
}
|
||||||
}:
|
}:
|
||||||
|
|
||||||
pkgs.mkShell {
|
let
|
||||||
|
inherit (pkgs) lib stdenv;
|
||||||
|
|
||||||
|
/* No Android SDK for Darwin aarch64. */
|
||||||
|
isMacM1 = stdenv.isDarwin && stdenv.isAarch64;
|
||||||
|
/* Lock requires Xcode verison. */
|
||||||
|
xcodeWrapper = pkgs.xcodeenv.composeXcodeWrapper { version = "14.2"; };
|
||||||
|
/* Gomobile also needs the Xcode wrapper. */
|
||||||
|
gomobileMod = pkgs.gomobile.override {
|
||||||
|
inherit xcodeWrapper;
|
||||||
|
withAndroidPkgs = !isMacM1;
|
||||||
|
};
|
||||||
|
in pkgs.mkShell {
|
||||||
name = "status-go-shell";
|
name = "status-go-shell";
|
||||||
|
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
git jq which
|
git jq which
|
||||||
go_1_18 golangci-lint gopls go-bindata
|
go_1_18 golangci-lint gopls go-bindata gomobileMod
|
||||||
mockgen protobuf3_17 protoc-gen-go
|
mockgen protobuf3_17 protoc-gen-go
|
||||||
(gomobile.override { xcodeWrapperArgs = { version = "13.4.1"; }; })
|
] ++ lib.optional stdenv.isDarwin xcodeWrapper;
|
||||||
] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [
|
|
||||||
(xcodeenv.composeXcodeWrapper { version = "13.4.1"; })
|
|
||||||
];
|
|
||||||
|
|
||||||
shellHook = let
|
shellHook = lib.optionalString (!isMacM1) ''
|
||||||
androidSdk = pkgs.androidPkgs.androidsdk;
|
ANDROID_HOME=${pkgs.androidPkgs.androidsdk}/libexec/android-sdk
|
||||||
in ''
|
ANDROID_NDK=$ANDROID_HOME/ndk-bundle
|
||||||
ANDROID_HOME=${androidSdk}/libexec/android-sdk
|
|
||||||
ANDROID_SDK_ROOT=$ANDROID_HOME
|
ANDROID_SDK_ROOT=$ANDROID_HOME
|
||||||
ANDROID_NDK=${androidSdk}/libexec/android-sdk/ndk-bundle
|
|
||||||
ANDROID_NDK_HOME=$ANDROID_NDK
|
ANDROID_NDK_HOME=$ANDROID_NDK
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Sandbox causes Xcode issues on MacOS. Requires sandbox=relaxed.
|
# Sandbox causes Xcode issues on MacOS. Requires sandbox=relaxed.
|
||||||
# https://github.com/status-im/status-mobile/pull/13912
|
# https://github.com/status-im/status-mobile/pull/13912
|
||||||
__noChroot = pkgs.stdenv.isDarwin;
|
__noChroot = stdenv.isDarwin;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue