name: Publish Release
concurrency: publish
on:
  workflow_dispatch: {}

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 18
          registry-url: 'https://registry.npmjs.org'
      - name: Cache node_modules
        uses: actions/cache@v3
        with:
          path: node_modules
          key: ${{ runner.os }}-${{ env.NODE_VERSION }}-node_modules-${{ hashFiles('**/package-lock.json') }}
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: >
          cd packages/tailwindcss-language-server &&
          npm run build &&
          npm run test:prepare &&
          npm test
      - name: Publish IntelliSense
        env:
          VSCODE_TOKEN: ${{ secrets.VSCODE_TOKEN }}
        run: >
          cd packages/vscode-tailwindcss &&
          npm run publish -- -p $VSCODE_TOKEN
