Auto: plugin npm tidak menabrak versi di package.json

Dibuat pada 21 Okt 2020  ·  14Komentar  ·  Sumber: intuit/auto

Jelaskan bugnya

package.json tidak diperbarui, saat menjalankan (yarn/npx) auto shipit pada cabang pra-rilis.
(yarn/npx) auto shipit --dry-run --quiet tidak melaporkan nomor versi yang benar dalam kasus itu.
Ini menyebabkan masalah hilir karena nomor versi digunakan untuk menandai gambar buruh pelabuhan dan artefak lainnya.

Untuk Mereproduksi

  1. Berkomitmen pada next
  2. auto shipit berjalan di Github Action
  3. auto dirilis dengan benar ke github
  4. Paket json tidak diperbarui

Perilaku yang diharapkan

Update package.json, atau auto shipit --dry-run menghitung berdasarkan tag untuk prarilis.

Informasi lingkungan:
"Versi saat ini" sudah salah di sini, tag saat ini adalah v0.2.0-next.11

yarn run v1.22.10
$ /home/rwa/Project/####/node_modules/.bin/auto info

Environment Information:

"auto" version: v9.59.1
"git"  version: v2.29.0
"node" version: v14.14.0

Project Information:

✔ Repository:      #####
✔ Author Name:     Robert Wawrzyniak
✔ Author Email:    robert.wawrzyniak@###.de
✔ Current Version: v0.2.0-next.10
✔ Latest Release:  v0.1.0 (​https://github.com/####/releases/tag/v0.1.0​)

✔ Labels configured on GitHub project

GitHub Token Information:

✔ Token:            [Token starting with 62de]
✔ Repo Permission:  admin
✔ User:             thuringia
✔ API:              undefined (​undefined​)
✔ Enabled Scopes:   repo
✔ Rate Limit:       4772/5000

Done in 3.39s.
Time: 0h:00m:04s

Konteks tambahan
Ini mungkin terkait dengan #1490 ?

Ini tampaknya berdasarkan desain:
https://github.com/intuit/auto/blob/2f03089f43cc098ac2687c7ab3ca5fd8d2502a1c/plugins/npm/src/index.ts#L869
Bump hanya dijalankan untuk cabang dasar di sini, tetapi tidak ada flag konfigurasi untuk mengubahnya.

bug released

Komentar yang paling membantu

Ah, suara lain untuk saya memperbaiki perilaku dry-run lebih cepat daripada nanti. Akan melihat memperbaiki semua itu akhir pekan depan. Terima kasih atas umpan balik dan penggunaan auto !

Semua 14 komentar

Ini adalah dengan desain. Jika versi di-commit maka dapat menyebabkan konflik penggabungan saat menggabungkan ke master. Ada tag git yang dibuat

Masalah ini juga mempengaruhi saya.

Ini adalah dengan desain. Jika versi di-commit maka dapat menyebabkan konflik penggabungan saat menggabungkan ke master. Ada tag git yang dibuat

Apa pendekatan yang disarankan untuk memastikan versi package.json tetap sinkron dengan penerapan CI menggunakan auto shipit ?

Saya tidak yakin saya cukup mengerti kasus penggunaan @smithki. Kasus penggunaan

Maaf, saya mungkin salah paham. Dari kata-kata masalah, saya menduga bahwa next cabang tidak menerima diperbarui package.json versi, tapi main cabang lakukan (masih belajar auto pemula -Total di sini) . Kasus penggunaan saya sama dengan masalah aslinya, tetapi untuk lebih spesifik:

Saya perlu membaca versi package.json pada waktu _build_ untuk pustaka NPM sehingga versi package.json ini dapat disuntikkan sebagai variabel lingkungan. Ini berarti saya perlu membuat versi file package.json sebelum build berjalan. Mengimpor package.json saja tidak cocok dengan pengaturan TypeScript saya saat ini, yang bergantung pada rootDirs di tsconfig.json (dan package.json tidak termasuk dalam rootDirs , jadi kesalahan kompiler, sehingga perlu variabel lingkungan).

Bisakah Anda melakukan apa yang auto lakukan? https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L306 -L310

Saya akan melihat apakah saya bisa mengatasinya, bukan niat saya untuk menggagalkan topik asli masalah ini.

Bisakah Anda melakukan apa yang otomatis dilakukan? https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L306 -L310

Sayangnya tidak, karena kode ini dimaksudkan untuk dijalankan di sisi klien (saya akan membuka masalah baru jika saya tidak menemukan solusi).

Ah, suara lain untuk saya memperbaiki perilaku dry-run lebih cepat daripada nanti. Akan melihat memperbaiki semua itu akhir pekan depan. Terima kasih atas umpan balik dan penggunaan auto !

@hipstersmoothie Terima kasih atas respon cepatnya :) Anda selalu mengejutkan saya

Saya menemukan solusi yang cukup solid untuk saat ini, auto shipit --dry-run --plugins git-tag . Itu sebenarnya sangat masuk akal untuk memeriksa versi berikutnya dengan cara ini untuk prarilis.
Terima kasih telah mencoba peningkatan dry-run begitu cepat. Jika ada burung kenari yang ingin Anda coba, beri tahu saya. Saya akan dengan senang hati membantu.

Bagaimanapun, terima kasih banyak untuk auto ! Itu membuat hidup saya jauh lebih mudah

@thuringia @smithki Bisakah Anda menguji dan melihat apakah v10 menyelesaikan masalah Anda?

@hipstersmoothie Ini berfungsi dengan baik di v10 👍
Ini terasa lebih lambat, atau lebih tepatnya dibutuhkan selama menjalankan shipit tanpa --dry-run .

Terima kasih telah mengeluarkan ini begitu cepat!

Tidak yakin apakah itu bug atau tidak:
Ketika saya memutakhirkan paket menggunakan yarn add -D auto@next , perubahan pada package.json dan yarn.lock hilang setelah menjalankan auto shipit --dry-run . v10 masih di node_modules jadi sepertinya direktori kerja telah diatur ulang.

Ini terasa lebih lambat, atau lebih tepatnya dibutuhkan selama menjalankan shipit tanpa --dry-run.

Saya akan melihat apakah saya dapat meningkatkannya. tetapi karena kami memanggil plugin sekarang, ia melakukan lebih banyak pekerjaan untuk mencetak versi berikutnya yang sebenarnya.

perubahan pada package.json dan yarn.lock hilang setelah menjalankan auto shipit --dry-run

Ah ini adalah bug. untuk dry run saya melewatkan pemeriksaan bersih tetapi tidak melewatkan git reset

@thuringia Jenis proyek apa yang Anda rilis?

@hipstersmoothie Saya baik-baik saja dengan lari kering menjadi lebih lambat sekarang. Itu tidak begitu besar perbedaannya. Saya kebanyakan bermaksud sebagai komentar bahwa Anda merasakan perubahan, mungkin saya harus menambahkan emoji di sana
Setiap peningkatan kinerja selalu diterima.

Dalam hal ini adalah proyek campuran yang sebagian besar terdiri dari aplikasi Java dengan beberapa lambda di sekitarnya. Untuk membuat rilis, saya harus:

  • Jalankan gradle untuk membuat toples dengan nomor versi
  • kemas toples itu dalam gambar buruh pelabuhan, beri tag dan publikasikan
  • menyebarkan lambdas menggunakan kerangka kerja tanpa server yang menggunakan nomor versi untuk menandai dan mengonfigurasi wadah

Bukan kasus penggunaan default untuk auto 😂
Biasanya, saya menggunakannya untuk proyek Node atau Bereaksi dengan pengaturan yang lebih ramping, tetapi saya tidak pernah perlu mendapatkan nomor versi sebelum benar-benar menerbitkan rilis seperti yang saya butuhkan untuk proyek khusus ini


:rocket: Masalah dirilis di v10.0.0 :rocket:

Apakah halaman ini membantu?
0 / 5 - 0 peringkat