name: Integration Tests on: push: branches: [master] pull_request: branches: [master] jobs: test: runs-on: ubuntu-latest strategy: matrix: integration: [parcel, postcss-cli, rollup, tailwindcss-cli, vite, webpack-4, webpack-5] node-version: [16] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node-version }} - name: Use cached node_modules (tailwindcss) id: cache-tailwindcss uses: actions/cache@v2 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 env: CI: true - name: Build Tailwind CSS run: npm run prepublishOnly - name: Use cached node_modules (integrations) id: cache-integrations uses: actions/cache@v2 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 env: CI: true - name: Test ${{ matrix.integration }} run: npm test --prefix ./integrations/${{ matrix.integration }}