- Notifications
You must be signed in to change notification settings - Fork30
Github action to retrieve branch or tag names with support for all events.
License
NotificationsYou must be signed in to change notification settings
tj-actions/branch-names
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Get a branch or tag name without the/ref/*
prefix.
- Retrieve the current branch name without any prefix. (e.g.
'refs/heads/main'
->'main'
) - Retrieve the current tag with an option to strip the prefix (e.g.
v0.0.1
->v
->0.0.1
) - Detect actions triggered by non default branches
- Detect actions triggered by the default branch
- Supports all validgit branch names
...steps: -name:Get branch names.id:branch-namesuses:tj-actions/branch-names@v8 -name:Running on the default branch.if:steps.branch-names.outputs.is_default == 'true'run:| echo "Running on default: ${{ steps.branch-names.outputs.current_branch }}"# Outputs: "Running on default: main" -name:Running on a pull request branch.if:steps.branch-names.outputs.is_default == 'false'run:| echo "Running on pr: ${{ steps.branch-names.outputs.current_branch }}"# Outputs: "Running on pr: feature/test" -name:Running on a pull request branch.if:steps.branch-names.outputs.is_default == 'false'run:| echo "Base branch: ${{ steps.branch-names.outputs.base_ref_branch }}"# Outputs: "Base branch: main" -name:Running on any event.run:| echo "Default branch: ${{ steps.branch-names.outputs.default_branch }}"# Outputs: "Default branch: main"
If you feel generous and want to show some extra appreciation:
Support this project with a ⭐
-uses:tj-actions/branch-names@v8id:branch-nameswith:# The prefix that should be# stripped from the tag e.g# `v` -> with a tag# `v0.0.1` -> returns `0.0.1`# Type: stringstrip_tag_prefix:''
OUTPUT | TYPE | DESCRIPTION |
---|---|---|
base_ref_branch | string | The target branch of a pull request or tag e.g main |
current_branch | string | The current branch name regardless of event_type e.g main ,feature/test |
default_branch | string | The default branch name e.gmain ORmaster |
head_ref_branch | string | The source branch of a pull request e.g feature/test |
is_default | string | Returns"true" if the currentbranch is the default else "false" . |
is_tag | string | Returns"true" if the currentbranch is a tag else "false" . |
ref_branch | string | The branch that triggered the workflow run. e.g 1/merge ,main |
tag | string | The tag that triggered the workflow run. e.g v0.0.1 ,0.0.1 |
on:push:branches: -main...steps: -name:Get branch namesid:branch-namesuses:tj-actions/branch-names@v8 -name:Current branch namesrun:| echo "${{ steps.branch-names.outputs.current_branch }}"# Outputs: "main" the branch that triggered the push event. -name:Running on the default branch.if:steps.branch-names.outputs.is_default == 'true'run:| echo "Running on default: ${{ steps.branch-names.outputs.current_branch }}"# Outputs: "Running on default: main". -name:Running on the default branch (i.e non tag based branch).if:steps.branch-names.outputs.is_tag == 'false' && steps.branch-names.outputs.is_default == 'true'run:| echo "Running on branch: ${{ steps.branch-names.outputs.current_branch }}"# Outputs: "Running on branch: main". -name:Get Ref brach namerun:| echo "${{ steps.branch-names.outputs.ref_branch }}"# Outputs: "main" -name:Default branch namerun:| echo "${{ steps.branch-names.outputs.default_branch }}"# Outputs: "main" the default branch.
on:pull_request:branches: -main...steps: -name:Get branch namesid:branch-namesuses:tj-actions/branch-names@v8 -name:Current branch namesrun:| echo "${{ steps.branch-names.outputs.current_branch }}"# Outputs: "feature/test" current PR branch. -name:Running on a non tag based branch and a PR branch.if:steps.branch-names.outputs.is_default == 'false'run:| echo "Running on branch: ${{ steps.branch-names.outputs.current_branch }}"# Outputs: "Running on branch: feature/test". -name:Running on a pull request (i.e non tag based branch).if:steps.branch-names.outputs.is_tag == 'false' && steps.branch-names.outputs.is_default == 'false'run:| echo "Running on branch: ${{ steps.branch-names.outputs.current_branch }}"# Outputs: "Running on branch: feature/test". -name:Get Ref branch namerun:| echo "${{ steps.branch-names.outputs.ref_branch }}"# Outputs: "1/merge" -name:Get Head Ref branch names (i.e The current pull request branch)run:| echo "${{ steps.branch-names.outputs.head_ref_branch }}"# Outputs: "feature/test" current PR branch. -name:Get Base Ref branch names (i.e The target of a pull request.)run:| echo "${{ steps.branch-names.outputs.base_ref_branch }}"# Outputs: "main". -name:Default branch namesrun:| echo "${{ steps.branch-names.outputs.default_branch }}"# Outputs: "main" the default branch.
on:push:tags: -'*'...steps: -name:Get branch namesid:branch-namesuses:tj-actions/branch-names@v8with:strip_tag_prefix: v# Optionally strip the leading `v` from the tag. -name:Running on a tag branch.if:steps.branch-names.outputs.is_tag == 'true'run:| echo "Running on: ${{ steps.branch-names.outputs.tag }}"# Outputs: "Running on: 0.0.1". -name:Get the current tagif:steps.branch-names.outputs.is_tag == 'true'# Replaces: startsWith(github.ref, 'refs/tags/')run:| echo "${{ steps.branch-names.outputs.tag }}"# Outputs: "0.0.1"
See.github/workflows/test.yml for more examples.
Possible usage withactions/checkout
on:pull_request:branches: -developjobs:test:runs-on:ubuntu-lateststeps: -name:Get branch names.id:branch-namesuses:tj-actions/branch-names@v8 -uses:actions/checkout@v4with:ref:${{ steps.branch-names.outputs.head_ref_branch }}
- Free software:MIT license
This package was created withCookiecutter.
Report bugs athttps://github.com/tj-actions/branch-names/issues.
If you are reporting a bug, please include:
- Your operating system name and version.
- Any details about your workflow that might be helpful in troubleshooting.
- Detailed steps to reproduce the bug.
Thanks goes to these wonderful people (emoji key):
Alejandro Loarca 💻 | Ian Woodard 📖 | Raphael Boidol 📖 |
This project follows theall-contributors specification. Contributions of any kind welcome!
About
Github action to retrieve branch or tag names with support for all events.
Topics
Resources
License
Code of conduct
Security policy
Stars
Watchers
Forks
Packages0
No packages published