-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Labels
enhancementNew feature or requestNew feature or request
Description
It would be great if this action would also set the email
and name
. In order to do other git operations it is required. I am adding this to my actions to get around it:
steps:
- uses: actions/checkout@v1
- name: Setup git user
run: |
git config --global user.name "$(git --no-pager log --format=format:'%an' -n 1)"
git config --global user.email "$(git --no-pager log --format=format:'%ae' -n 1)"
Unfortunately I don't have access to the user email. It seems like these can come from the account in a more clean way here, but I guess I could also create my own action. Since this is so new I am not sure what the best way forward is so thought I would post here.
sunt05, jeversmann-shipstation, fbartho, WarrenWeckesser, hairyhenderson and 73 more
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity
TingluoHuang commentedon Aug 16, 2019
@chrispat for feedback.
eine commentedon Oct 25, 2019
This would be useful for users willing to update
gh-pages
hosted on separate repos using a deployment key (e.g. https://github.com/1138-4EB/vunit/blob/migrate-to-gha/.github/workflows/push.yml#L63-L74). This is specially so, becauseGITHUB_TOKEN
's scope is limited and personal access tokens are not scoped to a single target repo.wesleytodd commentedon Oct 27, 2019
This was actually my first use case for this!
https://github.com/pkgjs/gh-pages/blob/master/entrypoint.sh#L4-L5
fregante commentedon Oct 31, 2019
I recently wrote an action that sets up the user and email the @action user, so you can also push back to the repo, as long as you use the v2 of
actions/checkout
https://github.com/fregante/setup-git-user
Old action
I recently wrote an action that sets up the user, email and token in one go, so you can also push back to the repo.https://github.com/fregante/setup-git-token
eine commentedon Dec 16, 2019
@ericsciple, should this issue be closed now that #107 is merged? It seems to be included in v2: https://github.com/actions/checkout/commits/v2
wesleytodd commentedon Dec 18, 2019
So that PR is a bit hard to grok on my phone (even with the improvements in the GitHub app), but it is unclear if that sets the
name
andemail
. This issue is specifically about that need. Does that PR solve this use case indirectly?eine commentedon Dec 18, 2019
@wesleytodd, see:
checkout/action.yml
Lines 12 to 17 in 3537747
It seems to me that this issue was/is about "do other (authenticated) git operations"; precisely update gh-pages (which was/is your "first use case for this"). Explicitly setting the user and email would have been an approach. Using the token to do so is just another suitable solution.
Moreover, I think it would be desirable to support optionally using deployment keys instead of tokens (be it the default or a PAT). This is because default tokens do not allow to update other repos; while PATs provide too many permissions. Nonetheless, even if keys were supported, I believe that setting the user and email would still be a side effect.
Therefore, I think that this issue should be either closed or repurposed to account for the new feature in
master
.wesleytodd commentedon Dec 19, 2019
Awesome, thanks for the more clear explanation! I have never used the method I see in that PR, so one last question I have:
Does using a token for git auth also stop git from complaining about no user or email when committing?
eine commentedon Dec 19, 2019
Although I'm not sure about that, I believe it should. The usefulness of the feature would be very limited otherwise.
Anyway, even if it works, there is currently a bug that prevents gh-pages from being updated when the token is used: actions/toolkit#247. Hence, you might want to keep using a deployment key.
HDouss commentedon Jan 28, 2020
No, that does not stop git from complaining. You still have to
git config
name and email. All what it does is that commits and pushes are well authenticated, but you should provide name and email before that. And yes, that limits the usefulness as @eine said.ericsciple commentedon Feb 13, 2020
+1 i didnt realize the built-in GITHUB_TOKEN has push permission... i'll open an adr shortly...
56 remaining items
Use GHA bot user
janbrasna commentedon Jul 3, 2024
While I share the sentiment above regarding correctly setting the git credentials for either the PAT or maybe
github.actor
by default, I'm surprised there's nothing set by default, like the action bot above, to save setting that gazillion times a day from workflows…BTW to update the list above:
This has been fixed since, as running this most simple config links the bot account as below correctly. So this is now my fav syntax, not having quote stuff and remembering ids etc., just works mid-2024.
The README now shows 2.# instead though:
This is now in the README as is the most complete syntax. But a little superfluous, with risks like badly escaping the \["]" characters etc. so I prefer 1.# instead.
The last one is probably not for public use like this…
Oh that feels like some internal user used for owning the actions, or maybe running them in the past. So basically that is a valid user and is owned by GH, it's some sort of a technical account and it's better use the well known bot accounts above.
TL;DR i'm running:
to avoid any quotes and escapes and whatnot, and it is attributed correctly:
simplify git user/email
qoomon commentedon Aug 2, 2024
I wrote a simple action to tackle this problem once and for all https://github.com/qoomon/actions--setup-git
simplify git user/email in CI
chouetz commentedon Dec 20, 2024
Hi 👋🏽
In case anyone is still following this issue I've done (yet another) suggestion PR #2012 (as the other ones are old and not updated after comments) which is waiting for owner's review.
I think it makes sense to have this feature included in
action/checkout
rather than using another action to setup the git config.Thanks in advance
Set up git user/email when tagging the crate release
Set up git user/email when tagging the crate release
Set up git user/email when tagging the crate release
Set up git user/email when tagging the crate release
expikr commentedon May 20, 2025
@janbrasna try
In general you can find the numeric user ID of any user at https://api.github.com/users/{username}
Examples:
Web-Flow user
Github Actions
Actions user
Dependabot
Deleted user