name: 10 - Environment Workflow on: schedule: - cron: "0 8 * * MON-FRI" # Runs at 08:00 UTC workflow_dispatch: env: WORKFLOW_VARIABLE: WORKFLOW jobs: job1: runs-on: ubuntu-latest env: JOB_VARIABLE: JOB steps: - name: Run Commands with various variables if: ${{ env.WORKFLOW_VARIABLE == 'WORKFLOW' }} env: STEP_VARIABLE: STEP run: | echo "Hello World" echo "This is the $WORKFLOW_VARIABLE environment variable" echo "This is the $JOB_VARIABLE environment variable" echo "This is the $STEP_VARIABLE environment variable" job2: runs-on: ubuntu-latest env: JOB_VARIABLE: JOB2 steps: - name: Run Commands with WORKFLOW variable if: ${{ env.WORKFLOW_VARIABLE != 'WORKFLOW' }} run: | echo "Hello World" echo "This is the $WORKFLOW_VARIABLE environment" echo "This is a step variable: $STEP_VARIABLE" env: STEP_VARIABLE: my step variable value that could also be a secret - name: Run Commands with JOB variable if: ${{ env.JOB_VARIABLE == 'JOB2' }} run: | echo "Hello World" echo "This is the $JOB_VARIABLE environment" echo "My name is $FIRST_STEP_VARIABLE $second_step_variable" env: FIRST_STEP_VARIABLE: Guillaume second_step_variable: Falourd job3: runs-on: ubuntu-latest steps: - name: Set the value id: step_1 run: | echo "action_state=yellow" >> $GITHUB_ENV - name: Use the value id: step_2 run: | echo "${{ env.action_state }}" # This will output 'yellow' job4: runs-on: ubuntu-latest environment: test steps: - name: Show repo env secret run: | echo ${{ secrets.REPO_ENV_SECRET }} # Deprecated with https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/ # job3: # runs-on: ubuntu-latest # steps: # - name: step-1 # run: echo "::set-env name=IP_ADDRESS::$(curl -s ifconfig.me)" # - name: step-2 # run: echo "$IP_ADDRESS"