Shotgun configuration bundle cache and git tag descriptor problem using semantic versioning

Hi there,

I have just hit a problem with using a specific git tag into a pipeline configuration descriptor. The tag used follow semantic versioning convention (here v0.12.11-gb) but when the core is using the descriptor to get the tag, the good one is fetched, but the local folder (in the bundle_cache) is badly named compared to the tag. The tag seem to be stripped and could cause problem by not updating correctly configuration locally.

  • Descriptor used is in the form sgtk:descriptor:git_branch?branch=myBranch&path=https://internal_git/tk-config-default.git&version=v0.12.11-gb
  • When I go into the bundle_cache folder, where the config should be fetched, the folder created to keep this configuration is named v0.12.1 (In this specific case, the last digit of the PATCH number is stripped and the -gb also)

So, you can see that for any tag named v0.12.1X-gb, it will be fetch in the same folder and will never be updated correctly until the PATCH first digit is bumped up.

Since the descriptor should support correctly the semantic versioning, this is an important issue that should be fixed asap. Right now, to bypass the problem, I am using git commit hash instead as the version, which seem to work correctly.

3 Likes

Hi Sebastien,

You must use the git descriptor type instead of git_branch.

so in your example this would look like:

sgtk:descriptor:git?path=https://internal_git/tk-config-default.git&version=v0.12.11-gb

Cheers

But he is using a specific branch… I guess you cannot have both a branch and a git descriptor.

If your tag is on a single branch, this is what will be fetched. If on multiple branches, it does not really matter does it, since everything will be identical on all branches?

You are right. So it sounds like a bug that the patch name is dropped when cloning the repo.

Hi everyone,

we did some changes in tk-core lately on how we are cloning git repo. Can you try with latest tk-core? (v0.20.11)

Simon is right about the fact that you should use a git descriptor for tags and git_branch for specific commits. See documentation here: Descriptors — tk-core v0.20.11 documentation

Cheers,
Francis

1 Like