mirror of
https://github.com/actions/runner.git
synced 2025-12-11 21:06:55 +00:00
Update 0278-env-context.md (#299)
This commit is contained in:
@@ -15,6 +15,7 @@ User wants to reference workflow variables defined in workflow yaml file for act
|
|||||||
Runner will create and populate the `env` context for every job execution using following logic:
|
Runner will create and populate the `env` context for every job execution using following logic:
|
||||||
1. On job start, create `env` context with any environment variables in the job message, these are env defined in customer's YAML file's job/workflow level `env` section.
|
1. On job start, create `env` context with any environment variables in the job message, these are env defined in customer's YAML file's job/workflow level `env` section.
|
||||||
2. Update `env` context when customer use `::set-env::` to set env at the runner level.
|
2. Update `env` context when customer use `::set-env::` to set env at the runner level.
|
||||||
|
3. Update `env` context with step's `env` block before each step runs.
|
||||||
|
|
||||||
The `env` context is only available in the runner, customer can't use the `env` context in any server evaluation part, just like the `runner` context
|
The `env` context is only available in the runner, customer can't use the `env` context in any server evaluation part, just like the `runner` context
|
||||||
|
|
||||||
@@ -22,17 +23,25 @@ Example yaml:
|
|||||||
```yaml
|
```yaml
|
||||||
|
|
||||||
env:
|
env:
|
||||||
env1: 100
|
env1: 10
|
||||||
|
env2: 20
|
||||||
|
env3: 30
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
env:
|
env:
|
||||||
|
env1: 100
|
||||||
env2: 200
|
env2: 200
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- run: |
|
- run: |
|
||||||
echo ${{ env.env1 }}
|
echo ${{ env.env1 }} // 1000
|
||||||
if: env.env2 == 200
|
echo $env1 // 1000
|
||||||
name: ${{ env.env1 }}_${{ env.env2 }}
|
echo $env2 // 200
|
||||||
|
echo $env3 // 30
|
||||||
|
if: env.env2 == 200 // true
|
||||||
|
name: ${{ env.env1 }}_${{ env.env2 }} //1000_200
|
||||||
|
env:
|
||||||
|
env1: 1000
|
||||||
```
|
```
|
||||||
|
|
||||||
### Don't populate the `env` context with environment variables from runner machine.
|
### Don't populate the `env` context with environment variables from runner machine.
|
||||||
@@ -48,4 +57,4 @@ build:
|
|||||||
- uses: docker://ubuntu:18.04
|
- uses: docker://ubuntu:18.04
|
||||||
with:
|
with:
|
||||||
args: echo ${{env.USER}} <- what should customer expect this output? runner/root
|
args: echo ${{env.USER}} <- what should customer expect this output? runner/root
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user