We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
I have an action that does some stuff that reads the output of git tag -l --format=%(contents) to generate a version file.
git tag -l --format=%(contents)
On my laptop, I get the tag message if I do something like:
git commit -a -m 'Commit message!' git tag -a -m 'Tag message!' mytags/v1.0 git tag -l mytags/v1.0 '--format=%(contents)'
But if I do that very same git tag command in CI in a push action that is
git tag
on: push: branches: [ "master" ] tags: [ "mytags/*" ]
then the git tag command returns the commit message, instead!
After an hour of hunting, I tracked it down to this logic:
checkout/src/git-source-provider.ts
Lines 177 to 182 in b32f140
Roughly, what's happening here is that CI first does:
/usr/bin/git -c protocol.version=2 fetch --prune --no-recurse-submodules origin +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/*
And then it immediately after does this:
/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules origin +[the pointed to tag commit]:refs/tags/mytags/v1.0
as a result of the above logic. But this is wrong: it should not fetch the pointed to tag commit! It should fetch the tag object itself!
The text was updated successfully, but these errors were encountered:
I got the same issue, and agree that this behavior is wrong. it is possible to fix it by passing ref: ${{ github.ref }} to the action.
ref: ${{ github.ref }}
Sorry, something went wrong.
No branches or pull requests
I have an action that does some stuff that reads the output of
git tag -l --format=%(contents)
to generate a version file.On my laptop, I get the tag message if I do something like:
But if I do that very same
git tag
command in CI in a push action that isthen the
git tag
command returns the commit message, instead!After an hour of hunting, I tracked it down to this logic:
checkout/src/git-source-provider.ts
Lines 177 to 182 in b32f140
Roughly, what's happening here is that CI first does:
/usr/bin/git -c protocol.version=2 fetch --prune --no-recurse-submodules origin +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/*
And then it immediately after does this:
/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules origin +[the pointed to tag commit]:refs/tags/mytags/v1.0
as a result of the above logic. But this is wrong: it should not fetch the pointed to tag commit! It should fetch the tag object itself!
The text was updated successfully, but these errors were encountered: