Auto: Rilis yang dihasilkan meskipun tidak ada label rilis

Dibuat pada 14 Jan 2019  ·  11Komentar  ·  Sumber: intuit/auto

Jelaskan bugnya

Di salah satu repo kami, kami melihat penerapan yang konsisten ketika kami berharap tidak ada penerapan yang terjadi. Churn ini secara khusus terjadi ketika @renovatebot membuat permintaan tarik untuk memperbarui dependensi, jadi _mungkin_ bagaimana ia menangani proses komit/penggabungan.

Berikut adalah contoh PR di mana label no-release hadir ( Version: Trivial dalam kasus kami) tetapi rilis masih terjadi. Inilah hasil CI dari penggabungan yang diberikan.

@hipstersmoothie Saya akan memperbarui dengan mode verbose run ketika saya mendapat kesempatan. Jika saya bisa mengejarnya ke sesuatu yang khusus saya akan membuka PR.

Untuk Mereproduksi

Saya belum cukup mengidentifikasi apa kesamaan di sini. Ini adalah satu-satunya tempat di organisasi kami di mana @renovatebot menggabungkan pembaruan kode secara otomatis sehingga dapat dikaitkan dengan itu.

Perilaku yang diharapkan

Tidak ada rilis yang harus dipicu.

bug

Komentar yang paling membantu

@zephraph ini harus diperbaiki di v2.5.6 . Beri tahu saya jika Anda masih memiliki masalah!

Semua 11 komentar

Punya contoh lain di repo yang berbeda. https://github.com/artsy/palette/compare/v2.25.10...v2.25.11. Ini juga digabungkan secara otomatis, tetapi dengan bahaya alih-alih @renovatebot. Mungkin itu cara bot menggabungkan PR?

bisa jadi. label pelepas lewati mengharuskan kepala memiliki label terkait.

Seharusnya terlihat mungkin mencari PR terakhir daripada komit terakhir.

Hmm... ya. Jadi, ketika saya sedang membangun ini saya melihat antara hash kepala dan hash dari rilis terakhir dan menggunakannya untuk mencari tahu apa PR itu.

https://github.com/artsy/reaction/pull/1407/files#diff -ff397bdd24eed50e2a2cade2792a9d80R100

@zephraph Untuk memperjelas, apakah ini situasi yang terjadi?

gitlog:

  1. Beberapa melakukan bot atau orang yang dibuat setelah Anda bergabung
  2. komit yang memiliki PR dengan label skip-release

hasil:

auto tidak skip-release karena komit 2 tidak ada di atas gitloh

Tidak ada komit yang dibuat setelah penggabungan. Tampaknya penggabungan itu sendiri. Ketika bot bergabung (saya pikir itu, tapi itu bisa jadi kebetulan) PR kemudian rilis terjadi bahkan ketika label skipReleaseLabels ada. Saya dapat menemukan lebih banyak contoh jika diperlukan.

Inilah contoh terbaru (mirip dengan yang di atas).

  1. https://github.com/artsy/renovate-config/pull/164 dibuat oleh renovate
  2. Renovasi yang ditetapkan Version: Trivial ke PR (yang ada di skipReleaseLabels )
  3. Renovasi menggabungkan PR secara otomatis
  4. Rilisan baru dipotong meskipun ada label skipReleaseLabels yang hadir

Penggabungan PR ini tidak memiliki nomor PR di subjek komit

screen shot 2019-01-17 at 2 53 01 pm

Semua yang bekerja memiliki nomor PR

screen shot 2019-01-17 at 2 54 47 pm

auto bergantung pada nomor ini dalam pesan komit untuk mendapatkan nomor PR:

menggabungkan:
https://github.com/intuit/auto-release/blob/5cbccf46a9b49b12210325e7332d9f5c26b44ed1/src/log-parse.ts#L73

labu:
https://github.com/intuit/auto-release/blob/5cbccf46a9b49b12210325e7332d9f5c26b44ed1/src/log-parse.ts#L94

Jadi sepertinya ada sesuatu yang terjadi saat menggabungkan PR tersebut. Apakah itu rebase yang terjadi?

kami membutuhkan fungsi yang mengembalikan pr yang terkait dengan SHA tetapi saya kesulitan menemukan metode octokit yang sesuai

hmm baru saja mencoba mencocokkan komit di master dengan komit di PR tetapi tampaknya memiliki SHA yang berbeda.

screen shot 2019-01-18 at 12 28 05 am

screen shot 2019-01-18 at 12 28 48 am

Ini sangat mengecewakan. Sekarang saya tidak tahu bagaimana kami dapat mencocokkan komitmen ini dengan PR mereka

merge_commit_sha untuk menyelamatkan

@zephraph ini harus diperbaiki di v2.5.6 . Beri tahu saya jika Anda masih memiliki masalah!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat