Software Lifecycle Tracker
ActionsTags
(2)Verified
Automate software lifecycle tracking with intelligent EOL detection, multi-channel notifications, and seamless CI/CD integration.
Never miss an End-of-Life date again. Automatically track 380+ software products, send alerts to Slack/Discord/Teams, generate test matrices, and keep your dependencies secure and up-to-date.
| Feature | Description |
|---|---|
| 🔍 Track 380+ Products | Native support for Python, Node.js, Ubuntu, PostgreSQL, Kubernetes, and many more via endoflife.date. |
| 📢 Smart Notifications | Instant alerts via Slack, Discord, Teams, Google Chat, or custom webhooks. |
| 🤖 Autonomous Security | Schedule regular checks to keep your dependencies secure and up-to-date. |
| 📊 Dynamic Matrices | Automatically build version matrices for multi-version CI/CD testing strategies. |
| 🎯 Universal Extraction | Extract versions directly from package.json, Dockerfile, Helm charts, or custom regex. |
| ⚡ Enterprise Ready | Feature-rich with built-in caching, SSRF protection, and 85%+ test coverage. |
Monitor your entire stack's health in a single GitHub Issue. The action can automatically maintain a central dashboard, giving you a live overview of upcoming risks and maintenance requirements.
Stop your build if a dependency is no longer supported.
- uses: broadsage/lifecycle-action@v4
with:
products: 'python,nodejs,postgresql'
fail-on-eol: trueKeep your team informed across multiple platforms.
- uses: broadsage/lifecycle-action@v4
with:
products: 'python,nodejs'
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK }}Run tests against all supported (non-EOL) versions of a product.
jobs:
prepare:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: broadsage/lifecycle-action@v4
id: set-matrix
with:
products: 'python'
output-matrix: true
exclude-eol-from-matrix: true
test:
needs: prepare
strategy:
matrix: ${{ fromJson(needs.prepare.outputs.matrix) }}
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.version }}
- run: pytest🛠️ Core Configuration
| Input | Description | Default |
|---|---|---|
products |
Required. Comma-separated list of products (e.g., python,nodejs). |
— |
releases |
JSON mapping of products to specific releases to track. | {} |
check-eol |
Enable/disable EOL status checks. | true |
fail-on-eol |
Fail the workflow if an EOL version is detected. | false |
eol-threshold-days |
Buffer period (in days) to warn before actual EOL. | 90 |
fail-on-stale |
Fail if a version hasn't received updates in a long time. | false |
📤 Outputs & Reporting
| Input | Description | Default |
|---|---|---|
output-format |
Format for reports: summary, json, or markdown. |
summary |
output-matrix |
Generate a JSON matrix for GitHub Actions jobs. | false |
cache-ttl |
How long to cache API responses (in seconds). | 3600 |
include-support-info |
Include detailed support/LTS status in outputs. | true |
🔗 Integration & Advanced
| Category | Features |
|---|---|
| Version Extraction | Extract from files (yaml, json, text) using file-path and file-key. |
| SBOM Support | Parse CycloneDX or SPDX files to identify all components. |
| GitHub Issues | Maintain a persistent Lifecycle Dashboard for all tracked products. |
📖 Full Reference
For a complete list of all available inputs and outputs, please refer to our Inputs & Outputs Documentation.
| Feature | Software Lifecycle Tracker | Industry Average |
|---|---|---|
| Product Database | 380+ (via endoflife.date) | ~20-50 |
| Native Notifications | 5+ Channels | 0-1 |
| Version Detection | Native Regex & File Parsing | ❌ |
| Matrix Automation | Native Support | ❌ |
| Active Maintenance | ✅ Verified | Varies |
We love community contributions! Check out our CONTRIBUTING.md to get started.
- Bugs/Features: Open an issue
- Discussions: Join the conversation
- Data Source: Powered by the amazing endoflife.date API.
Made with ❤️ by Broadsage Open Source
Securing the software lifecycle, one commit at a time.
Software Lifecycle Tracker is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.
