tailwindcss/.github/workflows/integration-tests.yml
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

72 lines
1.8 KiB
YAML

name: Integration Tests
on:
push:
branches: [master]
pull_request:
branches: [master]
permissions:
contents: read
env:
CI: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
integration:
- content-resolution
- parcel
- postcss-cli
- rollup
- rollup-sass
- tailwindcss-cli
- vite
- webpack-4
- webpack-5
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 (tailwindcss)
# id: cache-tailwindcss
# uses: actions/cache@v3
# with:
# path: node_modules
# key: nodeModules-${{ hashFiles('./package-lock.json') }}-${{ matrix.node-version }}-tailwindcss
# restore-keys: |
# nodeModules-
- name: Install dependencies
# if: steps.cache-tailwindcss.outputs.cache-hit != 'true'
run: npm install
- name: Build Tailwind CSS
run: npm run prepublishOnly
- name: Use cached node_modules (integrations)
id: cache-integrations
uses: actions/cache@v3
with:
path: ./integrations/**/node_modules
key: nodeModules-${{ hashFiles('./integrations/**/package-lock.json') }}-${{ matrix.node-version }}-${{ matrix.integration }}-integrations
restore-keys: |
nodeModules-
- name: Install shared dependencies
if: steps.cache-integrations.outputs.cache-hit != 'true'
run: npm run install:integrations
- name: Test ${{ matrix.integration }}
run: npm test --prefix ./integrations/${{ matrix.integration }}