This GitHub Action will expose the slug/short values of some GitHub environment variables inside your GitHub workflow.
SLUG
on a variable will
- put the variable content in lower case
- replace any character by
-
except0-9
,a-z
,.
, and_
- remove leading and trailing
-
character - limit the string size to 63 characters
Others Slug-ish commands are available
-
SLUG_URL
on a variable to have aslug
variable compliant to be used in an URL- Like
SLUG
but.
is also replaced by-
- Like
-
SHORT
on a variable will limit the string size to 8 characters- Useful for sha value
-
<KEY>_PART
on a variable will give a part of a variable defined by a key- Like
GITHUB_REPOSITORY_OWNER_PART
for the owner part ofGITHUB_REPOSITORY
- Like
-
<VAR>_CS
on others variables to keep the value case-sensitive- Like
GITHUB_REF_SLUG_CS
- Like
Add this in your workflow
- name: Inject slug/short variables
uses: rlespinasse/[email protected]
Check for more examples (OS usage, URL use, ...)
Tip: Use Dependabot to maintain your github-slug-action
version updated in your GitHub workflows.
Note: If you don't find what you search for, read more about available GitHub
variables, and propose a new custom variable.
Variable | Partial version of | Description |
---|---|---|
GITHUB_REPOSITORY_OWNER_PART | GITHUB_REPOSITORY | The Owner part of GITHUB_REPOSITORY variable |
GITHUB_REPOSITORY_NAME_PART | GITHUB_REPOSITORY | The Repository name part of GITHUB_REPOSITORY variable |
NOTE: _CS
suffix available
Variable | Slug version of | Description |
---|---|---|
GITHUB_REPOSITORY_SLUG | GITHUB_REPOSITORY | The owner and repository name. |
GITHUB_REPOSITORY _OWNER_PART_SLUG |
GITHUB_REPOSITORY_OWNER_PART | The owner name. |
GITHUB_REPOSITORY _NAME_PART_SLUG |
GITHUB_REPOSITORY_NAME_PART | The repository name. |
GITHUB_REF_SLUG | GITHUB_REF | The branch or tag ref that triggered the workflow. |
GITHUB_HEAD_REF_SLUG | GITHUB_HEAD_REF | The branch of the head repository. Only set for pull-request event and forked repositories. |
GITHUB_BASE_REF_SLUG | GITHUB_BASE_REF | The branch of the base repository. Only set for pull-request event and forked repositories. |
GITHUB_EVENT_REF_SLUG | github.event.ref | Only set for [following webhook events][4]
|
NOTE: _CS
suffix available
Variable | Slug URL version of | Description |
---|---|---|
GITHUB_REPOSITORY_SLUG_URL | GITHUB_REPOSITORY | The owner and repository name. |
GITHUB_REPOSITORY _OWNER_PART_SLUG_URL |
GITHUB_REPOSITORY_OWNER_PART | The owner name. |
GITHUB_REPOSITORY _NAME_PART_SLUG_URL |
GITHUB_REPOSITORY_NAME_PART | The repository name. |
GITHUB_REF_SLUG_URL | GITHUB_REF | The branch or tag ref that triggered the workflow. |
GITHUB_HEAD_REF_SLUG_URL | GITHUB_HEAD_REF | The branch of the head repository. Only set for [pull-request][4] event and forked repositories. |
GITHUB_BASE_REF_SLUG_URL | GITHUB_BASE_REF | The branch of the base repository. Only set for [pull-request][4] event and forked repositories. |
GITHUB_EVENT_REF_SLUG_URL | github.event.ref | Only set for [following webhook events][4]
|
Variable | Short version of | Description |
---|---|---|
GITHUB_SHA_SHORT | GITHUB_SHA | The commit SHA that triggered the workflow. |
GITHUB_EVENT _PULL_REQUEST _HEAD_SHA_SHORT |
github.event .pull_request .head.sha |
The commit SHA on pull request that trigger workflow. Only set for [following webhook events][4]
|
Follow Developers guide
Note: GitHub reserves the GITHUB_
environment variable prefix for internal use by GitHub. Setting an environment variable or secret with the GITHUB_
prefix will result in an error.
Currently, a GitHub workflow setting a GITHUB_
variable don't ended up in error.
And if a custom GITHUB_
variable is in conflict with an official GITHUB_
variable, the offical GITHUB_
variable will override custom one.
Test workflow
name: Test
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo ${GITHUB_REF}
# print "refs/heads/v3.x"
- run: echo "GITHUB_REF=one_value" >> "$GITHUB_ENV"
- run: echo ${GITHUB_REF}
# print "refs/heads/v3.x"
- run: echo "GITHUB_REF_SLUG=another_value" >> "$GITHUB_ENV"
- run: echo ${GITHUB_REF_SLUG}
# print "another_value"
If your workflow fail on the Set up job
task with this kind of log :
Download action repository 'rlespinasse/github-slug-action@master'
##[error]An action could not be found at the URI 'https://api.github.com/repos/rlespinasse/github-slug-action/tarball/master'
The master branch don't exists anymore.
The master branch EOL have been set to 2020-10-25 after a 6-month deprecation period (more information on the EOL issue)
Please, use the current branch v3.x
or a version tag (see releases pages) in order to fix your workflow.
- Mettre en place une CI/CD Angular avec GitHub Actions & Netlify (in french 🇫🇷)
- Github Actions : enfin des pipelines accessibles aux développeurs (in french 🇫🇷)
- The next one is you. Don't hesitate to add you to this list.