name: Build and Deploy Extension on: push: branches: [ main ] paths: - 'extensions/aurelio-vscode' - '.gitmodules' workflow_dispatch: jobs: build: runs-on: [self-hosted, linux, x64] steps: - name: Checkout repository uses: actions/checkout@v4 with: submodules: true - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' cache-dependency-path: 'extensions/aurelio-vscode/package-lock.json' - name: Install dependencies working-directory: extensions/aurelio-vscode run: npm install - name: Build and Package Extension working-directory: extensions/aurelio-vscode run: | # Ensure vsce is available npm install -g @vscode/vsce vsce package - name: Deploy to Firmware Store working-directory: extensions/aurelio-vscode run: | VERSION=$(node -p "require('./package.json').version") NOTES=$(node -p "require('./package.json').description || ''") VSIX_FILE="aurelio-${VERSION}.vsix" # Update local manifest copy python3 update_manifest.py "${VERSION}" "${NOTES}" echo "🚀 Deploying ${VSIX_FILE} to Proxmox CT 205 (192.168.0.15)..." # SCP the extension and manifest to the firmware store # The runner is already authorized on root@192.168.0.15 scp -o StrictHostKeyChecking=no "${VSIX_FILE}" root@192.168.0.15:/var/www/firmware/extensions/aurelio/ scp -o StrictHostKeyChecking=no version.json root@192.168.0.15:/var/www/firmware/extensions/aurelio/ echo "✅ Deployment complete!"