add missing packages to pnpm workspace #13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: VS Code | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "renamify-vscode/**" | |
| - ".github/workflows/vscode.yml" | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - "renamify-vscode/**" | |
| - ".github/workflows/vscode.yml" | |
| jobs: | |
| vscode_test: | |
| name: Test VS Code Extension | |
| runs-on: ${{ matrix.os }} | |
| defaults: | |
| run: | |
| working-directory: renamify-vscode | |
| strategy: | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| - windows-latest | |
| node-version: [20.x] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Wait for CI workflow to complete | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const script = require('./.github/wait-for-checks.js'); | |
| await script({ github, context, core, checks: ["Test on", "Code Coverage", "Check MSRV"] }); | |
| - name: Download renamify binary (Linux) | |
| if: runner.os == 'Linux' | |
| uses: dawidd6/action-download-artifact@v2 | |
| with: | |
| workflow: ci.yml | |
| workflow_conclusion: success | |
| name: renamify-linux-x64 | |
| path: ${{ github.workspace }}/renamify-bin | |
| - name: Download renamify binary (macOS) | |
| if: runner.os == 'macOS' | |
| uses: dawidd6/action-download-artifact@v2 | |
| with: | |
| workflow: ci.yml | |
| workflow_conclusion: success | |
| name: renamify-macos-x64 | |
| path: ${{ github.workspace }}/renamify-bin | |
| - name: Download renamify binary (Windows) | |
| if: runner.os == 'Windows' | |
| uses: dawidd6/action-download-artifact@v2 | |
| with: | |
| workflow: ci.yml | |
| workflow_conclusion: success | |
| name: renamify-windows-x64 | |
| path: ${{ github.workspace }}/renamify-bin | |
| - name: Make binary executable and add to PATH | |
| shell: bash | |
| run: | | |
| # Debug: show where we are and what's available | |
| echo "Current directory: $(pwd)" | |
| echo "Workspace: ${{ github.workspace }}" | |
| # Convert Windows path to Unix path for bash commands | |
| if [[ "$RUNNER_OS" == "Windows" ]]; then | |
| WORKSPACE=$(echo "${{ github.workspace }}" | sed 's|\\|/|g' | sed 's|D:|/d|') | |
| else | |
| WORKSPACE="${{ github.workspace }}" | |
| fi | |
| ls -la "$WORKSPACE/renamify-bin/" | |
| if [[ "$RUNNER_OS" == "Windows" ]]; then | |
| chmod +x "$WORKSPACE/renamify-bin/renamify.exe" | |
| # Use original Windows path format for GITHUB_PATH | |
| echo "${{ github.workspace }}\renamify-bin" >> $GITHUB_PATH | |
| else | |
| chmod +x "$WORKSPACE/renamify-bin/renamify" | |
| echo "${{ github.workspace }}/renamify-bin" >> $GITHUB_PATH | |
| fi | |
| - name: Verify renamify is available (Windows) | |
| if: runner.os == 'Windows' | |
| run: renamify.exe --version | |
| - name: Verify renamify is available (Unix) | |
| if: runner.os != 'Windows' | |
| run: renamify --version | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - uses: pnpm/action-setup@v3 | |
| with: | |
| version: 8 | |
| run_install: false | |
| - name: Get pnpm store directory | |
| id: pnpm-cache | |
| shell: bash | |
| run: | | |
| echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT | |
| - uses: actions/cache@v3 | |
| name: Setup pnpm cache | |
| with: | |
| path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} | |
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('renamify-vscode/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm-store- | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Run TypeScript checks | |
| run: pnpm compile | |
| - name: Run Biome checks | |
| if: runner.os != 'Windows' | |
| run: pnpm check | |
| - name: Build extension | |
| run: pnpm package | |
| - name: Run tests (Linux) | |
| if: runner.os == 'Linux' | |
| run: xvfb-run -a pnpm test | |
| - name: Run tests (macOS/Windows) | |
| if: runner.os != 'Linux' | |
| run: pnpm test | |
| - name: Upload VSIX artifact | |
| if: matrix.os == 'ubuntu-latest' && matrix.node-version == '20.x' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: vscode-extension | |
| path: renamify-vscode/*.vsix |