Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Swift fastlane does not run on Apple Silicon #18502

Closed
4 tasks done
beny opened this issue Apr 2, 2021 · 22 comments
Closed
4 tasks done

Swift fastlane does not run on Apple Silicon #18502

beny opened this issue Apr 2, 2021 · 22 comments

Comments

@beny
Copy link

beny commented Apr 2, 2021

New Issue Checklist

Issue Description

When I try to run fastlane in Swift on Apple Silicone machine natively it fails on running. When I run the same command through Rosetta 2 (arch -x86_64) or on Intel machine, it works fine.

I've tried it running it on macOS system Ruby (ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]) and on latest Ruby 2.7 (ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [arm64-darwin20]) but with no luck.

Command executed

bundle exec fastlane custom

Complete output when running fastlane, including the stack trace and command used
% bundle exec fastlane custom 
[✔] 🚀 
[15:35:42]: loading manifest: /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/swift/upgrade_manifest.json
[15:35:42]: FastlaneSwiftRunner project is up-to-date
[15:35:42]: Resolving Swift Package Manager dependencies...
[15:35:42]: $ xcodebuild -resolvePackageDependencies -scheme FastlaneRunner -project ./fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj
[15:35:42]: ▸ objc[59172]: Class AMSupportURLConnectionDelegate is implemented in both ?? (0x204ed0188) and ?? (0x1161a02b8). One of the two will be used. Which one is undefined.
[15:35:42]: ▸ objc[59172]: Class AMSupportURLSession is implemented in both ?? (0x204ed01d8) and ?? (0x1161a0308). One of the two will be used. Which one is undefined.
[15:35:42]: ▸ Command line invocation:
[15:35:42]: ▸     /Applications/Xcode-12.4.app/Contents/Developer/usr/bin/xcodebuild -resolvePackageDependencies -scheme FastlaneRunner -project ./fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj
[15:35:42]: ▸ resolved source packages: 
[15:35:42]: $ xcodebuild -showBuildSettings -scheme FastlaneRunner -project ./fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj
objc[59178]: Class AMSupportURLConnectionDelegate is implemented in both ?? (0x204ed0188) and ?? (0x117d9c2b8). One of the two will be used. Which one is undefined.
objc[59178]: Class AMSupportURLSession is implemented in both ?? (0x204ed01d8) and ?? (0x117d9c308). One of the two will be used. Which one is undefined.
[15:35:43]: $ set -o pipefail && xcodebuild -scheme FastlaneRunner -project ./fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj -destination 'generic/platform=macOS' build | tee /Users/builder/Library/Logs/gym/App-FastlaneRunner.log | xcpretty
[15:35:52]: $ ./fastlane/FastlaneRunner lane custom swiftServerPort 2000 > /dev/null
[15:35:52]: ▸ sh: line 1: 59261 Killed: 9               ./fastlane/FastlaneRunner lane custom swiftServerPort 2000 > /dev/null
# terminated with exception (report_on_exception is true):
Traceback (most recent call last):
	4: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/swift_lane_manager.rb:97:in `block in cruise_swift_lane_in_thread'
	3: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/helper/sh_helper.rb:12:in `sh'
	2: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/helper/sh_helper.rb:80:in `sh_control_output'
	1: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in `method_missing'
/Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in `shell_error!': Exit status of command './fastlane/FastlaneRunner lane custom swiftServerPort 2000 > /dev/null' was 137 instead of 0. (FastlaneCore::Interface::FastlaneShellError)
sh: line 1: 59261 Killed: 9               ./fastlane/FastlaneRunner lane custom swiftServerPort 2000 > /dev/null
# terminated with exception (report_on_exception is true):
Traceback (most recent call last):
	5: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/swift_lane_manager.rb:223:in `block in start_socket_thread'
	4: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/server/socket_server.rb:38:in `start'
	3: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/server/socket_server.rb:147:in `listen'
	2: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/2.7.0/timeout.rb:110:in `timeout'
	1: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/server/socket_server.rb:148:in `block in listen'
/Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/server/socket_server.rb:148:in `accept': execution expired (Timeout::Error)
	5: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/swift_lane_manager.rb:223:in `block in start_socket_thread'
	4: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/server/socket_server.rb:38:in `start'
	3: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/server/socket_server.rb:146:in `listen'
	2: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane/lib/fastlane/server/socket_server.rb:151:in `rescue in listen'
	1: from /Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in `method_missing'
/Users/builder/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.179.0/fastlane_core/lib/fastlane_core/ui/interface.rb:141:in `user_error!': fastlane failed to receive a connection from the FastlaneRunner binary after 5 seconds, shutting down (FastlaneCore::Interface::FastlaneError)
+-----------+--------+
|    Lane Context    |
+-----------+--------+
| LANE_NAME | custom |
+-----------+--------+
[15:35:57]: fastlane failed to receive a connection from the FastlaneRunner binary after 5 seconds, shutting down
[15:35:57]: fastlane finished with errors

[!] fastlane failed to receive a connection from the FastlaneRunner binary after 5 seconds, shutting down

Environment

✅ fastlane environment ✅

Stack

Key Value
OS 11.2.3
Ruby 2.7.2
Bundler? true
Git git version 2.24.3 (Apple Git-128)
Installation Source ~/.rbenv/versions/2.7.2/bin/fastlane
Host macOS 11.2.3 (20D91)
Ruby Lib Dir ~/.rbenv/versions/2.7.2/lib
OpenSSL Version OpenSSL 1.1.1j 16 Feb 2021
Is contained false
Is homebrew false
Is installed via Fabric.app false
Xcode Path /Applications/Xcode-12.4.app/Contents/Developer/
Xcode Version 12.4

System Locale

Variable Value
LANG en_US.UTF-8
LC_ALL en_US.UTF-8
LANGUAGE

fastlane files:

`./fastlane/Fastfile.swift`
// This file contains the fastlane.tools configuration
// You can find the documentation at https://docs.fastlane.tools
//
// For a list of all available actions, check out
//
//     https://docs.fastlane.tools/actions
//

import Foundation

class Fastfile: LaneFile {
	func customLane() {
	desc("Description of what the lane does")
		// add actions here: https://docs.fastlane.tools/actions
	}
}

No Appfile found

fastlane gems

Gem Version Update-Status
fastlane 2.179.0 ✅ Up-To-Date

Loaded fastlane plugins:

No plugins Loaded

Loaded gems
Gem Version
did_you_mean 1.4.0
bundler 2.2.15
uri 0.10.0
rake 13.0.3
CFPropertyList 3.0.3
public_suffix 4.0.6
addressable 2.7.0
artifactory 3.0.15
atomos 0.1.3
aws-eventstream 1.1.1
aws-partitions 1.440.0
aws-sigv4 1.2.3
jmespath 1.4.0
aws-sdk-core 3.113.1
aws-sdk-kms 1.43.0
aws-sdk-s3 1.93.0
babosa 1.0.4
claide 1.0.3
colored 1.2
colored2 3.1.2
highline 1.7.10
commander-fastlane 4.4.6
declarative 0.0.20
declarative-option 0.1.0
digest-crc 0.6.3
unf_ext 0.0.7.7
unf 0.1.4
domain_name 0.5.20190701
dotenv 2.7.6
emoji_regex 3.2.2
excon 0.79.0
faraday-net_http 1.0.1
multipart-post 2.0.0
ruby2_keywords 0.0.4
faraday 1.3.0
http-cookie 1.0.3
faraday-cookie_jar 0.0.7
faraday_middleware 1.0.0
fastimage 2.2.3
gh_inspector 1.1.3
jwt 2.2.2
memoist 0.16.2
multi_json 1.15.0
os 1.1.1
signet 0.15.0
googleauth 0.16.1
httpclient 2.8.3
mini_mime 1.0.3
uber 0.1.0
representable 3.0.4
retriable 3.1.2
google-api-client 0.38.0
rexml 3.2.4
webrick 1.7.0
google-apis-core 0.3.0
google-apis-iamcredentials_v1 0.2.0
google-apis-storage_v1 0.3.0
google-cloud-env 1.5.0
google-cloud-errors 1.1.0
google-cloud-core 1.6.0
google-cloud-storage 1.31.0
json 2.5.1
mini_magick 4.11.0
naturally 2.2.1
plist 3.6.0
rubyzip 2.3.0
security 0.1.3
simctl 1.6.8
slack-notifier 2.3.2
terminal-notifier 2.0.0
unicode-display_width 1.7.0
terminal-table 1.8.0
tty-screen 0.8.1
tty-cursor 0.7.1
tty-spinner 0.9.3
word_wrap 1.0.0
nanaimo 0.3.0
xcodeproj 1.19.0
rouge 2.0.7
xcpretty 0.3.0
xcpretty-travis-formatter 1.0.1

generated on: 2021-04-02

@minuscorp
Copy link
Collaborator

I think you have to run the command through rosetta, it is being ran in arm architecture which is not fully supported by Ruby ATM

@beny
Copy link
Author

beny commented Apr 2, 2021

Yeah, that's possible, but in my test I also tried running the same task (and some larger tasks) with just plain Ruby fastlane and it run natively without any problem. In the error log there is issue somewhere in SockerServer, so there is probably some issue with threads or something like that.

@minuscorp
Copy link
Collaborator

This really seem to be very promising TBH

objc[59178]: Class AMSupportURLConnectionDelegate is implemented in both ?? (0x204ed0188) and ?? (0x117d9c2b8). One of the two will be used. Which one is undefined.
objc[59178]: Class AMSupportURLSession is implemented in both ?? (0x204ed01d8) and ?? (0x117d9c308). One of the two will be used. Which one is undefined

@max-ott max-ott changed the title Swift fastlane does not run on Apple Silicone Swift fastlane does not run on Apple Silicon Apr 7, 2021
@fastlane-bot
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment 👍

Friendly reminder: contributions are always welcome! Check out CONTRIBUTING.md for more information on how to help with fastlane and feel free to tackle this issue yourself 💪

This issue will be auto-closed if there is no reply within 1 month.

@beny
Copy link
Author

beny commented May 14, 2021

I checked it already with 2.182.0 and still same issue.

@minuscorp
Copy link
Collaborator

It seems to me like an issue with the project and the new architecture, but I cannot do much about it because I have no M1 machine to test with.

@beny
Copy link
Author

beny commented Jun 7, 2021

I've tried v2.185.0 with Xcode 12.5 and issue is still there, I tried it with ruby 2.7.2 and even with 3.0.0.

@congtung10t2
Copy link

same issue as me :( so sad because I wanna tried fastlane with M1.

@fastlane-bot
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment 👍

Friendly reminder: contributions are always welcome! Check out CONTRIBUTING.md for more information on how to help with fastlane and feel free to tackle this issue yourself 💪

This issue will be auto-closed if there is no reply within 1 month.

@beny
Copy link
Author

beny commented Aug 9, 2021

Still reproducible in fastlane 2.191.0.

@fastlane-bot
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment 👍

Friendly reminder: contributions are always welcome! Check out CONTRIBUTING.md for more information on how to help with fastlane and feel free to tackle this issue yourself 💪

This issue will be auto-closed if there is no reply within 1 month.

kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 22, 2021
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 22, 2021
…e#18502

* [Fastlane.Swift] Xcode recommedation. Enabling Base Internationalization is recommended for all projects.

* Migrating the “English, deprecated” localization to “English” is recommended for all projects.
   This will ensure localized resources are placed in “en.lproj” directories instead of deprecated “English.lproj” directories.
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 22, 2021
…e#18502

* [Fastlane.Swift] Xcode recommendation. Enable recommended warnings.
  Implicit retain of self within blocks
  Overriding deprecated Objective-C methods
  Quoted Include in framework header.
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 22, 2021
…e#18502

* [Fastlane.Swift] Xcode recommendation. Enable code signing. It's recommended for macOS executables. This setting will cause executable's code signature to be trusted by your Mac.
   Currently, macOS on M1 is killing the binary at launch. According to console traces, reason is ASP Security policy would not allow process.
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 22, 2021
…e#18502

* [Fastlane.Swift] Fix waring Using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead.
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 22, 2021
…e#18502

* [Fastlane.Swift] Fix waring 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 22, 2021
…e#18502

* [Fastlane.Swift] Fix waring Switch covers known cases, but 'DispatchTimeInterval' may have additional unknown values, possibly added in future versions. Handle unknown values using "@unknown default"
@kikeenrique
Copy link
Contributor

This is a problem related to M1 and code signing.
A quick fix would be to sign the binary on your local machines.
xcrun codesign --sign - ./fastlane/FastlaneRunner --preserve-metadata=entitlements,requirements,flags,runtime
[for some reason, recompilations seems not to resign, so removing the binary is needed]

A proper fix is to set CODE_SIGN_IDENTITY in FastlaneRunner xcodeproj
I'm trying to prepare a proper fix, also updating the project with Xcode recommendations, such as swift 5 (and fixing warnings), compilation flags, etc.

With that, no more kills, nevertheless, that seems not enough.
Executing a fastlane custom based in a vanilla fastlane init swift, with the code sign fix, seems to run ok.

fastlane-example  fastlane custom
[✔] 🚀
[23:19:23]: fastlane detected a Gemfile in the current directory
[23:19:23]: However, it seems like you didn't use `bundle exec`
[23:19:23]: To launch fastlane faster, please use
[23:19:23]:
[23:19:23]: $ bundle exec fastlane custom
[23:19:23]:
[23:19:23]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[23:19:24]: loading manifest: /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/fastlane-2.197.0/fastlane/swift/upgrade_manifest.json
[23:19:24]: FastlaneSwiftRunner project is up-to-date
[23:19:24]: $ ./fastlane/FastlaneRunner lane custom swiftServerPort 2000 > /dev/null
[23:19:24]: fastlane.tools finished successfully 🎉

but, trying executing anything that communicates with ruby, like a simple sh... crashes again.

class Fastfile: LaneFile {
	func customLane() {
	desc("Description of what the lane does")
		// add actions here: https://docs.fastlane.tools/actions
        sh(command: "ls -la", log: true)
	}
}

My guess is that the new M1 architecture is messing with some internal raw pointers, but it's only a guess at this moment.

[23:47:36]: $ ./fastlane/FastlaneRunner lane custom swiftServerPort 2000 > /dev/null
[23:47:37]: --------------------
[23:47:37]: --- Step: ls -la ---
[23:47:37]: --------------------
[23:47:37]: $ ls -la
[23:47:37]: ▸ total 24
[23:47:37]: ▸ drwxr-xr-x   5 enrgar  staff   160 Oct 22 23:15 .
[23:47:37]: ▸ drwxr-xr-x  36 enrgar  staff  1152 Oct 22 23:14 ..
[23:47:37]: ▸ -rw-r--r--   1 enrgar  staff    46 Oct 22 23:15 Gemfile
[23:47:37]: ▸ -rw-r--r--   1 enrgar  staff  5835 Oct 22 23:15 Gemfile.lock
[23:47:37]: ▸ drwxr-xr-x   7 enrgar  staff   224 Oct 22 23:47 fastlane
[23:47:37]: ▸ 2021-10-22 23:47:37.091 FastlaneRunner[46965:8437010] -[NSTaggedPointerString objectForKey:]: unrecognized selector sent to instance 0x8000000000000000
[23:47:37]: ▸ 2021-10-22 23:47:37.100 FastlaneRunner[46965:8437010] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSTaggedPointerString objectForKey:]: unrecognized selector sent to instance 0x8000000000000000'
[23:47:37]: ▸ *** First throw call stack:
[23:47:37]: ▸ (
[23:47:37]: ▸ 0   CoreFoundation                      0x0000000180eab838 __exceptionPreprocess + 240
[23:47:37]: ▸ 1   libobjc.A.dylib                     0x0000000180bd50a8 objc_exception_throw + 60
#<Thread:0x0000000108300e40 /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/fastlane-2.197.0/fastlane/lib/fastlane/swift_lane_manager.rb:220 run> terminated with exception (report_on_exception is true):
/opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/json-2.6.0/lib/json/common.rb:216:in `parse': 859: unexpected token at '' (JSON::ParserError)
	from /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/json-2.6.0/lib/json/common.rb:216:in `parse'
	from /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/fastlane-2.197.0/fastlane/lib/fastlane/server/command_parser.rb:12:in `parse'
	from /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/fastlane-2.197.0/fastlane/lib/fastlane/server/socket_server.rb:81:in `parse_and_execute_command'
	from /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/fastlane-2.197.0/fastlane/lib/fastlane/server/socket_server.rb:62:in `block in receive_and_process_commands'
	from /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/fastlane-2.197.0/fastlane/lib/fastlane/server/socket_server.rb:49:in `loop'
	from /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/fastlane-2.197.0/fastlane/lib/fastlane/server/socket_server.rb:49:in `receive_and_process_commands'
	from /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/fastlane-2.197.0/fastlane/lib/fastlane/server/socket_server.rb:158:in `listen'
	from /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/fastlane-2.197.0/fastlane/lib/fastlane/server/socket_server.rb:38:in `start'
	from /opt/homebrew/Cellar/fastlane/2.197.0/libexec/gems/fastlane-2.197.0/fastlane/lib/fastlane/swift_lane_manager.rb:223:in `block in start_socket_thread'
[23:47:37]: ▸ 2   CoreFoundation                      0x0000000180f3c694 -[NSObject(NSObject) __retain_OA] + 0
[23:47:37]: ▸ 3   CoreFoundation                      0x0000000180e0ccd4 ___forwarding___ + 1444
[23:47:37]: ▸ 4   CoreFoundation                      0x0000000180e0c670 _CF_forwarding_prep_0 + 96
[23:47:37]: ▸ 5   libswiftCore.dylib                  0x000000018ca90b9c $sSD8_VariantVyq_Sgxcig + 112
[23:47:37]: ▸ 6   FastlaneRunner                      0x0000000100ae91a0 $s14FastlaneRunne

I'm new to ruby, so I may need some days until I can properly test more changes.

kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 24, 2021
…e#18502

* [Fastlane.Swift] Update protocol generator to use AnyObject
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 24, 2021
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 24, 2021
…e#18502

* [Fastlane.Swift] Fix thread data race using a thread safe storage
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 24, 2021
…e#18502

* [Testing] Add some useful help to debug problems on FastlaneSwiftRunner
@kikeenrique
Copy link
Contributor

I'm going to try with the Copy Files build phase, let's see if it allows me to use a custom path.

Copy Files seems to be working.
I'm going to test it a bit more, but at this point I consider all the problems on M1 fixed.
I need to check if I find any basic tests for FastlaneSwiftRunner, they would need to be run on a M1 CI host.

kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 29, 2021
…e#18502

* [Testing] Fix ensure_actions_config_items_formatting
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Oct 29, 2021
@dgilbert-foreflight
Copy link

Just curious as to what the timeline might be for these changes to be available in public release?

kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 2, 2021
…e#18502

* [Swift] Replace DispatchQueue with os_unfair_lock as suggested in review.
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 2, 2021
…e#18502

* [Swift] Stick to swift 4, as suggested by reviewers.
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 2, 2021
…e#18502

* [Swift] Keep naming to AtomicDictionary as suggested by reviewers.
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 2, 2021
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 4, 2021
…e#18502

* [Swift] Implement subscript as suggested by reviewers.
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 6, 2021
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 6, 2021
…e#18502

* [Swift] Integrate the required steps to only upgrade the Xcode project build phase and flags needed.
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 6, 2021
…e#18502

* [Swift] Fix CI. Package deployment set to macOS 10.12
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 6, 2021
@Robin-Gupta1
Copy link

Hey, is there any updates on when will be able to use Fastlane swift on M1 macs

@kikeenrique
Copy link
Contributor

It's under review in #19555, I hope it can be approved soon.

@Robin-Gupta1
Copy link

Thanks for the update @kikeenrique

@Robin-Gupta1
Copy link

Hi @kikeenrique, I think there are a few styling comments remaining to be fixed in the PR.

kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 21, 2021
…e#18502

* [Swift] Add again support for swift-tools-version 4.0 implementing a OSSpinLockAtomicDictionary for macos versions under 10.12
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 23, 2021
…e#18502

* [Swift] Add Atomic.swift to upgrade_manifest.json
kikeenrique added a commit to kikeenrique/fastlane that referenced this issue Dec 29, 2021
…e#18502

* [Swift] Add test with fixture to check fastlane swift upgrades.
joshdholtz added a commit that referenced this issue Feb 2, 2022
…19555)

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Update to swift 5

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Xcode recommedation. Enabling Base Internationalization is recommended for all projects.

* Migrating the “English, deprecated” localization to “English” is recommended for all projects.
   This will ensure localized resources are placed in “en.lproj” directories instead of deprecated “English.lproj” directories.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Xcode recommendation. Enable recommended warnings.
  Implicit retain of self within blocks
  Overriding deprecated Objective-C methods
  Quoted Include in framework header.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Xcode recommendation. Enable code signing. It's recommended for macOS executables. This setting will cause executable's code signature to be trusted by your Mac.
   Currently, macOS on M1 is killing the binary at launch. According to console traces, reason is ASP Security policy would not allow process.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Fix waring Using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Fix waring 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Fix waring Switch covers known cases, but 'DispatchTimeInterval' may have additional unknown values, possibly added in future versions. Handle unknown values using "@unknown default"

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Update protocol generator to use AnyObject

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Update swift package to swift 5

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Fix thread data race using a thread safe storage

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] On verbose mode, allow output from the runner thread. It allows traces and ease feedback from fastlane swift.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Fastlane.Swift] Replace Build Phase - ShellScript with Build Phase - CopyFiles. This allows to copy the executable signed.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Testing] Add some useful help to debug problems on FastlaneSwiftRunner

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Testing] Fix ensure_actions_config_items_formatting

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Fix style

* Update fastlane/lib/fastlane/swift_lane_manager.rb

Include review comments

Co-authored-by: Roger Oba <rogerluan.oba@gmail.com>

* Update fastlane/lib/fastlane/swift_lane_manager.rb

Include review comments

Co-authored-by: Roger Oba <rogerluan.oba@gmail.com>

* Update Testing.md

Include review comments

Co-authored-by: Roger Oba <rogerluan.oba@gmail.com>

* Include review comments

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Replace DispatchQueue with os_unfair_lock as suggested in review.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Stick to swift 4, as suggested by reviewers.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Keep naming to AtomicDictionary as suggested by reviewers.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Fix CI detected error

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Implement subscript as suggested by reviewers.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Restore values previous to this PR

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Integrate the required steps to only upgrade the Xcode project build phase and flags needed.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Fix CI. Package deployment set to macOS 10.12

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Fix CI warnings.

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Add again support for swift-tools-version 4.0 implementing a OSSpinLockAtomicDictionary for macos versions under 10.12

* Add Atomic Dictionary generic capabilities

* [Fastlane.Swift] Swift fastlane does not run on Apple Silicon #18502

* [Swift] Add Atomic.swift to upgrade_manifest.json

* [Fastlane.swift] Overriding doesn't call specialized extensions, fallback to #available

* Cleanup hacky code

Co-authored-by: Roger Oba <rogerluan.oba@gmail.com>
Co-authored-by: Jorge Revuelta Herrero <minuscorp@gmail.com>
Co-authored-by: Josh Holtz <me@joshholtz.com>
@fastlane-bot
Copy link

The pull request #19555 that closed this issue was merged and released as part of fastlane 2.204.0 🚀
Please let us know if the functionality works as expected as a reply here. If it does not, please open a new issue. Thanks!

@minuscorp
Copy link
Collaborator

I'll close this, let us know if any issues with M1 raises again.

@fastlane fastlane locked and limited conversation to collaborators Apr 11, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

9 participants