Robin Malfait 3c7fc692d3
Workflow improvements (#9609)
* remove unnecessary download links

GitHub already shows them in a table right below it.

* detach `npm run style` from `npm run test`

* decouple lint from test in workflows

Which means that we don't need to do the crazy linking in certain
workflows.

* hoist the `CI` environment variable

* create dedicated `lint` job

The `lint` tests will run against source files and should not be
dependant on a specific node version. Instead of running the `npm run
style` on every node version we use, we can and should only run it once.

* remove `prettier-plugin-tailwindcss`

As long as we use older versions of node/npm where we can't have
ourselves as a dependency, it is a bit of a mess to maintain properly
sorted html in tests.

Let's remove it for now until we have a better solution!
2022-10-20 18:10:18 +02:00

83 lines
2.0 KiB
YAML

# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Node.js CI
on:
push:
branches: [master]
pull_request:
branches: [master]
permissions:
contents: read
env:
CI: true
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12, 14, 16]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
# cache: 'npm'
#
# - name: Use cached node_modules
# id: cache
# uses: actions/cache@v3
# with:
# path: node_modules
# key: nodeModules-${{ hashFiles('**/package-lock.json') }}-${{ matrix.node-version }}
# restore-keys: |
# nodeModules-
- name: Install dependencies
# if: steps.cache.outputs.cache-hit != 'true'
run: npm install
- name: Build Tailwind CSS
run: npm run swcify
- name: Test
run: npm test
lint:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
# cache: 'npm'
#
# - name: Use cached node_modules
# id: cache
# uses: actions/cache@v3
# with:
# path: node_modules
# key: nodeModules-${{ hashFiles('**/package-lock.json') }}-${{ matrix.node-version }}
# restore-keys: |
# nodeModules-
- name: Install dependencies
# if: steps.cache.outputs.cache-hit != 'true'
run: npm install
- name: Lint
run: npm run style