name: Build vscode extension on: workflow_dispatch: push: branches: [main] paths: - simulator - extension jobs: package: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Use Node.js 20 uses: actions/setup-node@v3 with: node-version: 20 - name: Cache node modules id: cache-npm uses: actions/cache@v3 env: cache-name: cache-node-modules with: # npm cache files are stored in `~/.npm` on Linux/macOS path: ~/.npm key: ${{ hashFiles('**/package-lock.json') }} - name: Install run: npm install - name: CD run: | npm run build npm run -w extension package - name: Upload extension uses: actions/upload-artifact@v3 with: name: nand2tetris-vscode path: | extension/nand2tetris-vscode-*.vsix