semantic-release / semantic-release/git

failed: git ls-files -m -o maxBuffer exceeded

Open
#506 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
339
Forks
75
Avg merge
5h 15m
Merged PRs (30d)
6

Description

Hello! We have been using the semantic-release/git + the changelog plugin for a few weeks to automatically generate the CHANGELOG.md and we saw this error failed: git ls-files -m -o\nmaxBuffer exceeded' intermittently.
full error message:

Full error message
[5:23:56 PM] [semantic-release] › ℹ  Running semantic-release version 23.0.2
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "verifyConditions" from "@semantic-release/github"
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "verifyConditions" from "@semantic-release/changelog"
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "verifyConditions" from "@semantic-release/git"
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "analyzeCommits" from "@semantic-release/commit-analyzer"
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "generateNotes" from "@semantic-release/release-notes-generator"
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "prepare" from "@semantic-release/changelog"
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "prepare" from "@semantic-release/git"
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "publish" from "@semantic-release/github"
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "addChannel" from "@semantic-release/github"
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "success" from "@semantic-release/github"
[5:23:56 PM] [semantic-release] › ✔  Loaded plugin "fail" from "@semantic-release/github"
[5:23:58 PM] [semantic-release] › ✔  Run automated release from branch master on repository https://github.com/org/our-repo-name.git
[5:23:58 PM] [semantic-release] › ✔  Allowed to push to the Git repository
[5:23:58 PM] [semantic-release] › ℹ  Start step "verifyConditions" of plugin "@semantic-release/github"
[5:23:58 PM] [semantic-release] [@semantic-release/github] › ℹ  Verify GitHub authentication
[5:23:58 PM] [semantic-release] › ✔  Completed step "verifyConditions" of plugin "@semantic-release/github"
[5:23:58 PM] [semantic-release] › ℹ  Start step "verifyConditions" of plugin "@semantic-release/changelog"
[5:23:58 PM] [semantic-release] › ✔  Completed step "verifyConditions" of plugin "@semantic-release/changelog"
[5:23:58 PM] [semantic-release] › ℹ  Start step "verifyConditions" of plugin "@semantic-release/git"
[5:23:58 PM] [semantic-release] › ✔  Completed step "verifyConditions" of plugin "@semantic-release/git"
[5:23:58 PM] [semantic-release] › ℹ  Found git tag v1.4.3 associated with version 1.4.3 on branch master
[5:23:58 PM] [semantic-release] › ℹ  Found 1 commits since last release
[5:23:58 PM] [semantic-release] › ℹ  Start step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[5:23:58 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analyzing commit: fix: Something
[5:23:58 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  The release type for the commit is patch
[5:23:58 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analysis of 1 commits complete: patch release
[5:23:58 PM] [semantic-release] › ✔  Completed step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[5:23:58 PM] [semantic-release] › ℹ  The next release version is 1.4.4
[5:23:58 PM] [semantic-release] › ℹ  Start step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[5:23:59 PM] [semantic-release] › ✔  Completed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[5:23:59 PM] [semantic-release] › ℹ  Start step "prepare" of plugin "@semantic-release/changelog"
[5:23:59 PM] [semantic-release] [@semantic-release/changelog] › ℹ  Update /CHANGELOG.md
[5:23:59 PM] [semantic-release] › ✔  Completed step "prepare" of plugin "@semantic-release/changelog"
[5:23:59 PM] [semantic-release] › ℹ  Start step "prepare" of plugin "@semantic-release/git"
[5:24:07 PM] [semantic-release] › ✘  Failed step "prepare" of plugin "@semantic-release/git"
[5:24:08 PM] [semantic-release] › ✘  An error occurred while running semantic-release: MaxBufferError: Command failed: git ls-files -m -o
maxBuffer exceeded
.dockerenv
FAILURE_REASON
bin/arch
bin/ash

...omit many lines in-between...

17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/alloc_calls
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/cache_dma
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/cpu_partial
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/cpu_slabs
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/ctor
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/destroy_by_rcu
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/free_calls
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/hwcache_align
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/min_partial
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/object_size
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/objects
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/objects_partial
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/objs_per_slab
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/order
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/partial
17:24:16 sys/kernel/slab/:A-0001024/cgroup/signal_cache(107758:8d0201d2261a3edce188de203f06bb40d386bac659d300d08e5f46996c21d35e)/poison
17:24:16     at PassThrough.<anonymous> (/usr/local/lib/node_modules/@semantic-release/git/node_modules/get-stream/index.js:50:19)
17:24:16     at PassThrough.emit (node:events:530:35)
17:24:16     at addChunk (node:internal/streams/readable:559:12)
17:24:16     at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
17:24:16     at Readable.push (node:internal/streams/readable:390:5)
17:24:16     at node:internal/streams/transform:178:12
17:24:16     at PassThrough._transform (node:internal/streams/passthrough:46:3)
17:24:16     at Transform._write (node:internal/streams/transform:171:8)
17:24:16     at writeOrBuffer (node:internal/streams/writable:564:12)
17:24:16     at _write (node:internal/streams/writable:493:10) {
17:24:16   originalMessage: 'maxBuffer exceeded',
17:24:16   shortMessage: 'Command failed: git ls-files -m -o\nmaxBuffer exceeded',

CI environment: Jenkins CI
VCS: GitHub
semantic-release version: 23.0.2
semantic-release/release-notes-generator version: 12.1.0
semantic-release/git version: 10.0.1
package.json

package.json
{
  "name": "our-repo-name",
  "version": "0.0.0",
  "release": {
    "branches": [
      {
        "name": "master"
      },
      {
        "name": "beta",
        "prerelease": true
      }
    ],
    "repositoryUrl": "https://github.com/org/our-repo-name.git",
    "ci": false,
    "debug": false,
    "dryRun": false,
    "plugins": [
      [
        "@semantic-release/commit-analyzer",
        {
          "preset": "angular",
          "releaseRules": [
            {
              "type": "docs",
              "release": "patch"
            },
            {
              "type": "no_release",
              "release": false
            }
          ]
        }
      ],
      [
        "@semantic-release/release-notes-generator",
        {
          "preset": "conventionalcommits",
          "presetConfig": {
            "types": [
              {
                "type": "docs",
                "section": "Documentation",
                "hidden": false
              },
              {
                "type": "feat",
                "section": "Features",
                "hidden": false
              },
              {
                "type": "fix",
                "section": "Bug Fixes",
                "hidden": false
              },
              {
                "type": "perf",
                "section": "Performance Improvements",
                "hidden": false
              }
            ]
          },
          "writerOpts": {
            "commitsSort": [
              "subject",
              "scope"
            ]
          }
        }
      ],
      "@semantic-release/github",
      [
      "@semantic-release/changelog",
        {
          "changelogFile": "CHANGELOG.md"
        }
      ],
      [
        "@semantic-release/git",
        {
          "assets": ["CHANGELOG.md"]
        }
      ]
    ],
    "preset": "angular"
  }
}

I am wondering if anyone else is also encountering this and if our setting can be improved to avoid the error.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported package.json configuration and the @semantic-release/git prepare step, then inspect how git ls-files -m -o is invoked and how its output buffer is handled. Reproduce the maxBuffer failure in the shown Jenkins configuration and confirm completion when the prepare step handles the large output without failing.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, javascript, node.js
Domain
release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.