Github actions - issue using nvm install

I’m porting a project from travis to GH actions and very nearly complete, just having trouble getting nvm to behave as expected.

My action looks like this;

name: Frontend

on: [push]

jobs:
  frontend:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [6.x]

    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - name: Setup nvm
      run: nvm install 8.10.0 && nvm use 8.10.0
    - name: Setup npm
      run: |
        npm config set spin false
        npm install -g npm
    - name: Install gulp
      run: npm install -g gulp@3.9.1
    - name: Install dependencies
      run: npm install
    - name: Run gulp
      run: gulp ci

This is failing with nvm: command not found so I added a couple of steps to debug;

    - name: check nvm location
      shell: bash -l -eo pipefail {0}
      run: echo $NVM_DIR

    - name: test nvm command
      shell: bash -l -eo pipefail {0}
      run: nvm ls

Now these both show that it is available with the ls outputting as follows;

>> Run nvm ls
               
->       system *
default -> system *
iojs -> N/A (default)
node -> stable (-> N/A) (default)
unstable -> N/A (default)

So if it can nvm ls what’s wrong with nvm install!?

If you specify the shell again in your nvm install command like you were doing in the nvm ls case then it should run. Why? This seems like bizarre behavior but testing it out like that worked in my case.