-
Notifications
You must be signed in to change notification settings - Fork 265
Description
Bug Report
Description
We get a tag / release generated and the CHANGELOG.md is updated with a new section for the tag but sometimes expected entries are missing from it, or it's completely blank. So we know that semantic release is triggering the release and we have the commit message correct, but the commit is not in the changelog.
This is different from #1387 in that we have the insertion flag in the changelog file and that's working fine.
Expected behavior
Commits that trigger semantic release to generate a tag and update the changelog should include the commit message entry in the changelog.
Actual behavior
Commit message entries are missing from the updated changelog.
One thing I've been wondering is if this is caused by the order in which changes are merged and how they are merged. We normally just create a merge commit by default. I've noticed that it seems like the missing entries are from PRs that are older and merged after other PRs which triggered a release. We require PRs to be up to date with main before merging so maybe there is something with how merge commits are processed and then they don't get included because the semantic release tooling thinks a commit is already accounted for?
For example, let's say we have this order of events:
- Open PR1 which has a commit message to trigger semantic-release
- Open PR2 which does not trigger semantic release
- Open PR3 which has a commit message to trigger semantic-release
- Merge PR2 - semantic-release is not triggered
- Rebase PR3 (merge with
main) - Merge PR3 - semantic-release is triggered and creates a tag
- Rebase and merge PR1 - semantic-release is triggered and a tag is created but the entry for PR1 is missing from the changelog
To test this theory, I've disabled merge commits so we can only merge with the Squash and merge option.
Environment
- Operating System (w/ version): Red Hat UBI
- Python version: 3.11
- Pip version: 25.3
- Semantic-release version: 10.5.3
- Build tool (w/ version): I'm not sure how to answer this. We're building in a Tekton CI/CD pipeline and packaging the app into a Dockerfile. It's a simple FastAPI-based web app service. It does not have a setup file, i.e. we're not packaging it as an installable that way.
pip freeze
Deprecated-1.3.1 MarkupSafe-3.0.3 annotated-types-0.7.0 certifi-2026.1.4 charset_normalizer-3.4.4 click-8.1.8 click-option-group-0.5.9 dotty-dict-1.3.1 gitdb-4.0.12 gitpython-3.1.46 idna-3.11 importlib-resources-6.5.2 jinja2-3.1.6 markdown-it-py-4.0.0 mdurl-0.1.2 pydantic-2.12.5 pydantic-core-2.41.5 pygments-2.19.2 python-gitlab-6.5.0 python-semantic-release-10.5.3 requests-2.32.5 requests-toolbelt-1.0.0 rich-14.3.1 shellingham-1.5.4 smmap-5.0.2 tomlkit-0.13.3 typing-extensions-4.15.0 typing-inspection-0.4.2 urllib3-2.6.3 wrapt-2.0.1
git log --oneline --decorate --graph --all -n 50
* e0accaa (HEAD -> main, origin/main, origin/HEAD) [release] promotion PR for main (#1402)
* 8118030 Merge pull request #1395 from IBM-Q-Software/1081-options-KeyError
|\
| * bef9622 Merge branch 'main' into 1081-options-KeyError
| |\
| |/
|/|
* | 2683ec5 Merge pull request #1401 from IBM-Q-Software/1396-fix-rep-rate-delay-local-backend
|\ \
| * | 7137c09 (origin/1396-fix-rep-rate-delay-local-backend, 1396-fix-rep-rate-delay-local-backend) fix: Handle LocalBackend in rep_delay_in_range
|/ /
| * c9f775e Merge branch 'main' into 1081-options-KeyError
| |\
| |/
|/|
* | f9dab68 (origin/semantic-release) Update branch main to 1.2.37-df7776b-623 for service: job-prediction-service
| * f04dce0 (origin/1081-options-KeyError) Merge branch 'main' into 1081-options-KeyError
| |\
| |/
|/|
* | df7776b Merge pull request #1399 from IBM-Q-Software/semantic-release
|\ \
| * | ef288c1 Update CHANGELOG.md
| * | 5a6984c Update CHANGELOG.md
| * | 078a06f (tag: v1.2.37) [skip ci] 1.2.37
|/ /
* | cbd3f20 Merge pull request #1379 from IBM-Q-Software/1257-log-job-params-before-deserializing
|\ \
| * \ 60b6c1f (origin/1257-log-job-params-before-deserializing) Merge branch 'main' into 1257-log-job-params-before-deserializing
| |\ \
| |/ /
|/| |
* | | cd0955a Merge pull request #1398 from IBM-Q-Software/semantic-release
|\ \ \
| * | | 85db105 Update CHANGELOG.md
| * | | 4e60cc0 [skip ci] 1.2.36
|/ / /
* | | 4ca24bd Merge pull request #1397 from IBM-Q-Software/1396-rep-delay-error
|\ \ \
| * | | ec08ff7 (origin/1396-rep-delay-error) Update error message wording
| * | | c4a433a fix: Provide more specific message for RepDelayRangeError
|/ / /
| * | 4f5a3a0 Merge branch 'main' into 1257-log-job-params-before-deserializing
| |\ \
| |/ /
|/| |
| * | 37832e6 Merge branch 'main' into 1257-log-job-params-before-deserializing
| |\ \
| * \ \ 44348ef Merge branch '1257-log-job-params-before-deserializing' of github.ibm.com:IBM-Q-Software/job-prediction-service into 1257-log-job-params-before-deserializing
| |\ \ \
| | * \ \ e735aee Merge branch 'main' into 1257-log-job-params-before-deserializing
| | |\ \ \
| | * \ \ \ 4c136fd Merge branch 'main' into 1257-log-job-params-before-deserializing
| | |\ \ \ \
| * | | | | | ce02c16 Log job_id if we have it instead of COS pre-signed URL
| * | | | | | e1a0e68 Merge branch 'main' into 1257-log-job-params-before-deserializing
| |\ \ \ \ \ \
| | |/ / / / /
| |/| | / / /
| | | |/ / /
| | |/| | |
| * | | | | e9a25e0 Merge branch 'main' into 1257-log-job-params-before-deserializing
| |\ \ \ \ \
| * | | | | | 05f7165 Be safe about getting response headers
| * | | | | | 4cf862b fix: Log size of job params from COS before deserializing
| | | | | | * ead6d8b (1081-options-KeyError) fix(prediction): Handle sampler and estimator params without options
| |_|_|_|_|/
|/| | | | |
| | | | | | * c3be9d8 (origin/security-scan-evidence) qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/2a605dc0-5749-4037-9a3e-27b2d446392e?env_id=ibm:yp:us-south
| | | | | | * 37d7eac qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/b04b64d1-cb6c-4acb-ae7e-a4ee00de90e7?env_id=ibm:yp:us-south
| | | | | | * b5b2a32 qcm-ai-jep-staging-job-prediction-service-api-main-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/0273341c-39f7-4c81-87d6-2f06b1377a64/runs/c3edb4dd-0ca1-44da-89d8-c3a40b7cace1?env_id=ibm:yp:us-south
| | | | | | * 954822a qcm-ai-jep-prod-job-prediction-service-api-main-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/0273341c-39f7-4c81-87d6-2f06b1377a64/runs/c3edb4dd-0ca1-44da-89d8-c3a40b7cace1?env_id=ibm:yp:us-south
| | | | | | * 0fe86cb qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/19ee3eb1-19a6-495a-afeb-eb5d6ece8748?env_id=ibm:yp:us-south
| | | | | | * 5a354da qcm-ai-jep-staging-job-prediction-service-api-main-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/0273341c-39f7-4c81-87d6-2f06b1377a64/runs/f3741bd5-8379-4fa5-8641-ec9f859196ff?env_id=ibm:yp:us-south
| | | | | | * d8678c3 qcm-ai-jep-prod-job-prediction-service-api-main-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/0273341c-39f7-4c81-87d6-2f06b1377a64/runs/f3741bd5-8379-4fa5-8641-ec9f859196ff?env_id=ibm:yp:us-south
| | | | | | * 1f6068d qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/f5666ce0-5fb5-4dec-aa9d-5c3474f4a750?env_id=ibm:yp:us-south
| | | | | | * 7abffae qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/2773cd50-114d-4b74-8f76-9180a61a5b6b?env_id=ibm:yp:us-south
| | | | | | * 9cee11d1 qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/b6aa88b3-9c9b-4ec5-8ebb-70c7fa45e4b7?env_id=ibm:yp:us-south
| | | | | | * 0d7ca13 qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/22158911-7e5a-4b4a-b721-c8c2dd6a7bd1?env_id=ibm:yp:us-south
| | | | | | * 1944e81 qcm-ai-jep-staging-job-prediction-service-api-main-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/0273341c-39f7-4c81-87d6-2f06b1377a64/runs/90a673b0-4a8b-4598-8ca9-3ea32c37f5a7?env_id=ibm:yp:us-south
| | | | | | * 10bab06 qcm-ai-jep-prod-job-prediction-service-api-main-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/0273341c-39f7-4c81-87d6-2f06b1377a64/runs/90a673b0-4a8b-4598-8ca9-3ea32c37f5a7?env_id=ibm:yp:us-south
| | | | | | * be9ca52 qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/1f328a2a-d78d-48ec-98cf-c433f5ba5925?env_id=ibm:yp:us-south
| | | | | | * 5bc3e55 qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/e6817c22-0cb2-40f7-a3e1-0a3d3e29e62b?env_id=ibm:yp:us-south
| | | | | | * 740a607 qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/f3a1cb47-aefa-4a01-96fa-08657b56c93b?env_id=ibm:yp:us-south
| | | | | | * 7f68302 qc-ai-jep-staging-job-prediction-service-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/f85acd5f-99d4-4334-8599-48b03d8bc301/runs/1c6aaa29-94d8-4ead-b899-aeb04ae5976b?env_id=ibm:yp:us-south
| | | | | | * 539869c qcm-ai-jep-staging-job-prediction-service-api-main-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/0273341c-39f7-4c81-87d6-2f06b1377a64/runs/aef76e73-076c-44ce-951b-d5ee10944a36?env_id=ibm:yp:us-south
| | | | | | * 35439d7 qcm-ai-jep-prod-job-prediction-service-api-main-latest.csv https://cloud.ibm.com/devops/pipelines/tekton/0273341c-39f7-4c81-87d6-2f06b1377a64/runs/aef76e73-076c-44ce-951b-d5ee10944a36?env_id=ibm:yp:us-south
Configuration
Semantic Release Configuration
{
"semantic_release": {
"assets": [],
"branches": {
"main": {
"match": "^(main|semantic-release)$",
"prerelease_token": "rc",
"prerelease": false
}
},
"changelog": {
"default_templates":{
"changelog_file": "CHANGELOG.md"
},
"exclude_commit_patterns": [
"^((?!(feat:|fix:|perf:|build:|chore:|ci:|docs:|style:|refactor:|test:)).)*$"
],
"environment": {
"block_start_string": "{%",
"block_end_string": "%}",
"variable_start_string": "{{",
"variable_end_string": "}}",
"comment_start_string": "{#",
"comment_end_string": "#}",
"trim_blocks": false,
"lstrip_blocks": false,
"newline_sequence": "\n",
"keep_trailing_newline": false,
"extensions": [],
"autoescape": true
}
},
"commit_author": {
"env": "GIT_COMMIT_AUTHOR",
"default": "semantic-release <semantic-release>"
},
"commit_message": "[skip ci] {version}\n\nAutomatically generated by python-semantic-release",
"commit_parser": "conventional",
"logging_use_named_masks": false,
"major_on_zero": true,
"remote": {
"name": "origin",
"token": {
"env": "GH_TOKEN"
},
"type": "github",
"ignore_token_for_push": false
},
"tag_format": "v{version}",
"version_variables": [
"api/version.py:__version__",
"ci/deployment/k8s/api/Chart.yaml:appVersion",
"ci/deployment/k8s/workers/Chart.yaml:appVersion"
],
"publish": {
"dist_glob_patterns": ["dist/*"],
"upload_to_vcs_release": true
}
}
}Execution Log
semantic-release -vv command
This is what I have right now but I will update this when I get a run with -vv.
Jan 29, 8:26:56 AM Last published tag: v1.2.37
Jan 29, 8:26:56 AM Switched to a new branch 'current-release-branch'
Jan 29, 8:26:56 AM branch 'current-release-branch' set up to track 'origin/semantic-release'.
Jan 29, 8:26:57 AM semantic-release exists but no recent tags from it to delete
Jan 29, 8:26:57 AM Switched to a new branch 'semantic-release'
Jan 29, 8:26:57 AM branch 'semantic-release' set up to track 'origin/main'.
Jan 29, 8:26:58 AM remote: detect-secrets-stream (beta) ver=6-eac8b67f7eb4ee9ae336e330b3c17671e22376af FAQ: https://ibm.biz/detect-secrets-stream-faq
Jan 29, 8:26:58 AM remote:
Jan 29, 8:26:58 AM remote: Successfully send push metadata.
Jan 29, 8:26:58 AM remote: Push info collect pre-receive hook finished within 3 seconds.
Jan 29, 8:26:58 AM To https://github.ibm.com/IBM-Q-Software/job-prediction-service
Jan 29, 8:26:58 AM f9dab686..81180303 semantic-release -> semantic-release
Jan 29, 8:26:59 AM 1.2.38
Jan 29, 8:27:00 AM The next version is: 1.2.38! 🚀
Jan 29, 8:27:00 AM No build command specified, skipping
Additional context
Some screenshots:
No entry in changelog except the version:
One entry in changelog but there should be two:
