semantic-release / semantic-release/github

Git tag is missing the tag message option

Open
#393 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
534
Forks
150
Avg merge
1m
Merged PRs (30d)
3

Description

Describe the bug

Trying to release, when reaching the tag phase,
the process fails because the command is missing the tag message (-m) option.

From the log:

[10:19:43 AM] [semantic-release] › ✖  An error occurred while running semantic-release: Error: Command failed with exit code 1: git tag 2.0.0 86ecbd244b16a1820d3575eaf4c9698b733e2e2a
error: Terminal is dumb, but EDITOR unset
Please supply the message using either -m or -F option.
    at makeError (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/node_modules/execa/lib/error.js:60:11)
    at handlePromise (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/node_modules/execa/index.js:118:26)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async tag (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/lib/git.js:224:3)
    at async run (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/index.js:191:5)
    at async module.exports (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/index.js:260:22)
    at async module.exports (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/cli.js:55:5) {
  shortMessage: 'Command failed with exit code 1: git tag 2.0.0 86ecbd244b16a1820d3575eaf4c9698b733e2e2a',
  command: 'git tag 2.0.0 86ecbd244b16a1820d3575eaf4c9698b733e2e2a',
  escapedCommand: 'git tag 2.0.0 86ecbd244b16a1820d3575eaf4c9698b733e2e2a',
  exitCode: 1,
  signal: undefined,
  signalDescription: undefined,
  stdout: '',
  stderr: 'error: Terminal is dumb, but EDITOR unset\n' +
    'Please supply the message using either -m or -F option.',
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}
Error: Command failed with exit code 1: git tag 2.0.0 86ecbd244b16a1820d3575eaf4c9698b733e2e2a
error: Terminal is dumb, but EDITOR unset
Please supply the message using either -m or -F option.
    at makeError (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/node_modules/execa/lib/error.js:60:11)
    at handlePromise (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/node_modules/execa/index.js:118:26)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async tag (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/lib/git.js:224:3)
    at async run (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/index.js:191:5)
    at async module.exports (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/index.js:260:22)
    at async module.exports (/opt/hostedtoolcache/node/16.5.0/x64/lib/node_modules/semantic-release/cli.js:55:5) {
  shortMessage: 'Command failed with exit code 1: git tag 2.0.0 86ecbd244b16a1820d3575eaf4c9698b733e2e2a',
  command: 'git tag 2.0.0 86ecbd244b16a1820d3575eaf4c9698b733e2e2a',
  escapedCommand: 'git tag 2.0.0 86ecbd244b16a1820d3575eaf4c9698b733e2e2a',
  exitCode: 1,
  signal: undefined,
  signalDescription: undefined,
  stdout: '',
  stderr: 'error: Terminal is dumb, but EDITOR unset\n' +
    'Please supply the message using either -m or -F option.',
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}
Error: Process completed with exit code 1.

Github workflow exemplifying the issue

A failed run
The workflow

Expected behavior

I think a feature that allows setting a custom message will be a nice one.
But for the time being, perhaps use the tag version as a tag message as well.

Additional context

This issue was originally filed here,
But after skipping the action and trying to work directly with the module, I get the same 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 tag phase and the lib/git.js location shown in the stack trace, then reproduce the failing git tag command from the linked workflow. The change is done when tagging no longer opens an editor in a non-interactive environment and the release workflow completes successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, javascript, node.js
Domain
release
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.