-
Notifications
You must be signed in to change notification settings - Fork 871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[skip ci] semantics is badly broken #2944
Comments
According to the docs https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/azure-repos-git?view=azure-devops&tabs=yaml#skipping-ci-for-individual-commits this is already supposed to work, however, it does not. |
You can use next task condition to skip CI builds after PR is complited: It will help to skip unneeded tasks when magic 'NO_CI' present in the commit comment. It doesn't work on job or stage level as variable Build.SourceVersionMessage got populated only when the job started. |
Any progress on this issue? |
Hi everyone, we are working currently on more prioritized issues, but going to pick it up soon. |
@anatolybolshakov can you please define "soon"? @gaikovoi are you sure #2944 (comment) works?
as observed by other people, eg #858 (comment) |
@timotheecour this is a condition to skip CI build triggered after completed PR. The condition will be evaluated as 'true' for PR build. |
i see. In the meantime I came up with this: nim-lang/Nim#17561, feedback welcome. it's obviously not as good as a builtin
|
Not sure if this is the correct place to add this but: When I merge a pull request (say, to master), and that PR contains a commit which has Anyone have any solution for this problem? |
any update on this? |
Not the most useful but someone from Microsoft has reproduced the problem and confirmed my issue (above) is a bug. He created an issue for the devs here, if you want to follow it. Besides that it's just broken atm. It works fine if you use an Azure Git repo, or GitHub actions. But that's usually not really a reasonable solution. |
We've been using this workaround in SciPy (cargo culted from some other scientific Python projects): stages:
- stage: Check
jobs:
- job: Skip
pool:
vmImage: 'ubuntu-18.04'
variables:
DECODE_PERCENTS: 'false'
RET: 'true'
steps:
- bash: |
git_log=`git log --max-count=1 --skip=1 --pretty=format:"%B" | tr "\n" " "`
echo "##vso[task.setvariable variable=log]$git_log"
- bash: echo "##vso[task.setvariable variable=RET]false"
condition: or(contains(variables.log, '[skip azp]'), contains(variables.log, '[azp skip]'), contains(variables.log, '[skip ci]'), contains(variables.log, '[ci skip]'))
- bash: echo "##vso[task.setvariable variable=start_main;isOutput=true]$RET"
name: result
- stage: Main
condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true'))
dependsOn: Check
... <continue with the actual functionality> ... Less tedious than adding |
+1, it's so annoying to have PR-triggered builds run even when [skip ci] is in the commit message. Can't believe it's been more than a year and still no fix... Truly sad... |
Any chance of an update on this sometime soon? Not being able to skip PR triggered pipelines breaks planned workflows for us. Like when a pipeline to automatically update documentation commits to a PR and then causes another run of itself.. I'd argue that over a year's wait is not soon |
Hi everyone, just re-checked requirements here - the pipeline agent does not handle ci checks run, so it sounds like an enhancement for Azure DevOps itself. For such requests https://developercommunity.visualstudio.com/search?space=21 would be a better place to open a ticket - since this repo is mostly for the agent issues/feature requests. |
Let me close it here as external issue - please feel free to ask any further questions about the agent here. |
Please do not close this issue until this is either fixed or a valid workaround is offered and confirmed to work
The same issue has been reported several times (#2441 and #858) but the issue is still there.
According to https://developercommunity.visualstudio.com/content/problem/714477/pr-commit-with-skip-ci-in-message-still-triggers-a.html this is by design:
However that design is flawed because:
it goes against industry standard, is surprising, and doesn't play well with other CI
see #858 (comment)
it's not what your users want
everyone is complaining about this:
eg:
or this: #1270 (comment)
it invites dangerous workarounds
it slows down development
because CI runs regardless what we specified
it's illogical
the rationale given makes no sense
We don't need this babysitting; it's a PR, it still needs to be merged and it's trivial for a reviewer to check whether the CI was run or not (or whether last commit message message contained
[ci skip]
; reviewer can always request to change the last commit msg if he disagrees.it's not even documented
https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/github?view=azure-devops&tabs=yaml#skipping-ci-for-individual-commits makes no mention of it not working for PR's
it will save you money and is good for the environment
...by avoiding wasting CI cycles. I mean, who doesn't want to save the environment ;-)
proposal
either fix the behavior of
[ci skip]
or provide a simple way to enable honoring[ci skip]
for PR commit messages in azure pipelines, egallow_pr_ci_skip: true
The text was updated successfully, but these errors were encountered: