mirror of
https://github.com/FranzDiebold/github-env-vars-action.git
synced 2024-11-25 10:11:01 -05:00
🚀 GitHub Action for Environment Variables
e59d29ab3b
Default CI_SHA/GITHUB_SHA is the sha of _expect-to-be_ merge/squash/etc commit of the pull requests, and it can be very confusing. If you mark you artifacts with it, its very hard to trace back what was the actual commit. CI_PR_SHA is the way I solved it for my use cases and I can see im not the first one with this problem. Fixes #30 |
||
---|---|---|
.devcontainer | ||
.github | ||
dist | ||
images | ||
.editorconfig | ||
.eslintrc.json | ||
.gitignore | ||
action.yml | ||
index.js | ||
index.test.js | ||
LICENSE | ||
Makefile | ||
package-lock.json | ||
package.json | ||
README.md |
:octocat: 🚀 GitHub Environment Variables Action
A GitHub Action to expose useful environment variables.
Environment Variables exposed by this Action
Environment Variable Name | Description | Example value |
---|---|---|
CI_REPOSITORY_SLUG |
The slug of the owner and repository name (i.e. slug of FranzDiebold/github-env-vars-action ). |
franzdiebold-github-env-vars-action |
CI_REPOSITORY_OWNER |
The owner of the repository. | FranzDiebold |
CI_REPOSITORY_OWNER_SLUG |
The slug of the owner of the repository. | franzdiebold |
CI_REPOSITORY_NAME |
The name of the repository. | github-env-vars-action |
CI_REPOSITORY_NAME_SLUG |
The slug of the name of the repository. | github-env-vars-action |
CI_REPOSITORY |
The owner and repository name. Copy of GITHUB_REPOSITORY - for reasons of completeness. |
FranzDiebold/github-env-vars-action |
CI_REF_SLUG |
The slug of the branch, tag or PR number ref that triggered the workflow (i.e. slug of refs/heads/feat/feature-branch-1 ). If neither a branch, tag or PR number is available for the event type, the variable will not exist. |
refs-heads-feat-feature-branch-1 orrefs-tags-v1-3-7 orrefs-pull-42-merge |
CI_ACTION_REF_NAME |
The branch or tag name that triggered the workflow. For pull requests it is the head branch name. | feat/feature-branch-1 orv1.3.7 |
CI_ACTION_REF_NAME_SLUG |
The slug of the branch or tag name that triggered the workflow. For pull requests it is the slug of the head branch name. | feat-feature-branch-1 orv1-3-7 |
CI_REF_NAME |
The branch name, tag name or PR number that triggered the workflow. If neither a branch, tag or PR number is available for the event type, the variable will not exist. |
feat/feature-branch-1 orv1.3.7 or42/merge |
CI_REF_NAME_SLUG |
The slug of the branch name, tag name or PR number that triggered the workflow. If neither a branch, tag or PR number is available for the event type, the variable will not exist. |
feat-feature-branch-1 orv1-3-7 or42-merge |
CI_REF |
The branch, tag or PR number ref that triggered the workflow. If neither a branch, tag or PR number is available for the event type, the variable will not exist. Copy of GITHUB_REF - for reasons of completeness. |
refs/heads/feat/feature-branch-1 orrefs/tags/v1.3.7 orrefs/pull/42/merge |
CI_HEAD_REF_SLUG |
The slug of the head branch name. Only set for event type pull request or forked repositories. |
feat-feature-branch-1 |
CI_HEAD_REF |
Only set for forked repositories / pull request. The branch of the head repository / the head branch name. Copy of GITHUB_HEAD_REF - for reasons of completeness. |
feat/feature-branch-1 |
CI_BASE_REF_SLUG |
The slug of the base branch name. Only set for event type pull request or forked repositories. |
main |
CI_BASE_REF |
Only set for forked repositories / pull request. The branch of the base repository / the base branch name. Copy of GITHUB_BASE_REF - for reasons of completeness. |
main |
CI_SHA_SHORT |
The shortened commit SHA (8 characters) that triggered the workflow. | ffac537e |
CI_SHA |
The commit SHA that triggered the workflow. Copy of GITHUB_SHA - for reasons of completeness. |
ffac537e6cbbf934b08745a378932722df287a53 |
CI_PR_SHA_SHORT |
The shortened latest commit SHA in the pull request's base branch. Short version of CI_PR_SHA . Only set for pull requests. |
010b249 |
CI_PR_SHA |
The latest commit SHA in the pull request's base branch. Long version of CI_PR_SHA_SHORT . Only set for pull requests. |
010b2491902d50e8623934f5bc43763ff5991642 |
CI_PR_NUMBER |
The number of the pull request. Only set for pull requests. | 42 |
CI_PR_ID |
Copy of CI_PR_NUMBER for completeness. |
42 |
CI_PR_TITLE |
The title of the pull request. Only set for pull requests. | Add feature xyz. |
CI_PR_DESCRIPTION |
The description of the pull request. Only set for pull requests. | The feature xyz is the [...] |
CI_ACTOR |
The name of the person or app that initiated the workflow. Copy of GITHUB_ACTOR - for reasons of completeness. |
octocat |
CI_EVENT_NAME |
The name of the webhook event that triggered the workflow. Copy of GITHUB_EVENT_NAME - for reasons of completeness. |
push or pull_request |
CI_RUN_ID |
A unique number for each run within a repository. This number does not change if you re-run the workflow run. Copy of GITHUB_RUN_ID - for reasons of completeness. |
397746731 |
CI_RUN_NUMBER |
A unique number for each run of a particular workflow in a repository. This number begins at 1 for the workflow's first run, and increments with each new run. This number does not change if you re-run the workflow run. Copy of GITHUB_RUN_NUMBER - for reasons of completeness. |
73 |
CI_WORKFLOW |
The name of the workflow. Copy of GITHUB_WORKFLOW - for reasons of completeness. |
Demo |
CI_ACTION |
The unique identifier (id ) of the action. Copy of GITHUB_ACTION - for reasons of completeness. |
run2 |
The slugified values are designed to be used in a URL.
Default Environment Variables exposed by GitHub
For a full list of default environment variables exposed by GitHub see https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables#default-environment-variables.
Environment Variable Name | Description | Example value |
---|---|---|
GITHUB_ACTOR |
The name of the person or app that initiated the workflow. | octocat |
GITHUB_REPOSITORY |
The owner and repository name. | FranzDiebold/github-env-vars-action |
GITHUB_SHA |
The commit SHA that triggered the workflow. | ffac537e6cbbf934b08745a378932722df287a53 |
GITHUB_REF |
The branch or tag ref that triggered the workflow. If neither a branch or tag is available for the event type, the variable will not exist. |
refs/heads/feat/feature-branch-1 |
GITHUB_HEAD_REF |
Only set for forked repositories / pull request. The branch of the head repository / the head branch name. | feat/feature-branch-1 |
GITHUB_BASE_REF |
Only set for forked repositories / pull request. The branch of the base repository / the base branch name. | main |
GITHUB_EVENT_NAME |
The name of the webhook event that triggered the workflow. | push |
GITHUB_RUN_ID |
A unique number for each run within a repository. This number does not change if you re-run the workflow run. | 397746731 |
GITHUB_RUN_NUMBER |
A unique number for each run of a particular workflow in a repository. This number begins at 1 for the workflow's first run, and increments with each new run. This number does not change if you re-run the workflow run. | 73 |
GITHUB_WORKFLOW |
The name of the workflow. | Demo |
GITHUB_ACTION |
The unique identifier (id ) of the action. |
run2 |
🚀 Example usage
steps:
- uses: FranzDiebold/github-env-vars-action@v2
- name: Print environment variables
run: |
echo "CI_REPOSITORY_SLUG=$CI_REPOSITORY_SLUG"
echo "CI_REPOSITORY_OWNER=$CI_REPOSITORY_OWNER"
echo "CI_REPOSITORY_OWNER_SLUG=$CI_REPOSITORY_OWNER_SLUG"
echo "CI_REPOSITORY_NAME=$CI_REPOSITORY_NAME"
echo "CI_REPOSITORY_NAME_SLUG=$CI_REPOSITORY_NAME_SLUG"
echo "CI_REPOSITORY=$CI_REPOSITORY"
echo "CI_REF_SLUG=$CI_REF_SLUG"
echo "CI_ACTION_REF_NAME=$CI_ACTION_REF_NAME"
echo "CI_ACTION_REF_NAME_SLUG=$CI_ACTION_REF_NAME_SLUG"
echo "CI_REF_NAME=$CI_REF_NAME"
echo "CI_REF_NAME_SLUG=$CI_REF_NAME_SLUG"
echo "CI_REF=$CI_REF"
echo "CI_HEAD_REF_SLUG=$CI_HEAD_REF_SLUG"
echo "CI_HEAD_REF=$CI_HEAD_REF"
echo "CI_BASE_REF_SLUG=$CI_BASE_REF_SLUG"
echo "CI_BASE_REF=$CI_BASE_REF"
echo "CI_SHA_SHORT=$CI_SHA_SHORT"
echo "CI_SHA=$CI_SHA"
echo "CI_ACTOR=$CI_ACTOR"
echo "CI_EVENT_NAME=$CI_EVENT_NAME"
echo "CI_RUN_ID=$CI_RUN_ID"
echo "CI_RUN_NUMBER=$CI_RUN_NUMBER"
echo "CI_WORKFLOW=$CI_WORKFLOW"
echo "CI_ACTION=$CI_ACTION"
Demo
A demo for all Operating systems (Linux, macOS and Windows) is also available in the demo workflows file of this repository!