Jelaskan bugnya
Saat ini build terbaru saya gagal pada langkah rilis dengan kesalahan E2BIG . Saya telah melakukan beberapa penelitian dan menemukan ini dapat disebabkan oleh beberapa alasan seperti banyak argumen perintah (sepertinya tidak terjadi di sini) atau teks yang terlalu besar.
Saya merasa ini mungkin yang terakhir, tetapi saya tidak yakin bagaimana cara men-debug masalah ini.
Saya akan mencoba pekerjaan sementara dan mengomentari baris auto-exec saya , tetapi ada saran yang diterima!
Untuk Mereproduksi
Mencoba mencari tahu itu sekarang.
Perilaku yang diharapkan
Sebutkan file yang bermasalah, atau tidak membuat kesalahan
Informasi lingkungan:
Gitlab CI & Lokal (mesin linux lengkung)
Konteks tambahan
Saya tidak berpikir ini harus karena otomatis. Kemungkinan besar masalah spawn, baru saja berpikir akan sangat membantu untuk memposting di sini untuk siapa saja yang mengalami masalah serupa di masa depan, dan untuk brainstorming ide debugging.
Saya pikir ini mungkin kesalahan fatal pada plugin exec
.
E2BIG
berarti ada terlalu banyak argumen untuk panggilan execSync
. Saya cukup yakin bahwa argumen yang dibicarakannya hanya semua info kait yang kami berikan melalui variabel env ( $ARG0
).
Saya tidak begitu yakin apakah ini sesuatu yang bahkan bisa kita perbaiki. Mungkin harus mendokumentasikan batasan ini dan bahkan mungkin menambahkan opsi untuk tidak meneruskan informasi kontekstual.
Solusinya adalah menyimpan argumen di suatu tempat di disk dan membiarkan perintah menarik dari sana alih-alih env var. Tapi itu perubahan yang cukup besar untuk plugin
Untuk membuka blokir Anda, plugin ini melakukan hal yang sama
const { SEMVER, execPromise, getCurrentBranch } = require("@auto-it/core");
module.exports = class NextCherryPickPlugin {
constructor() {
this.name = "update docs";
}
/**
* Setup the plugin
*
* <strong i="7">@param</strong> {import('@auto-canary/core').default} auto
*/
apply(auto) {
auto.hooks.beforeCommitChangelog.tapPromise(this.name, async (config) => {
await execPromise("yarn", ["lint:doc:fix"]);
await execPromise("git", ["add", "."]);
});
}
};
Jika Anda dapat menemukan solusi untuk E2BIG, itu akan luar biasa! (atau siapa pun yang melihat masalah ini)
Saya pasti akan memikirkannya, pasti ada cara untuk mengatasinya. Terima kasih!
Saya melihat di daftar args execSpawn kami melewati process.env
sepenuhnya di atas konteks otomatis, mungkin opsi yang kami tambahkan dapat menentukan untuk hanya meneruskan env vars khusus otomatis?
Saya (penonton yang tertarik) dengan sepenuh hati mendukung solusi "menyimpan argumen dalam file". Ya, ini adalah perubahan besar, tetapi perubahan besar yang Anda butuhkan .
@hipstersmoothie
Untuk membuka blokir Anda, plugin ini melakukan hal yang sama
Agar jelas, untuk menggunakan ini, saya cukup menyimpannya di repo (non-Node/NPM/TypeScript) saya dan mengatur "plugins": ["path/to/file"]
di file konfigurasi saya, atau adakah lebih dari itu?
Komentar yang paling membantu
Solusinya adalah menyimpan argumen di suatu tempat di disk dan membiarkan perintah menarik dari sana alih-alih env var. Tapi itu perubahan yang cukup besar untuk plugin
Untuk membuka blokir Anda, plugin ini melakukan hal yang sama