Release v3.0.0 failed in semantic release
MikeMcC399 opened this issue · comments
- PR #176 has successfully merged into the default
master
branch andsemantic-release
recognized that it should trigger a major release
[3:23:08 PM] [semantic-release] › ℹ The next release version is 3.0.0
however when it came to create the tag v3.0.0
it failed
[3:23:09 PM] [semantic-release] › ✖ An error occurred while running semantic-release: Error: Command failed with exit code 1: git push --tags https://[secure]@github.com/cypress-io/eslint-plugin-cypress.git
remote: fatal error in commit_refs
To https://github.com/cypress-io/eslint-plugin-cypress.git
! [remote rejected] v3.0.0 -> v3.0.0 (failure)
error: failed to push some refs to 'https://github.com/cypress-io/eslint-plugin-cypress.git'
I don't know the reason for this. It could be a transient GitHub issue. (https://www.githubstatus.com/ is showing "All Systems Operational" however. )
It could also be a permissions issue between CircleCI and GitHub.
The release 2.15.2 managed to create the tag v2.15.2
without issue
[5:03:40 PM] [semantic-release] › ℹ Start step "prepare" of plugin "@semantic-release/npm"
[5:03:40 PM] [semantic-release] [@semantic-release/npm] › ℹ Write version 2.15.2 to package.json in /home/circleci/project
v2.15.2
[5:03:41 PM] [semantic-release] › ✔ Completed step "prepare" of plugin "@semantic-release/npm"
[5:03:42 PM] [semantic-release] › ✔ Created tag v2.15.2
Log 3.0.0 (fail)
Last part:
[3:23:08 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: feat: support eslint v7 & v8 instead of ">= 3.2.1"
BREAKING CHANGE: Support ESLint v7 and v8 only
Support for ESlint v3, v4, v5 & v6 is removed
ESLint v9 is not yet supported
Co-Authored-By: Jennifer Shehane <shehane.jennifer@gmail.com>
[3:23:08 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The release type for the commit is major
[3:23:08 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analysis of 14 commits complete: major release
[3:23:08 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[3:23:08 PM] [semantic-release] › ℹ The next release version is 3.0.0
[3:23:08 PM] [semantic-release] › ℹ Start step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[3:23:08 PM] [semantic-release] › ✔ Completed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[3:23:08 PM] [semantic-release] › ℹ Start step "prepare" of plugin "@semantic-release/npm"
[3:23:08 PM] [semantic-release] [@semantic-release/npm] › ℹ Write version 3.0.0 to package.json in /home/circleci/project
v3.0.0
[3:23:08 PM] [semantic-release] › ✔ Completed step "prepare" of plugin "@semantic-release/npm"
[3:23:09 PM] [semantic-release] › ✖ An error occurred while running semantic-release: Error: Command failed with exit code 1: git push --tags https://[secure]@github.com/cypress-io/eslint-plugin-cypress.git
remote: fatal error in commit_refs
To https://github.com/cypress-io/eslint-plugin-cypress.git
! [remote rejected] v3.0.0 -> v3.0.0 (failure)
error: failed to push some refs to 'https://github.com/cypress-io/eslint-plugin-cypress.git'
at makeError (/home/circleci/project/node_modules/execa/lib/error.js:60:11)
at handlePromise (/home/circleci/project/node_modules/execa/index.js:118:26)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async push (/home/circleci/project/node_modules/semantic-release/lib/git.js:236:3)
at async run (/home/circleci/project/node_modules/semantic-release/index.js:201:5)
at async module.exports (/home/circleci/project/node_modules/semantic-release/index.js:269:22)
at async module.exports (/home/circleci/project/node_modules/semantic-release/cli.js:55:5) {
shortMessage: 'Command failed with exit code 1: git push --tags https://[secure]@github.com/cypress-io/eslint-plugin-cypress.git',
command: 'git push --tags https://[secure]@github.com/cypress-io/eslint-plugin-cypress.git',
escapedCommand: 'git push --tags "https://[secure]@github.com/cypress-io/eslint-plugin-cypress.git"',
exitCode: 1,
signal: undefined,
signalDescription: undefined,
stdout: '',
stderr: 'remote: fatal error in commit_refs \n' +
'To https://github.com/cypress-io/eslint-plugin-cypress.git\n' +
' ! [remote rejected] v3.0.0 -> v3.0.0 (failure)\n' +
"error: failed to push some refs to 'https://github.com/cypress-io/eslint-plugin-cypress.git'",
failed: true,
timedOut: false,
isCanceled: false,
killed: false
}
Error: Command failed with exit code 1: git push --tags https://[secure]@github.com/cypress-io/eslint-plugin-cypress.git
remote: fatal error in commit_refs
To https://github.com/cypress-io/eslint-plugin-cypress.git
! [remote rejected] v3.0.0 -> v3.0.0 (failure)
error: failed to push some refs to 'https://github.com/cypress-io/eslint-plugin-cypress.git'
at makeError (/home/circleci/project/node_modules/execa/lib/error.js:60:11)
at handlePromise (/home/circleci/project/node_modules/execa/index.js:118:26)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async push (/home/circleci/project/node_modules/semantic-release/lib/git.js:236:3)
at async run (/home/circleci/project/node_modules/semantic-release/index.js:201:5)
at async module.exports (/home/circleci/project/node_modules/semantic-release/index.js:269:22)
at async module.exports (/home/circleci/project/node_modules/semantic-release/cli.js:55:5) {
shortMessage: 'Command failed with exit code 1: git push --tags https://[secure]@github.com/cypress-io/eslint-plugin-cypress.git',
command: 'git push --tags https://[secure]@github.com/cypress-io/eslint-plugin-cypress.git',
escapedCommand: 'git push --tags "https://[secure]@github.com/cypress-io/eslint-plugin-cypress.git"',
exitCode: 1,
signal: undefined,
signalDescription: undefined,
stdout: '',
stderr: 'remote: fatal error in commit_refs \n' +
'To https://github.com/cypress-io/eslint-plugin-cypress.git\n' +
' ! [remote rejected] v3.0.0 -> v3.0.0 (failure)\n' +
"error: failed to push some refs to 'https://github.com/cypress-io/eslint-plugin-cypress.git'",
failed: true,
timedOut: false,
isCanceled: false,
killed: false
}
Exited with code exit status 1
Log 2.15.2 (success)
Full successful log
> eslint-plugin-cypress@0.0.0-development semantic-release
> semantic-release
[5:03:38 PM] [semantic-release] › ℹ Running semantic-release version 19.0.3
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "verifyConditions" from "@semantic-release/npm"
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "verifyConditions" from "@semantic-release/github"
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "analyzeCommits" from "@semantic-release/commit-analyzer"
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "generateNotes" from "@semantic-release/release-notes-generator"
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "prepare" from "@semantic-release/npm"
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "publish" from "@semantic-release/npm"
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "publish" from "@semantic-release/github"
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "addChannel" from "@semantic-release/npm"
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "addChannel" from "@semantic-release/github"
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "success" from "@semantic-release/github"
[5:03:39 PM] [semantic-release] › ✔ Loaded plugin "fail" from "@semantic-release/github"
[5:03:39 PM] [semantic-release] › ✔ Run automated release from branch master on repository git+https://github.com/cypress-io/eslint-plugin-cypress.git
[5:03:40 PM] [semantic-release] › ✔ Allowed to push to the Git repository
[5:03:40 PM] [semantic-release] › ℹ Start step "verifyConditions" of plugin "@semantic-release/npm"
[5:03:40 PM] [semantic-release] [@semantic-release/npm] › ℹ Verify authentication for registry https://registry.npmjs.org/
[5:03:40 PM] [semantic-release] [@semantic-release/npm] › ℹ Wrote NPM_TOKEN to /tmp/87469e9b58ca8da10b4e145a64394e14/.npmrc
cypress-npm-publisher
[5:03:40 PM] [semantic-release] › ✔ Completed step "verifyConditions" of plugin "@semantic-release/npm"
[5:03:40 PM] [semantic-release] › ℹ Start step "verifyConditions" of plugin "@semantic-release/github"
[5:03:40 PM] [semantic-release] [@semantic-release/github] › ℹ Verify GitHub authentication
[5:03:40 PM] [semantic-release] › ✔ Completed step "verifyConditions" of plugin "@semantic-release/github"
[5:03:40 PM] [semantic-release] › ℹ Found git tag v2.15.1 associated with version 2.15.1 on branch master
[5:03:40 PM] [semantic-release] › ℹ Found 13 commits since last release
[5:03:40 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: Merge pull request #162 from MikeMcC399/update/semantic-release
fix(deps): update semantic-release to 19.0.3
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: fix(deps): update semantic-release to 19.0.3
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The release type for the commit is patch
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: Merge pull request #168 from MikeMcC399/remove/condition-circle
chore(deps): remove condition-circle
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: chore(deps): remove condition-circle
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: Merge pull request #164 from MikeMcC399/fix-version-tests
ci: remove dependency on semantic-release npm
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: ci: remove dependency on semantic-release npm
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: chore: add .node-version & .nvmrc 16.15.0 (#161)
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: Feat: add linting rule for before/beforeEach just like the async test rule (#151)
* Feat: add linting rule for before/beforeEach just like the async rule for test
* Fix the unit test
* Fix the unit test
* Update docs/rules/no-async-before.md
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update docs/rules/no-async-before.md
Co-authored-by: Bill Glesias <bglesias@gmail.com>
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: Merge pull request #160 from MikeMcC399/lint-script-windows
chore: make lint script Windows compatible
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: Merge branch 'master' into lint-script-windows
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: Merge pull request #159 from MikeMcC399/update/husky-to-8
chore: update husky to 8.0.3
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: chore: make lint script Windows compatible
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: chore: update husky to 8.0.3
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[5:03:40 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analysis of 13 commits complete: patch release
[5:03:40 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[5:03:40 PM] [semantic-release] › ℹ The next release version is 2.15.2
[5:03:40 PM] [semantic-release] › ℹ Start step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[5:03:40 PM] [semantic-release] › ✔ Completed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[5:03:40 PM] [semantic-release] › ℹ Start step "prepare" of plugin "@semantic-release/npm"
[5:03:40 PM] [semantic-release] [@semantic-release/npm] › ℹ Write version 2.15.2 to package.json in /home/circleci/project
v2.15.2
[5:03:41 PM] [semantic-release] › ✔ Completed step "prepare" of plugin "@semantic-release/npm"
[5:03:42 PM] [semantic-release] › ✔ Created tag v2.15.2
[5:03:42 PM] [semantic-release] › ℹ Start step "publish" of plugin "@semantic-release/npm"
[5:03:42 PM] [semantic-release] [@semantic-release/npm] › ℹ Publishing version 2.15.2 to npm registry on dist-tag latest
npm notice
npm notice 📦 eslint-plugin-cypress@2.15.2
npm notice === Tarball Contents ===
npm notice 96B .eslintrc.json
npm notice 265B .github/workflows/add-issue-triage-board.yml
npm notice 217B .github/workflows/triage_closed_issue_comment.yml
npm notice 66B .husky/pre-commit
npm notice 8B .node-version
npm notice 8B .nvmrc
npm notice 1.1kB LICENSE
npm notice 5.5kB README.md
npm notice 1.8kB circle.yml
npm notice 655B docs/rules/assertion-before-screenshot.md
npm notice 133B docs/rules/no-assigning-return-values.md
npm notice 1.4kB docs/rules/no-async-before.md
npm notice 1.6kB docs/rules/no-async-tests.md
npm notice 1.8kB docs/rules/no-force.md
npm notice 320B docs/rules/no-pause.md
npm notice 125B docs/rules/no-unnecessary-waiting.md
npm notice 763B docs/rules/require-data-selectors.md
npm notice 169B docs/rules/unsafe-to-chain-command.md
npm notice 1.0kB index.js
npm notice 184B jest.config.js
npm notice 303B lib/config/recommended.js
npm notice 2.8kB lib/rules/assertion-before-screenshot.js
npm notice 1.5kB lib/rules/no-assigning-return-values.js
npm notice 1.2kB lib/rules/no-async-before.js
npm notice 1.2kB lib/rules/no-async-tests.js
npm notice 2.2kB lib/rules/no-force.js
npm notice 1.5kB lib/rules/no-pause.js
npm notice 2.6kB lib/rules/no-unnecessary-waiting.js
npm notice 1.5kB lib/rules/require-data-selectors.js
npm notice 3.3kB lib/rules/unsafe-to-chain-command.js
npm notice 1.3kB package.json
npm notice 715B tests/config.js
npm notice 2.0kB tests/lib/rules/assertion-before-screenshot.js
npm notice 1.5kB tests/lib/rules/no-assigning-return-values.js
npm notice 1.2kB tests/lib/rules/no-async-before.js
npm notice 1.2kB tests/lib/rules/no-async-tests.js
npm notice 2.4kB tests/lib/rules/no-force.js
npm notice 997B tests/lib/rules/no-pause.js
npm notice 2.8kB tests/lib/rules/no-unnecessary-waiting.js
npm notice 1.2kB tests/lib/rules/require-data-selectors.js
npm notice 1.4kB tests/lib/rules/unsafe-to-chain-command.js
npm notice === Tarball Details ===
npm notice name: eslint-plugin-cypress
npm notice version: 2.15.2
npm notice filename: eslint-plugin-cypress-2.15.2.tgz
npm notice package size: 12.4 kB
npm notice unpacked size: 51.9 kB
npm notice shasum: f22e12fad4c434edad7b298ef92bac8fa087ffa0
npm notice integrity: sha512-CtcFEQTDKyftp[...]2mhgrWV+Xr0vQ==
npm notice total files: 41
npm notice
npm notice Publishing to https://registry.npmjs.org/
+ eslint-plugin-cypress@2.15.2
[5:04:25 PM] [semantic-release] [@semantic-release/npm] › ℹ Published eslint-plugin-cypress@2.15.2 to dist-tag @latest on https://registry.npmjs.org/
[5:04:25 PM] [semantic-release] › ✔ Completed step "publish" of plugin "@semantic-release/npm"
[5:04:25 PM] [semantic-release] › ℹ Start step "publish" of plugin "@semantic-release/github"
[5:04:25 PM] [semantic-release] [@semantic-release/github] › ℹ Published GitHub release: https://github.com/cypress-io/eslint-plugin-cypress/releases/tag/v2.15.2
[5:04:25 PM] [semantic-release] › ✔ Completed step "publish" of plugin "@semantic-release/github"
[5:04:25 PM] [semantic-release] › ℹ Start step "success" of plugin "@semantic-release/github"
[5:04:33 PM] [semantic-release] [@semantic-release/github] › ℹ Added comment to issue #168: https://github.com/cypress-io/eslint-plugin-cypress/pull/168#issuecomment-2057408417
[5:04:37 PM] [semantic-release] [@semantic-release/github] › ℹ Added comment to issue #162: https://github.com/cypress-io/eslint-plugin-cypress/pull/162#issuecomment-2057408520
[5:04:39 PM] [semantic-release] [@semantic-release/github] › ℹ Added comment to issue #164: https://github.com/cypress-io/eslint-plugin-cypress/pull/164#issuecomment-2057408594
[5:04:40 PM] [semantic-release] [@semantic-release/github] › ℹ Added labels [ 'released' ] to issue #168
[5:04:41 PM] [semantic-release] [@semantic-release/github] › ℹ Added labels [ 'released' ] to issue #162
[5:04:42 PM] [semantic-release] [@semantic-release/github] › ℹ Added comment to issue #161: https://github.com/cypress-io/eslint-plugin-cypress/pull/161#issuecomment-2057408681
[5:04:42 PM] [semantic-release] [@semantic-release/github] › ℹ Added labels [ 'released' ] to issue #164
[5:04:43 PM] [semantic-release] [@semantic-release/github] › ℹ Added labels [ 'released' ] to issue #161
[5:04:45 PM] [semantic-release] [@semantic-release/github] › ℹ Added comment to issue #151: https://github.com/cypress-io/eslint-plugin-cypress/pull/151#issuecomment-2057408780
[5:04:46 PM] [semantic-release] [@semantic-release/github] › ℹ Added labels [ 'released' ] to issue #151
[5:04:48 PM] [semantic-release] [@semantic-release/github] › ℹ Added comment to issue #160: https://github.com/cypress-io/eslint-plugin-cypress/pull/160#issuecomment-2057408879
[5:04:49 PM] [semantic-release] [@semantic-release/github] › ℹ Added labels [ 'released' ] to issue #160
[5:04:51 PM] [semantic-release] [@semantic-release/github] › ℹ Added comment to issue #159: https://github.com/cypress-io/eslint-plugin-cypress/pull/159#issuecomment-2057408977
[5:04:52 PM] [semantic-release] [@semantic-release/github] › ℹ Added labels [ 'released' ] to issue #159
[5:04:52 PM] [semantic-release] › ✔ Completed step "success" of plugin "@semantic-release/github"
[5:04:52 PM] [semantic-release] › ✔ Published release 2.15.2 on default channel
I don't understand what happened. If I look at the latest commit locally, it shows the tag v3.0.0
has been created for commit 9499f42
$ git log --oneline -1
9499f42 (HEAD -> master, tag: v3.0.0, upstream/master, upstream/HEAD) Merge pull request #176 from MikeMcC399/support-eslint-7-and-8
https://github.com/cypress-io/eslint-plugin-cypress/tree/v3.0.0
also shows the tag v3.0.0
Will you be able to take a look at this, or somebody else from the team?
Perhaps try first with
npm run semantic-release --dry-run
in the master
branch?
I don't have permissions to run this myself.
@MikeMcC399 I'm not sure I've had a lot of breaking change releases go well with semantic-release. Let me see if I can look.
@jennifer-shehane
You may need to delete the tag v3.0.0
first, since it is the failed release.
GitHub thinks this is partially released:
https://github.com/cypress-io/eslint-plugin-cypress/releases/tag/v3.0.0
but the contents are not formatted like for
https://github.com/cypress-io/eslint-plugin-cypress/releases/tag/v2.15.2
and it's not listed under
https://github.com/cypress-io/eslint-plugin-cypress/releases
so the process failure has caused this to be left behind in an unfinished and inconsistent state
It's worked now, after deleting the tag and merging in another PR. https://github.com/cypress-io/eslint-plugin-cypress/releases/tag/v3.0.0
It's worked now, after deleting the tag and merging in another PR. https://github.com/cypress-io/eslint-plugin-cypress/releases/tag/v3.0.0
Thank you for resolving this issue, as I wouldn't be able to move forward without it! 🎉 The v3.0.0
release is a major milestone in removing outdated dependencies and moving towards ESLint 9.x
!
I guess it was either a glitch on GitHub or there is something wrong with the token used by CircleCI to write to GitHub. We will see what happens with the next release attempt! I don't think this had anything to do with it being a breaking change because this only affects the numbering of the tag. There is no new branch to be created like on the Cypress GitHub Actions repo.
Moving forward:
- PR #162 (Apr 12, 2024) was restricted to
semantic-release
19.x
because the dependency on Node.js16.x
in the CircleCI workflow was not removed until PR #171 (Apr 15, 2024). Now that Node.js20.x
is being used, semantic-release can be bumped to23.x
which is compatible with Node.js20.8.1
and later. I will plan this in sometime soon as it resolves some vulnerabilities. I will prioritize the functional improvements first though.