I would like to have some github actions workflow, which should check linting, check if building the code is successful, and if so run tests.
My first "job" is to install the dependencies. Every job needs that done, so I do the following in every job:
- uses: actions/checkout@v2
- name: Cache functions node_modules
uses: actions/cache@v2
with:
path: node_modules
key: ${{ runner.os }}-${{ hashFiles('package.json') }}
- name: Install dependencies
run: npm ci
Is there a way to define this as job dependencies, and then have another job, lint extending this job? There's a cache, so it won't re-install, but it feels like long code repetition for no reason.

