Cocoapods: Super-issue to track all ARM-related tasks in motion.

Created on 5 Feb 2021  路  11Comments  路  Source: CocoaPods/CocoaPods

These are the tasks that are to be finished before CocoaPods is ARM-compatible:

  1. [x] 1 Bump minimum Ruby version to 2.6 in Core - required by async gem https://github.com/CocoaPods/Core/pull/671 MERGED 馃殌
  2. [ ] 2 Replace typhoeus in Core with async-http - blocked by (1) https://github.com/CocoaPods/Core/pull/669
  3. [ ] 3 Add M1 pipeline in Core - blocked by (2) and (nio4r patch (released)) https://github.com/CocoaPods/Core/pull/672
  4. [x] 4 Replace typhoeus with native open_uri in CocoaPods https://github.com/CocoaPods/CocoaPods/pull/10346 MERGED 馃殌
  5. [ ] 5 Bump minimum Ruby version to 2.6 in CocoaPods - required and blocked by Core changes (1) https://github.com/CocoaPods/CocoaPods/pull/10412
  6. [ ] 6 CocoaPods & Core integration + final typhoeus removal - blocked by (2) & (5) _PR TBD_
  7. [ ] 7 Add M1 pipeline in CocoaPods - blocked by (6) _PR TBD_

Side note: @segiddins has tried adding Ruby 3 tests before this effort began. (5) might unblock that PR (https://github.com/CocoaPods/CocoaPods/pull/10324).

@jasl @dnkoutso let me know if I missed anything and I'll add it.

Most helpful comment

"1 Bump minimum Ruby version to 2.6 in Core" is merged

All 11 comments

LGTM

awesome! really cool to see this organized!

I forgot one thing, it's better to include this PR https://github.com/CocoaPods/CocoaPods/pull/10324

@jasl I'm not sure, why do you think so? It seems to be general Ruby 3 compat, not ARM compat. We went with nio4r 'pure' implementation for ARM arch, so native fibers aren't a requirement. WDYT?

@jasl I'm not sure, why do you think so? It seems to be general Ruby 3 compat, not ARM compat. We went with nio4r 'pure' implementation for ARM arch, so native fibers aren't a requirement. WDYT?

That PR contains:

  • Add Ruby 3.0 to CI matrix
  • Fix imcompatible with Ruby 3.0
  • Upgrade Bundler to 2.2 for dev

I also do these in https://github.com/CocoaPods/Core/pull/671

I think our major target is ARM native support,
but we can also get Ruby 2.6+ compatible during this work (CocoaPods won't work on Ruby 3.0),
it can be considered as by-product.

Support Ruby 3.0 has an advantage, it's good for full stack devlopers who may both working on Ruby and iOS development

native fibers aren't a requirement

We're not aim for native fibers, I just wanna ensure CocoaPods can running on Ruby 2.6 to latest versions,
without that PR, CocoaPods will gain deprecation warning on Ruby 2.7 because of Separation of positional and keyword arguments and get error on Ruby 3.0

@jasl I agree, full support for Ruby 3 is definitely desired, including resolving the deprecations. However, it does not seem to be a blocker for ARM, and also a little bit farther away in terms of effort required.

If it's separate, we'll be able to ship ARM support sooner.

Or am I missing something?

@jasl I agree, full support for Ruby 3 is definitely desired, including resolving the deprecations. However, it does not seem to be a blocker for ARM, and also a little bit farther away in terms of effort required.

If it's separate, we'll be able to ship ARM support sooner.

Or am I missing something?

Yeah It's not blocker for ARM.

I mean that PR can be part of Bump minimum Ruby version to 2.6 in CocoaPods, It also need to update CI matrix (remove 2.3 - 2.5), and because the PR is already here, we can based on it and adding:

  • Remove Ruby 2.3 - 2.5 tests
  • Bump minimum Ruby version to 2.6

Anyway, that's not a big deal, but if @segiddins has time to finish that PR, I'm glad to see we can merge it first, that's can parallel with this issue listed tasks.

@jasl yeah let's keep it parallel and see if it gets merged soon...

"1 Bump minimum Ruby version to 2.6 in Core" is merged

Was this page helpful?
0 / 5 - 0 ratings