diff --git a/docs/adrs/0278-env-context.md b/docs/adrs/0278-env-context.md index a16cd45d0..4fe4ff264 100644 --- a/docs/adrs/0278-env-context.md +++ b/docs/adrs/0278-env-context.md @@ -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: 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. +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 @@ -22,17 +23,25 @@ Example yaml: ```yaml env: - env1: 100 + env1: 10 + env2: 20 + env3: 30 jobs: build: env: + env1: 100 env2: 200 runs-on: ubuntu-latest steps: - run: | - echo ${{ env.env1 }} - if: env.env2 == 200 - name: ${{ env.env1 }}_${{ env.env2 }} + echo ${{ env.env1 }} // 1000 + echo $env1 // 1000 + 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. @@ -48,4 +57,4 @@ build: - uses: docker://ubuntu:18.04 with: args: echo ${{env.USER}} <- what should customer expect this output? runner/root -``` \ No newline at end of file +```