name: defaults-run on: - push defaults: run: shell: sh jobs: without-defaults: runs-on: ubuntu-latest steps: - run: '[ -z ${BASH+x} ] || shopt -oq posix || exit 1' with-defaults: runs-on: ubuntu-latest defaults: run: shell: bash working-directory: /tmp steps: - run: | [ -n ${BASH+x} ] && ! shopt -oq posix || exit 1 [ $(pwd) = /tmp ] || exit 2 override-in-step: runs-on: ubuntu-latest defaults: run: shell: bash steps: - run: '[ -z ${BASH+x} ] || shopt -oq posix || exit 1' shell: sh