name: 08 - Outputs Workflow on: schedule: - cron: "0 6 * * MON-FRI" # Runs at 6:00 UTC workflow_dispatch: jobs: job1: runs-on: ubuntu-latest # Map a step output to a job output outputs: output1: ${{ steps.step1.outputs.test }} output2: ${{ steps.step2.outputs.test }} steps: - id: step1 run: echo "::set-output name=test::hello" - id: step2 run: echo "::set-output name=test::world" job2: runs-on: ubuntu-latest # Wait from the job1 to be completed before starting job2 needs: job1 steps: - run: echo ${{needs.job1.outputs.output1}} ${{needs.job1.outputs.output2}} job3: runs-on: ubuntu-latest needs: [job1, job2] steps: - run: echo "Goodbye" job4: runs-on: ubuntu-latest steps: - name: step-1 id: xyz run: echo "::set-output name=ip-address::$(curl -s ifconfig.me)" - name: step-2 run: echo "${{ steps.xyz.outputs.ip-address }}" - name: step-3 run: | echo '{ "ip-address": "${{ steps.xyz.outputs.ip-address }}" }' job5: runs-on: ubuntu-latest steps: - name: step-1 id: xyz run: echo "::set-output name=acc::$(echo $RANDOM)" - name: step-2 if: steps.xyz.outputs.acc < 1 run: | echo "Number lower than 1" echo "${{ steps.xyz.outputs.acc }}" - name: step-3 if: steps.xyz.outputs.acc > 1 run: | echo "Number higher than 1" echo "${{ steps.xyz.outputs.acc }}" # job6: # runs-on: ubuntu-latest # steps: # - name: step-1 # id: wxyz # uses: actions/create-release@v1 # with: # tag_name: 0.0.1 # release_name: 0.0.1 # body: "This is release 0.0.1" # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # - name: step-2 # run: echo "${{ steps.wxyz.outputs.html_url }}"