Faraday: Melanggar perubahan untuk fastlane di 0.16.2

Dibuat pada 29 Sep 2019  ·  15Komentar  ·  Sumber: lostisland/faraday

Info dasar

  • Versi Faraday: 0.16.2
  • Versi Ruby:

    • Windows: ruby ​​2.4.6p354 (revisi 04-01 2019 67394) [x64-mingw32]

    • Mac: Ruby 2.5

Deskripsi masalah

Bahkan dengan faraday 0.16.2 dan perbaikan @BobbyMcWho ada kegagalan pengujian untuk fastlane:

Failures:
  1) Spaceship::Portal::Persons should change role
     Failure/Error: expect { person.change_role("member") }.to_not(raise_error)
       expected no Exception, got #<RuntimeError: can't modify frozen String> with backtrace:
         # ./spaceship/lib/spaceship/client.rb:811:in `force_encoding'
         # ./spaceship/lib/spaceship/client.rb:811:in `log_response'
         # ./spaceship/lib/spaceship/client.rb:846:in `block in send_request'
         # ./spaceship/lib/spaceship/client.rb:620:in `with_retry'
         # ./spaceship/lib/spaceship/client.rb:844:in `send_request'
         # ./spaceship/lib/spaceship/client.rb:688:in `request'
         # ./spaceship/lib/spaceship/portal/portal_client.rb:449:in `team_set_role'
         # ./spaceship/lib/spaceship/portal/person.rb:45:in `change_role'
         # ./spaceship/spec/portal/person_spec.rb:58:in `block (3 levels) in <top (required)>'
         # ./spaceship/spec/portal/person_spec.rb:58:in `block (2 levels) in <top (required)>'
     # ./spaceship/spec/portal/person_spec.rb:58:in `block (2 levels) in <top (required)>'
  2) Spaceship::Tunes::IAPList IAPList can delete
     Failure/Error: deleted = app.in_app_purchases.find("go.find.me").delete!
     RuntimeError:
       can't modify frozen String
     # ./spaceship/lib/spaceship/client.rb:811:in `force_encoding'
     # ./spaceship/lib/spaceship/client.rb:811:in `log_response'
     # ./spaceship/lib/spaceship/client.rb:846:in `block in send_request'
     # ./spaceship/lib/spaceship/client.rb:620:in `with_retry'
     # ./spaceship/lib/spaceship/client.rb:844:in `send_request'
     # ./spaceship/lib/spaceship/client.rb:688:in `request'
     # ./spaceship/lib/spaceship/tunes/tunes_client.rb:1235:in `delete_iap!'
     # ./spaceship/lib/spaceship/tunes/iap_list.rb:72:in `delete!'
     # ./spaceship/spec/tunes/iap_list_spec.rb:28:in `block (3 levels) in <top (required)>'
  3) Spaceship::Tunes::Members members creates a new member role: admin, apps: all
     Failure/Error: Spaceship::Members.create!(firstname: "Helmut", lastname: "Januschka", email_address: "[email protected]")
     RuntimeError:
       can't modify frozen String
     # ./spaceship/lib/spaceship/client.rb:811:in `force_encoding'
     # ./spaceship/lib/spaceship/client.rb:811:in `log_response'
     # ./spaceship/lib/spaceship/client.rb:846:in `block in send_request'
     # ./spaceship/lib/spaceship/client.rb:620:in `with_retry'
     # ./spaceship/lib/spaceship/client.rb:844:in `send_request'
     # ./spaceship/lib/spaceship/client.rb:688:in `request'
     # ./spaceship/lib/spaceship/tunes/tunes_client.rb:502:in `create_member!'
     # ./spaceship/lib/spaceship/tunes/members.rb:26:in `create!'
     # ./spaceship/spec/tunes/members_spec.rb:19:in `block (4 levels) in <top (required)>'

...

PR untuk referensi: https://github.com/fastlane/fastlane/pull/15407

Perhatikan bahwa pengujian kami tidak gagal pada Ruby 2.3 di macOS dan Ubuntu.

Komentar yang paling membantu

@janpio Saya menduga #1039 harus memperbaiki masalah dengan literal string beku di badan.

Semua 15 komentar

Ini harus diperbaiki oleh baris ini di fastlane/fastlane#15403, saya pikir ini adalah efek samping dari komentar sihir literal string beku di suatu tempat

Sunting: ~yang tidak dapat dirilis sampai lostisland/faraday_middleware#196 disetujui dan dirilis~ Sunting2: kompatibel dengan versi sebelumnya

Ya, jalur ke depan cukup jelas di sini - dan kami akan memotong rilis baru dengan itu sesegera mungkin.

Tetapi ada ribuan pemasangan Fastlane (dan perangkat lunak lain) di luar sana yang rusak saat ini, itulah sebabnya saya pikir penting untuk melaporkan ini secara eksplisit lagi.

Apakah ada cara untuk membuat ini berfungsi lagi di 0.16.3?

Saya tidak berada di tempat di mana saya bisa mendapatkan komputer tetapi dari pandangan sepintas menelusuri file di ponsel saya, bagi saya tampaknya di suatu tempat di Faraday kami sedang mengatur badan permintaan ke string beku. jika kita dapat menemukan di mana badan permintaan itu disetel ke string beku maka itu akan memperbaiki masalah di jalur cepat

@janpio Saya menduga #1039 harus memperbaiki masalah dengan literal string beku di badan.

Terima kasih telah bertahan di sana sementara perbaikan muncul. Terima kasih BobbyMcWho untuk penerapannya!

Saya ingin tahu apakah ada _more_ string tubuh yang dapat diubah yang diperlukan di adaptor lain?

Saya melihat-lihat proyek, tidak ada hal lain yang langsung menarik perhatian saya, sebagian besar literal yang dibekukan adalah pesan kesalahan, atau digunakan dengan cara yang tidak diharapkan dapat berubah

Saya juga mengalami ini ketika menggunakan faraday 0.16.2 dengan elasticsearch-transport (ketergantungan searchkick). Terima kasih telah memasang tambalan di @BobbyMcWho!

@zspencer Anda mungkin harus menunjuk ke cabang 0.16.x di gemfile Anda jika Anda membutuhkannya sekarang, sampai pengelola memiliki kesempatan untuk merilis 0.16.3

Terima kasih! Saya sudah melakukannya. Saya ingin memastikan bahwa orang-orang yang mengalami masalah ini dan menambahkan kata-kata seperti searchkick dan elasticsearch ke kueri google mereka akan menemukan masalahnya. (dan perbaikannya!)

Halo semuanya, kami mohon maaf atas semua gangguan yang disebabkan oleh rilis v0.16.x.
Kami baru saja melakukan ROLLBACK RELEASE v0.17.0 yang mengikuti langsung rilis kerja terbaru v0.15.4.
Harap perbarui ke versi tersebut untuk menyelesaikan masalah kompatibilitas mundur.
Info lebih lanjut di sini: https://github.com/lostisland/faraday/releases/tag/v0.17.0

Terima kasih @iMacTia , apakah ini juga berlaku untuk faraday_middleware yang sampai sekarang kami simpan pada versi yang sama dengan faraday ?

@janpio maaf saya tidak yakin saya mengerti. Masalah ini seharusnya tidak memengaruhi faraday_middleware dengan cara apa pun karena kami tidak merilis versi baru apa pun sejak Februari.
Saya mengetahui PR ini yang bertujuan untuk menambahkan kompatibilitas dengan 0,16, tetapi itu tidak akan dirilis lagi.

Setelah kami merilis Faraday v1.0, kami juga akan memperbarui Faraday Middleware dan merilis v1.0 yang kompatibel.

Tolong beri tahu saya jika Anda bertanya tentang hal lain

Kurang lebih - di gemspec kami faraday_middleware dikomentari dengan in sync with faraday jadi saya bertanya-tanya apakah sebenarnya perlu ada versi yang lebih baru. Jika bukan itu masalahnya, kami akan terus menggunakan yang lebih lama.

Faraday Middleware v0.13.1 bekerja dengan baik dengan Faraday v0.15.4, jadi saya berharap itu berfungsi juga dengan v0.17.0. Saya akan memicu master build meskipun hanya untuk memastikan 👍

@janpio dipicu https://travis-ci.org/lostisland/faraday_middleware/builds/595051325 , Anda dapat melihat di log bahwa Faraday v0.17.0 digunakan dan semua tes lulus

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

jedeleh picture jedeleh  ·  3Komentar

subvertallchris picture subvertallchris  ·  5Komentar

aleksb86 picture aleksb86  ·  3Komentar

QuinnWilton picture QuinnWilton  ·  4Komentar

jordansissel picture jordansissel  ·  5Komentar