https://gitea.com/gitea/runner/pulls/1358 mirrors every built-in `GITHUB_*` variable as `GITEA_*`. The variables page now lists both names for each, in the same paired style as the context table. It also adds variables that runners already set but the page left out (`*_ACTOR_ID`, `*_REF_PROTECTED`, `*_REPOSITORY_ID`, `*_REPOSITORY_OWNER_ID`, `*_TRIGGERING_ACTOR`, `*_WORKFLOW_SHA`, `ACT`, `ImageOS`, `RUNNER_DEBUG`, `RUNNER_ENVIRONMENT`, `RUNNER_NAME`, `RUNNER_WORKSPACE`, `TRACEPARENT`, `TRACESTATE`). Examples copied from GitHub's runner (`/home/runner/work/_temp/...` paths, `__run`, `ghs_***`) are replaced with the values gitea-runner and Gitea actually produce, using placeholder users, repositories and instance URLs. The zh-cn and zh-tw pages get the environment variable section they never had. Reviewed-on: https://gitea.com/gitea/docs/pulls/618 Reviewed-by: Lunny Xiao <[email protected]> Co-authored-by: silverwind <[email protected]>
19 KiB
date, slug, sidebar_position
| date | slug | sidebar_position |
|---|---|---|
| 2024-04-10T22:21:00+08:00 | actions-variables | 25 |
Variables
Environment variables
These environment variables are set automatically in every workflow run and can be accessed directly (e.g. $CI in shell scripts).
A GITEA_* name listed with a GITHUB_* name holds the same value.
| Name | Description | Example |
|---|---|---|
ACT |
Always set to true, unless the runner is configured with runner.set_act_env: false. |
true |
CI |
Always set to true. |
true |
GITEA_ACTIONGITHUB_ACTION |
The id of the current step, or its index when it has none. |
0 |
GITEA_ACTION_PATHGITHUB_ACTION_PATH |
The path where the action is located. Only set in composite actions. | /var/run/act/actions/*** |
GITEA_ACTION_REFGITHUB_ACTION_REF |
The ref of the action being executed. | v4 |
GITEA_ACTION_REPOSITORYGITHUB_ACTION_REPOSITORY |
The owner and repository of the action. | actions/checkout |
GITEA_ACTIONSGITHUB_ACTIONS |
Always set to true. GITEA_ACTIONS is useful to distinguish Gitea Actions from other CI systems. |
true |
GITEA_ACTIONS_RUNNER_VERSION |
The version of the runner executing the workflow. | v5.2.4 |
GITEA_ACTORGITHUB_ACTOR |
The username of the user that triggered the workflow. | alice |
GITEA_ACTOR_IDGITHUB_ACTOR_ID |
The ID of the user that triggered the workflow. | 1 |
GITEA_API_URLGITHUB_API_URL |
The URL of the REST API. | https://gitea.example.com/api/v1 |
GITEA_BASE_REFGITHUB_BASE_REF |
The target branch of a pull request. | main |
GITEA_DOCKER_WORKSPACE |
The workspace path as the Docker daemon sees it, for bind mounts into containers a job starts, e.g. ${GITEA_DOCKER_WORKSPACE:-.}/data:/app/data in a compose file. Only set for jobs running in a container. |
/var/lib/docker/volumes/GITEA-ACTIONS-TASK-42-***/_data |
GITEA_ENVGITHUB_ENV |
Path to the file that sets environment variables for subsequent steps. | /var/run/act/workflow/envs.txt |
GITEA_EVENT_NAMEGITHUB_EVENT_NAME |
The name of the event that triggered the workflow. | push |
GITEA_EVENT_PATHGITHUB_EVENT_PATH |
Path to the file containing the event webhook payload. | /var/run/act/workflow/event.json |
GITEA_GRAPHQL_URLGITHUB_GRAPHQL_URL |
Empty in Gitea (GraphQL is not supported). | (empty) |
GITEA_HEAD_REFGITHUB_HEAD_REF |
The source branch of a pull request. | feature-branch |
GITEA_JOBGITHUB_JOB |
The job_id of the current job. |
build |
GITEA_OUTPUTGITHUB_OUTPUT |
Path to the file that sets step output parameters. | /var/run/act/workflow/outputcmd.txt |
GITEA_PATHGITHUB_PATH |
Path to the file that adds system PATH entries for subsequent steps. |
/var/run/act/workflow/pathcmd.txt |
GITEA_REFGITHUB_REF |
The fully-formed ref that triggered the workflow. | refs/heads/main |
GITEA_REF_NAMEGITHUB_REF_NAME |
The short ref name. | main |
GITEA_REF_PROTECTEDGITHUB_REF_PROTECTED |
true if branch protections are configured for the ref that triggered the workflow. |
true |
GITEA_REF_TYPEGITHUB_REF_TYPE |
The type of ref: branch or tag. |
branch |
GITEA_REPOSITORYGITHUB_REPOSITORY |
The owner and repository name. | owner/repo |
GITEA_REPOSITORY_IDGITHUB_REPOSITORY_ID |
The ID of the repository. | 123 |
GITEA_REPOSITORY_OWNERGITHUB_REPOSITORY_OWNER |
The repository owner's username. | owner |
GITEA_REPOSITORY_OWNER_IDGITHUB_REPOSITORY_OWNER_ID |
The ID of the repository owner. | 45 |
GITEA_RETENTION_DAYSGITHUB_RETENTION_DAYS |
The number of days that artifacts are kept, empty when kept forever. | 90 |
GITEA_RUN_ATTEMPTGITHUB_RUN_ATTEMPT |
The attempt number of the workflow run. | 1 |
GITEA_RUN_IDGITHUB_RUN_ID |
A unique number for each workflow run. | 1234 |
GITEA_RUN_NUMBERGITHUB_RUN_NUMBER |
A unique number for each run of a particular workflow. | 42 |
GITEA_SERVER_URLGITHUB_SERVER_URL |
The URL of the Gitea instance. | https://gitea.example.com |
GITEA_SHAGITHUB_SHA |
The commit SHA that triggered the workflow. | a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 |
GITEA_STATEGITHUB_STATE |
Path to the file that sets step state variables. | /var/run/act/workflow/statecmd.txt |
GITEA_STEP_SUMMARYGITHUB_STEP_SUMMARY |
Path to the file for writing job summaries. | /var/run/act/workflow/step-summary-0.md |
GITEA_TRIGGERING_ACTORGITHUB_TRIGGERING_ACTOR |
The username of the user that initiated the workflow run. May differ from GITEA_ACTOR on re-runs. |
alice |
GITEA_WORKFLOWGITHUB_WORKFLOW |
The name of the workflow. | CI |
GITEA_WORKFLOW_SHAGITHUB_WORKFLOW_SHA |
The commit SHA of the workflow file. | a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 |
GITEA_WORKSPACEGITHUB_WORKSPACE |
The default working directory on the runner. | /workspace/owner/repo |
TRACEPARENT |
The W3C trace context of the job's span, so instrumented tools can add spans to the job's trace. Only set when the runner exports traces, see Monitoring. | 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01 |
TRACESTATE |
Vendor-specific trace data that accompanies TRACEPARENT. Only set when the trace carries any. |
rojo=00f067aa0ba902b7 |
Runner environment variables
| Name | Description | Example |
|---|---|---|
ImageOS |
The OS and release of the job's image, read by setup-* actions. |
ubuntu24 |
RUNNER_ARCH |
The architecture of the runner. | X64 |
RUNNER_DEBUG |
Set to 1 when the ACTIONS_STEP_DEBUG secret is true, unset otherwise. |
1 |
RUNNER_ENVIRONMENT |
Always set to self-hosted. |
self-hosted |
RUNNER_NAME |
The name of the runner executing the job. | my-runner |
RUNNER_OS |
The operating system of the runner. | Linux |
RUNNER_TEMP |
Path to a temporary directory on the runner. | /tmp |
RUNNER_TOOL_CACHE |
Path to the tool cache directory on the runner. | /opt/hostedtoolcache |
RUNNER_WORKSPACE |
The parent directory of GITEA_WORKSPACE. |
/workspace/owner |
Internal environment variables
These are used internally by the runner and actions. They are typically not needed in workflows directly.
| Name | Description | Example |
|---|---|---|
ACTIONS_CACHE_URL |
URL for the actions cache service. | http://192.168.1.10:8088/ |
ACTIONS_ID_TOKEN_REQUEST_TOKEN |
Token for OIDC requests. Only set when id-token: write is granted. |
*** |
ACTIONS_ID_TOKEN_REQUEST_URL |
URL to request OIDC tokens. Only set when id-token: write is granted. |
https://gitea.example.com/api/actions/oidc/token? |
ACTIONS_RESULTS_URL |
URL for storing artifacts. | https://gitea.example.com |
ACTIONS_RUNTIME_TOKEN |
Authentication token for the Actions pipeline API. | *** |
ACTIONS_RUNTIME_URL |
URL for the Gitea Actions pipeline API. | https://gitea.example.com/api/actions_pipeline/ |
Context variables
These variables are available in workflow expressions via ${{ gitea.<name> }}. For compatibility, ${{ github.<name> }} works as an alias.
| Name | Description | Example |
|---|---|---|
gitea.actiongithub.action |
The id of the current step, or its index when it has none. |
0 |
gitea.action_pathgithub.action_path |
The path where an action is located. Only supported in composite actions. | /var/run/act/actions/*** |
gitea.action_refgithub.action_ref |
The ref of the action being executed. | v4 |
gitea.action_repositorygithub.action_repository |
The owner and repository name of the action. | actions/checkout |
gitea.action_statusgithub.action_status |
The current result of a composite action. | success |
gitea.actorgithub.actor |
The username of the user that triggered the initial workflow run. | alice |
gitea.api_urlgithub.api_url |
The URL of the REST API. | https://gitea.example.com/api/v1 |
gitea.base_refgithub.base_ref |
The target branch of a pull request. Only set for pull_request and pull_request_target events. |
main |
gitea.envgithub.env |
Path on the runner to the file that sets environment variables from workflow commands. | /var/run/act/workflow/envs.txt |
gitea.eventgithub.event |
The full event webhook payload as an object. See Event payload. | {...} |
gitea.event_namegithub.event_name |
The name of the event that triggered the workflow run. | push |
gitea.event_pathgithub.event_path |
Path on the runner to the file containing the full event webhook payload. | /var/run/act/workflow/event.json |
gitea.head_refgithub.head_ref |
The source branch of a pull request. Only set for pull_request and pull_request_target events. |
feature-branch |
gitea.jobgithub.job |
The job_id of the current job. |
build |
gitea.refgithub.ref |
The fully-formed ref that triggered the workflow. | refs/heads/main |
gitea.ref_namegithub.ref_name |
The short ref name. | main |
gitea.ref_protectedgithub.ref_protected |
true if branch protections are configured for the ref that triggered the workflow run. |
true |
gitea.ref_typegithub.ref_type |
The type of ref: branch or tag. |
branch |
gitea.pathgithub.path |
Path on the runner to the file that sets system PATH variables from workflow commands. |
/var/run/act/workflow/pathcmd.txt |
gitea.repositorygithub.repository |
The owner and repository name. | owner/repo |
gitea.repository_ownergithub.repository_owner |
The repository owner's username. | owner |
gitea.repositoryUrlgithub.repositoryUrl |
The HTML URL to the repository. | https://gitea.example.com/owner/repo |
gitea.retention_daysgithub.retention_days |
The number of days that artifacts are kept, empty when kept forever. | 90 |
gitea.run_idgithub.run_id |
A unique number for each workflow run within a repository. Does not change on re-run. | 1234 |
gitea.run_numbergithub.run_number |
A unique number for each run of a particular workflow. Starts at 1 and increments with each new run. | 42 |
gitea.run_attemptgithub.run_attempt |
A unique number for each re-run attempt. Starts at 1 and increments with each re-run. | 1 |
gitea.secret_sourcegithub.secret_source |
The source of a secret used in a workflow. Always Actions in Gitea. |
Actions |
gitea.server_urlgithub.server_url |
The URL of the Gitea instance. | https://gitea.example.com |
gitea.shagithub.sha |
The commit SHA that triggered the workflow. | a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 |
gitea.tokengithub.token |
A token to authenticate on behalf of the Gitea App installed on the repository. See Token permissions. | *** |
gitea.triggering_actorgithub.triggering_actor |
The username of the user that initiated the workflow run. May differ from actor on re-runs. |
alice |
gitea.workflowgithub.workflow |
The name of the workflow. If unnamed, the full path of the workflow file. | CI |
gitea.workspacegithub.workspace |
The default working directory on the runner and the default location of your repository when using the checkout action. |
/workspace/owner/repo |
gitea.gitea_default_actions_url |
The default URL for downloading actions. Gitea-specific. | https://github.com |
Event payload
gitea.event is the webhook payload of the event that triggered the run, so which fields exist depends on gitea.event_name.
The same payload is written as JSON to the file at gitea.event_path.
Payloads use Gitea's webhook format, which is close to GitHub's but not identical. Differences are noted below.
Reading a field that the payload does not have returns an empty value instead of failing, so ${{ gitea.event.pull_request.number }} is empty on a push run.
These fields exist in almost every payload:
| Name | Description | Example |
|---|---|---|
gitea.event.action |
The activity type. Only set for events that have activity types, see supported events. | opened |
gitea.event.repository.full_name |
The owner and name of the repository. | owner/repo |
gitea.event.repository.default_branch |
The default branch of the repository. | main |
gitea.event.repository.private |
Whether the repository is private. | false |
gitea.event.repository.html_url |
The HTML URL of the repository. | https://gitea.example.com/owner/repo |
gitea.event.sender.login |
The username of the user that triggered the event. Also available as sender.username. |
alice |
The remaining fields are specific to one or a few events:
| Name | Events | Description | Example |
|---|---|---|---|
gitea.event.schedule |
schedule |
The cron expression that triggered the run. | */5 * * * * |
gitea.event.inputs.<name> |
workflow_dispatch, workflow_call |
A raw input value. Prefer ${{ inputs.<name> }}, which also applies the input's default. |
true |
gitea.event.workflow |
workflow_dispatch |
The file name of the dispatched workflow. | ci.yaml |
gitea.event.ref |
push, create, delete, workflow_dispatch |
The ref of the event. Unlike GitHub, create and delete use the full ref instead of the short name. |
refs/heads/main |
gitea.event.ref_type |
create, delete |
The type of ref: branch or tag. |
tag |
gitea.event.beforegitea.event.after |
push |
The commit SHA before and after the push. | a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 |
gitea.event.commits |
push |
The commits contained in the push, each with id, message, url, author, added, removed and modified. |
[{...}] |
gitea.event.head_commit.message |
push |
The message of the most recent commit of the push. | fix: broken link |
gitea.event.total_commits |
push |
The number of commits in the push. Gitea-specific. | 3 |
gitea.event.compare_url |
push |
The URL comparing before with after. GitHub names this field compare. |
https://gitea.example.com/owner/repo/compare/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2...f6e5d4c3b2a1f6e5d4c3b2a1f6e5d4c3b2a1f6e5 |
gitea.event.pusher.login |
push |
The username of the user that pushed. | alice |
gitea.event.forkee.full_name |
fork |
The owner and name of the new fork. | alice/repo |
gitea.event.page |
gollum |
The name of the wiki page. | Home |
gitea.event.number |
issues, pull_request, pull_request_target, pull_request_review, pull_request_review_comment |
The index of the issue or pull request. Not set for issue_comment, use gitea.event.issue.number there. |
386 |
gitea.event.issue.numbergitea.event.issue.titlegitea.event.issue.bodygitea.event.issue.stategitea.event.issue.labelsgitea.event.issue.user.login |
issues, issue_comment |
The issue the event happened on. | Fix typo in README |
gitea.event.comment.body |
issue_comment |
The body of the comment. | LGTM |
gitea.event.is_pull |
issue_comment |
Whether the comment was made on a pull request. Gitea-specific, GitHub sets issue.pull_request on the issue object instead. |
true |
gitea.event.pull_request.numbergitea.event.pull_request.titlegitea.event.pull_request.bodygitea.event.pull_request.draftgitea.event.pull_request.mergedgitea.event.pull_request.stategitea.event.pull_request.labelsgitea.event.pull_request.user.login |
pull_request, pull_request_target, pull_request_review, pull_request_review_comment |
The pull request the event happened on. | Add caching to CI |
gitea.event.pull_request.head.refgitea.event.pull_request.head.shagitea.event.pull_request.head.repo.full_name |
pull_request, pull_request_target, pull_request_review, pull_request_review_comment |
The source branch of the pull request. | feature-branch |
gitea.event.pull_request.base.refgitea.event.pull_request.base.sha |
pull_request, pull_request_target, pull_request_review, pull_request_review_comment |
The target branch of the pull request. | main |
gitea.event.review.type |
pull_request_review, pull_request_review_comment |
The kind of review: pull_request_review_approved, pull_request_review_rejected or pull_request_review_comment. GitHub uses review.state with the values approved, changes_requested and commented. |
pull_request_review_approved |
gitea.event.review.content |
pull_request_review, pull_request_review_comment |
The body of the review. GitHub names this field review.body. |
Ship it |
gitea.event.changes.title.fromgitea.event.changes.body.from |
issues, issue_comment, pull_request |
The previous value. Only set when action is edited. |
Old title |
gitea.event.release.tag_namegitea.event.release.namegitea.event.release.bodygitea.event.release.draftgitea.event.release.prerelease |
release |
The release the event happened on. | v1.2.3 |
gitea.event.package.namegitea.event.package.typegitea.event.package.version |
registry_package |
The package the event happened on. | gitea |
gitea.event.workflow_run.idgitea.event.workflow_run.eventgitea.event.workflow_run.statusgitea.event.workflow_run.conclusiongitea.event.workflow_run.head_branchgitea.event.workflow_run.head_sha |
workflow_run |
The workflow run that the event reports on. | success |
schedule runs have no webhook of their own. Their payload is the payload of the push that registered the schedule, with schedule, repository, sender and, for organization-owned repositories, organization filled in.
Only those fields are meaningful, and sender.login is always gitea-actions.
User-defined variables
You can create configuration variables on the user, organization and repository level. The level of the variable depends on where you created it. When creating a variable, the key will be converted to uppercase. You need use uppercase on the yaml file.
Naming conventions
The following rules apply to variable names:
- Variable names can only contain alphanumeric characters (
[a-z],[A-Z],[0-9]) or underscores (_). Spaces are not allowed. - Variable names must not start with the
GITHUB_andGITEA_prefix. - Variable names must not start with a number.
- Variable names are case-insensitive.
- Variable names must be unique at the level they are created at.
- Variable names must not start with
CI.
Using variables
After creating configuration variables, they will be automatically filled in the vars context.
They can be accessed through expressions like ${{ vars.VARIABLE_NAME }} in the workflow.
Precedence
If a variable with the same name exists at multiple levels, the variable at the lowest level takes precedence: A repository variable will always be chosen over an organization/user variable.