-
Notifications
You must be signed in to change notification settings - Fork 63
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
[ISSUE]: Gittools Azure DevOps task 3.0.4 unable to retrieve gitversion output variables value or set version #1389
Comments
This issue is related to the change implemented in v3.0.4; there are some further comments there. |
@xlreme you can use |
killing of v3.0.4 would allow to restore Azure DevOps service (and possibly others) in no time, is this something we can discuss to mitigate the issue @arturcic @davidkeaveny ? |
Why was a breaking change released in a patch version? Edit: Oh I think I misread it as removing |
It should not have been a breaking change, it's a regression, and it should be a minor |
Could someone elaborate on the original change? In the PR it just says that "it's duplicating the actions behavior". What does that mean in practical terms? And now as build pipelines are going "boom, boom, boom" all over the world, why hasn't the "3.0.4" version been withdrawn while working on a fix? We're all now implementing workarounds, whether its specifying "@3.0.3" in our YAML pipelines or selecting "2.*" in our classic pipelines (yeah, those still exist..). |
#1389 - fix setting the build version in azure devops
🎉 This issue has been resolved in version v3.1.0 🎉 Your GitReleaseManager bot 📦🚀 |
please confirm it works for you all @davidkeaveny @xlreme @mogrodnv @egaudry |
An Azure DevOps pipeline run with "gitversion/setup@3" still downloads the 3.0.4 version:
I guess we need to give it some time to be detected by ADO. |
I am able to use the latest version of the task. The pipeline build version is updated after switch from 3.0.4 to 3.1.0. However I am still not able to use variables, which was possible with 3.0.3 Pipeline:
Result:
|
please replace |
Issue solved. |
I haven't retried a run yet, but have an other comment: If we have to start changing the way we reference these "$(GitVersion.xxx)" pipeline variables (from a dot to an underscore), then this is definitely not a minor issue any more. Then it's still a breaking change, needing a major version bump of the tool version. Or am I missing something? Is there an updated readme that explains this change? |
We use more than one gitversion output via |
OK, I will add back additional duplicated variables, with the dot syntax, but that will be removed in v4. The reason for removing is to be consistent with the GitVersion tool |
Yeah, changing the output variable names broke my builds this morning as well - those variables are the entire reason I use the task, so changing how they're accessed is always going to be a major breaking change. I updated my templates to use the _ and everything is working, but that was quite a bit of lost time for people this morning. |
Measure twice times before cutting once. |
Thanks @arturcic . I did a quick search and did not find information about adopted versioning strategy, but if it is semver, then changing public contract falls and a |
I don't think this is a valuable remark, does not help with the motivation of any open source projects, especially for those that are not paid for. I would prefer to have the support on maintaining or at least testing the project and not this kind of remarks. |
#1389 - Add back support for dot-delimited GitVersion outputs/variables
Let's all be friends. We all appreciate the effort @arturcic and others are putting into this and other open source projects, unpaid as it is. It's not easy to maintain such super-important tools, as shown in this immortal comic: That said, what I personally saw as the most "annoying" with this change, if you like - still trying to be friends - is that I didn't quite grasp the why. And I guess I still haven't fully. I don't exactly mind doing it differently - in a major version, that is - I just need to understand what benefit it yields, for myself or ultimately for the tool authors, for that matter. |
Agree with that. will try to communicate better |
version v3.1.1 is out, please have a new try |
You really have my support and support of many other people. You can bet, we are thankful for it. |
I can confirm that using "gitversion/execute@3" once more works, using our dot-based pipeline variables:
I will now start doing the migration from dot to underscore, so that I'm ready in due time for the upcoming "4.x" version. PS. Speaking of that "4.x" version, I also git bit by an other GitVersion issue today, as I'm adventurous and let the "gitversion/setup" task download whichever version happens to be the latest, because why not (well, I know now why not...):
When running that, it gave me version "6.1.0" of the underlying "dotnet-gitversion" executable, instead of "6.0.5" yesterday.
Indeed, the referenced "versions.md" file has a table that details this. What's the link between these tools, really? Are you @arturcic a maintainer of "dotnet-gitversion" as well? |
Yes, but this repository has also support for GitReleaseManager which is part of our OSS organization, but I don't actively maintain that tool. The reason v4 is not yet release is because there were several fixes that were related to this repo and not the GitVersion itself and they ended up in the v3 release. v4 drops support for GitVersion 5.12 as well as 6.0 as those versions use deprecated version of dotnet. It's still hard for me to come up with a proper versioning policy as there are several things I need to play with - GitVersion.Tool, GitReleaseManager.Tool version, as well as the nodejs version and AzureDevops agents version. That's why I created that |
so v4 this come shortly after v3 is more or less stable again |
I'm sorry I think this is related, but not 100% sure. I am getting this error in my Azure DevOps Pipeline.
This is what my YAML looks like: - task: gitversion/setup@3
displayName: GitVersion Setup
inputs:
runtime: 'core'
versionSpec: '5.x'
- task: gitversion/execute@3
displayName: GitVersion Execute
name: gitVersion
inputs:
runtime: 'core'
disableShallowCloneCheck: true
useConfigFile: true
configFilePath: 'GitVersion.yml' When I change it to: - task: gitversion/[email protected]
displayName: GitVersion Setup
inputs:
runtime: 'core'
versionSpec: '5.x'
- task: gitversion/[email protected]
displayName: GitVersion Execute
name: gitVersion
inputs:
runtime: 'core'
disableShallowCloneCheck: true
useConfigFile: true
configFilePath: 'GitVersion.yml' It works fine. |
Prerequisites
GitVersion package
AzureDevops task
What are you seeing?
Platform: Azure DevOps Task
GitTools: 3.0.4
GitVersion: 5.12.0
Unable to output the value for GitVersion.SemVer, GitVersion.NugetVersion and etc in the next subsequent Azure Devops tasks.
This is working in GitTools 3.0.3 and below
What is expected?
The next subsequent Azure DevOps Task should be able to retrieve the GitVersion output values after running gitversion/setup & gitversion/execute tasks.
Steps to Reproduce
Use Azure DevOps task gitversion/setup@3 or gitversion/[email protected], use input, version spec "5.x"
Use Azure DevOps task gitversion/execute@3 or gitversion/[email protected]
Next, use bash task to output $(Gitversion.SemVer)and note the output.
Output log or link to your CI build (if appropriate).
The text was updated successfully, but these errors were encountered: