GitLab tag removal through the web interface does not actually remove the tag from Git
-
When I hit the delete button in the Tags interface I can verify the tag does not show, but when semantic-release tries to run, I still
git tag
on the runner I still getfatal: tag 'v5.2.3' already exists at makeError (/usr/local/lib/node_modules/semantic-release/node_modules/execa/lib/error.js:60:11) at handlePromise (/usr/local/lib/node_modules/semantic-release/node_modules/execa/index.js:118:26) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async tag (/usr/local/lib/node_modules/semantic-release/lib/git.js:224:3) at async run (/usr/local/lib/node_modules/semantic-release/index.js:191:5) at async module.exports (/usr/local/lib/node_modules/semantic-release/index.js:260:22) at async module.exports (/usr/local/lib/node_modules/semantic-release/cli.js:55:5) { shortMessage: 'Command failed with exit code 128: git tag v5.2.3 b49dff6c91a03a326e6afde67c32a5c788914c25', command: 'git tag v5.2.3 b49dff6c91a03a326e6afde67c32a5c788914c25', escapedCommand: 'git tag v5.2.3 b49dff6c91a03a326e6afde67c32a5c788914c25', exitCode: 128, signal: undefined, signalDescription: undefined, stdout: '', stderr: "fatal: tag 'v5.2.3' already exists", failed: true, timedOut: false, isCanceled: false, killed: false }.map
What's going on here?
-
I'm not sure what GitLab is thinking here, but the Tags API and tags UI represent tags in the web interface, but they do not disruptively remove the tags from the underlying repo. This seems like a major but which I'll file later, or update this with a link to at a later point in time.
You can force the removal from the upstream repo which will also remove the tag from the UI using vanilla Git.
git push upstream :refs/tags/
Like this
git push upstream :refs/tags/v5.2.3