Auto: ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ автозапуска spawnSync / bin / sh E2BIG

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 12 июн. 2020  Β·  6ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: intuit/auto

ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ

Π’ настоящСС врСмя моя послСдняя сборка Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° этапС выпуска с ошибкой E2BIG. Π― ΠΏΡ€ΠΎΠ²Π΅Π» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ исслСдованиС ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с нСсколькими ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ мноТСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (здСсь Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅) ΠΈΠ»ΠΈ слишком большиС тСксты.

Π― Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΡŽ, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ послСднСС, Π½ΠΎ я Π½Π΅ знаю, ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π― ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΈ ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΈ строки auto-exec , Π½ΠΎ Π»ΡŽΠ±Ρ‹Π΅ прСдлоТСния ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ!

Π’ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ

ΠŸΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ это прямо сСйчас.

ОТидаСмоС повСдСниС

Π›ΠΈΠ±ΠΎ упомянитС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π»ΠΈΠ±ΠΎ Π½Π΅ Π²Ρ‹Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСдС:

Gitlab CI & Local (Linux-машина Arch)

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ контСкст

НС Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·-Π·Π° Π°Π²Ρ‚ΠΎ. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° спауна, просто ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ здСсь для всСх, ΠΊΡ‚ΠΎ столкнСтся с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, ΠΈ для ΠΈΠ΄Π΅ΠΉ ΠΏΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΌΠΎΠ·Π³ΠΎΠ²ΠΎΠ³ΠΎ ΡˆΡ‚ΡƒΡ€ΠΌΠ°.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

РСшСниСм ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π° дискС ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΡ… ΠΎΡ‚Ρ‚ΡƒΠ΄Π° вмСсто env var. Но это ΠΎΡ‡Π΅Π½ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ для ΠΏΠ»Π°Π³ΠΈΠ½Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вас, этот ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС

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", "."]);
    });
  }
};

ВсС 6 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Π°Ρ ошибка Π² ΠΏΠ»Π°Π³ΠΈΠ½Π΅ exec .

E2BIG ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для Π²Ρ‹Π·ΠΎΠ²Π° execSync Π±Ρ‹Π»ΠΎ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π― ΠΏΠΎΡ‡Ρ‚ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ, - это просто вся информация ΠΎ Ρ…ΡƒΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ env ( $ARG0 ).

Π― Π½Π΅ совсСм ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придСтся Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ контСкстной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

РСшСниСм ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π° дискС ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΡ… ΠΎΡ‚Ρ‚ΡƒΠ΄Π° вмСсто env var. Но это ΠΎΡ‡Π΅Π½ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ для ΠΏΠ»Π°Π³ΠΈΠ½Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вас, этот ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС

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", "."]);
    });
  }
};

Если Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для E2BIG, это Π±ΡƒΠ΄Π΅Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ! (ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΊΡ‚ΠΎ Π²ΠΈΠ΄ΠΈΡ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ)

Π― ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΡŽ ΠΎΠ± этом, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ способ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это. Бпасибо!

Π― Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ Π² спискС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² execSpawn ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ process.env ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ²Π΅Ρ€Ρ… автоматичСского контСкста, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, добавляСмая Π½Π°ΠΌΠΈ опция ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ автоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… env?

Π― (заинтСрСсованный сторонний Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒ) ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ «хранСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ„Π°ΠΉΠ»Π΅Β». Π”Π°, это критичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΎΠ½ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ .

@hipstersmoothie

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вас, этот ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС

Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ясно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это, я просто ΡΠΎΡ…Ρ€Π°Π½ΡΡŽ Π΅Π³ΠΎ Π² своСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (Π½Π΅ Π² Node / NPM / TypeScript) ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽ "plugins": ["path/to/file"] Π² ΠΌΠΎΠ΅ΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ это Π΅Ρ‰Π΅ Π½Π΅ всС?

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

aleclarson picture aleclarson  Β·  14ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

bbrinx picture bbrinx  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

aleclarson picture aleclarson  Β·  14ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

hipstersmoothie picture hipstersmoothie  Β·  13ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

reintroducing picture reintroducing  Β·  14ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ