vscode-extension-workflows - Reusable CI/CD Workflows
November 10, 2025 ยท View on GitHub
vscode-extension-workflows - Reusable CI/CD Workflows
This repository provides reusable GitHub Actions workflows for building, testing, and packaging TypeScript VS Code extensions across multiple platforms. The repository itself serves as a self-testing infrastructure to validate the workflows.
Purpose
- Reusable GitHub Actions workflows for TypeScript VS Code extensions
- Self-test infrastructure to validate workflow functionality
Using the Reusable Workflow
Quick Start
For detailed usage instructions, see WORKFLOWS.md.
Self-Test Infrastructure Development
If you're contributing to or testing the workflows themselves, use these commands:
# Install dependencies
npm install
# Build the project
npm run build
# Run tests with coverage
npm test
# Lint code
npm run lint
# Clean build artifacts
npm run clean
# Package as VSIX
npm run package
# Update TPIP license tracking
npm run tpip:update
# Generate TPIP license report
npm run tpip
๐ Repository Structure
Reusable Workflows
.github/
โโโ workflows/
โ โโโ build-and-verify.yml # Main reusable workflow
โ โโโ self-test.yml # Self-testing workflow
โโโ platform-matrix.json # Example platform configuration
โโโ WORKFLOWS.md # Comprehensive workflow documentation
Self-Test Infrastructure
.
โโโ src/
โ โโโ index.ts # Test extension entry point
โโโ dist/ # Build output
โโโ scripts/
โ โโโ update-tpip.ts # TPIP license tracking updater
โ โโโ tpip-reporter.ts # TPIP license report generator
โโโ docs/
โ โโโ third-party-licenses.json # TPIP license database
โ โโโ tpip-header.md # TPIP report header template
โโโ package.json # Self-test project configuration
โโโ tsconfig.json # TypeScript configuration
โโโ jest.config.js # Jest testing configuration
โโโ tpip.md # Generated TPIP license report
TPIP License Compliance
The self-test infrastructure includes TPIP (Third-Party Intellectual Property) license tracking for testing purposes:
scripts/update-tpip.ts- License tracking updaterscripts/tpip-reporter.ts- Report generatordocs/third-party-licenses.json- License database
Contributing
Contributions are welcome! This repository serves dual purposes:
- Workflow Improvements: Enhance the reusable
build-and-verify.ymlworkflow - Testing Infrastructure: Improve the self-test setup to validate workflow features
Resources
- Workflow Documentation - Complete workflow usage guide
- GitHub Actions Reusable Workflows
๐ License
This project is licensed under the MIT License, see LICENSE.