include-source: false # Drop file/line/col from output --- on: push jobs: build: if: github.repository == 'octo-org/octo-repo-prod' runs-on: ubuntu-latest env: super_secret: ${{ secrets.SuperSecret }} steps: - run: echo hi - if: always() run: echo hi - if: 123 run: echo hi - if: 0 || 1 run: echo hi - if: 123 || failure() run: echo hi - if: ${{ 0 || 1 }} run: echo hi - if: ${{ 123 || failure() }} run: echo hi - if: ${{ github.ref == 'refs/heads/main' }} # github context run: echo hi - if: ${{ vars.foo == 'bar' }} # vars context run: echo hi - if: ${{ vars.foo || success() }} # should not prepend "success()" run: echo hi - if: ${{ true || 'success()' }} # should prepend "success()" run: echo hi - if: ${{ env.super_secret != '' }} run: echo 'This step will only run if the secret has a value set.' - if: ${{ env.super_secret == '' }} run: echo 'This step will only run if the secret does not have a value set.' - name: My first step uses: octo-org/action-name@main - name: My backup step if: ${{ needs.build.outputs.run-js-tests && success() }} uses: actions/heroku@1.0.0 --- { "jobs": [ { "type": "job", "id": "build", "name": "build", "if": { "type": 3, "expr": "success() && (github.repository == 'octo-org/octo-repo-prod')" }, "env": { "type": 2, "map": [ { "Key": "super_secret", "Value": { "type": 3, "expr": "secrets.SuperSecret" } } ] }, "runs-on": "ubuntu-latest", "steps": [ { "id": "__run", "if": { "type": 3, "expr": "success()" }, "run": "echo hi" }, { "id": "__run_2", "if": { "type": 3, "expr": "always()" }, "run": "echo hi" }, { "id": "__run_3", "if": { "type": 3, "expr": "success() && (123)" }, "run": "echo hi" }, { "id": "__run_4", "if": { "type": 3, "expr": "success() && (0 || 1)" }, "run": "echo hi" }, { "id": "__run_5", "if": { "type": 3, "expr": "123 || failure()" }, "run": "echo hi" }, { "id": "__run_6", "if": { "type": 3, "expr": "success() && (0 || 1)" }, "run": "echo hi" }, { "id": "__run_7", "if": { "type": 3, "expr": "123 || failure()" }, "run": "echo hi" }, { "id": "__run_8", "if": { "type": 3, "expr": "success() && (github.ref == 'refs/heads/main')" }, "run": "echo hi" }, { "id": "__run_9", "if": { "type": 3, "expr": "success() && (vars.foo == 'bar')" }, "run": "echo hi" }, { "id": "__run_10", "if": { "type": 3, "expr": "vars.foo || success()" }, "run": "echo hi" }, { "id": "__run_11", "if": { "type": 3, "expr": "success() && (true || 'success()')" }, "run": "echo hi" }, { "id": "__run_12", "if": { "type": 3, "expr": "success() && (env.super_secret != '')" }, "run": "echo 'This step will only run if the secret has a value set.'" }, { "id": "__run_13", "if": { "type": 3, "expr": "success() && (env.super_secret == '')" }, "run": "echo 'This step will only run if the secret does not have a value set.'" }, { "id": "__octo-org_action-name", "name": "My first step", "if": { "type": 3, "expr": "success()" }, "uses": "octo-org/action-name@main" }, { "id": "__actions_heroku", "name": "My backup step", "if": { "type": 3, "expr": "needs.build.outputs.run-js-tests && success()" }, "uses": "actions/heroku@1.0.0" } ] } ] }