Use jobs.<job_id>.env
to define variables for all steps in a job.
You can also set variables for the entire workflow or for an individual step.
env
variables with the same name follow specificity precedence. In the following example, the environment variable SERVER: development
defined in a step overrides SERVER: production
defined in my-job
, while the step executes.
my-job: env: SERVER: production steps: - name: My first step env: SERVER: development uses: docker://alpine:3.18 run: echo "Hello $SERVER" #prints "Hello development" - name: My second step uses: docker://alpine:3.18 run: echo "Hello $SERVER" #prints "Hello production"