Open MateusAndrade opened 4 years ago
semantic-release consider only the branches that exists on the remote repo. I'm guessing you don't have any branch on your remote that match that pattern.
semantic-release consider only the branches that exists on the remote repo. I'm guessing you don't have any branch on your remote that match that pattern.
Yes, for sure. Since we are using Trunk Based Development I needed to apply some changes to our flow.
I decided to use a branch called next
to create our releases. Before that, we merge this branch on master and everything works as expected. I don't know if this a good practice, but this attending my needs.
Also, do you mean that if I'm on a branch called release/feature-x
, with the config that I posted, I would be able to trigger semantic-release?
Hello I had the same issue. I Solved it by removing the "/" in my release branch name
release/deployement-with-semantic => release-deployement-with-semantic
Hello I had the same issue. I Solved it by removing the "/" in my release branch name
release/deployement-with-semantic => release-deployement-with-semantic
Strange, I will give a try here. Thanks! 😄
@MateusAndrade @Aldorus
Found another cause / fix after a long time researching.
Our issue was that we had lots of existing release/*
branches already. The branch regex
"release\/*",
ended up matching lots of old branches, exceeding the 3 allowed by this library. We probably have to update our development flow to accommodate this.
When this fails due to too many matching branches, the output looks like this (mock run):
semantic-release:get-tags found tags for branch release/arwen: [ { gitTag: 'v3.0.0', version: '3.0.0', channels: [ null ] }, { gitTag: 'v3.0.1-develop.1', version: '3.0.1-develop.1', channels: [ 'develop' ] }, { gitTag: 'v3.0.1-develop.2', version: '3.0.1-develop.2', channels: [ 'develop' ] }, { gitTag: 'v3.1.0', version: '3.1.0', channels: [ 'release/arwen' ] }, { gitTag: 'v3.1.0-develop.1', version: '3.1.0-develop.1', channels: [ 'develop' ] } ] +148ms
semantic-release:get-tags found tags for branch release/bilbo: [ { gitTag: 'v3.0.0', version: '3.0.0', channels: [ null ] }, { gitTag: 'v3.0.1-develop.1', version: '3.0.1-develop.1', channels: [ 'develop' ] }, { gitTag: 'v3.0.1-develop.2', version: '3.0.1-develop.2', channels: [ 'develop' ] }, { gitTag: 'v3.1.0-develop.1', version: '3.1.0-develop.1', channels: [ 'develop' ] }, { gitTag: 'v4.0.0', version: '4.0.0', channels: [ null ] }, { gitTag: 'v4.1.0-develop.1', version: '4.1.0-develop.1', channels: [ 'develop' ] }, { gitTag: 'v4.1.0-develop.2', version: '4.1.0-develop.2', channels: [ 'develop' ] } ] +181ms
semantic-release:get-tags found tags for branch release/leia: [] +24ms
semantic-release:get-tags found tags for branch release/maul: [] +22ms
semantic-release:get-tags found tags for branch release/norra: [] +23ms
semantic-release:get-tags found tags for branch release/obi: [] +26ms
semantic-release:get-tags found tags for branch release/padme: [] +27ms
semantic-release:get-tags found tags for branch release/qira: [] +26ms
semantic-release:get-tags found tags for branch release/raven: [] +26ms
semantic-release:get-tags found tags for branch release/raven-h1: [] +27ms
semantic-release:get-tags found tags for branch release/raven-h2: [] +26ms
semantic-release:get-tags found tags for branch release/sith: [] +27ms
semantic-release:get-tags found tags for branch release/tian: [] +25ms
semantic-release:get-tags found tags for branch release/ursa: [] +27ms
semantic-release:get-tags found tags for branch release/vurk: [] +25ms
semantic-release:get-tags found tags for branch release/windu: [] +27ms
semantic-release:get-tags found tags for branch release/xwing: [] +27ms
semantic-release:get-tags found tags for branch release/yoda: [] +26ms
semantic-release:get-tags found tags for branch release/ziro: [] +25ms
So I believe that if you see lots of matches there, you get the error.
A minimum of 1 and a maximum of 3 release branches are required in the branches configuration.
This may occur if your repository does not have a release branch, such as master.
Honestly just dropping that second "hint" would probably save people tons of time since it's totally unrelated to the actual problem and could send people in the wrong direction.
EDIT: OH, also you have to add a superfluous 'master' entry in the branch object even if you use it for nothing. Just put it there and make sure there's a remote branch as well.
Any updates here?
Would be great to have regex like release/*
Any update about this?
I run semantic-release in Gitlab CI and manage branches to run through CI rules. Then I just pass branch name like this:
npx semantic-release --branches $CI_COMMIT_REF_NAME
I run semantic-release in Gitlab CI and manage branches to run through CI rules. Then I just pass branch name like this:
npx semantic-release --branches $CI_COMMIT_REF_NAME
How do you run on detached mod?
How do you run on detached mod?
What is the detached mode? Have no idea.
How do you run on detached mod?
What is the detached mode? Have no idea.
git detached mode. Nevermind, in the meantime I forgot my initial goal. I switched to some other solution.
Current behavior
Whenever I try to run a release, with my config using the following config:
This causes an error, warning that there isn't any branch matching this pattern.
Expected behavior
However, I would to any branch matching the pattern
release/*
being able to trigger semantic release. Looking at the docs, I didn't an example of how I would do that.Any branch matching the pattern
release/*
trigger semantic-release.Environment
This may occur if your repository does not have a release branch, such as master.
Your configuration for the problematic branches is [].