Releases: last9/deployment-marker-action
Releases · last9/deployment-marker-action
v1.1.1 - README updates
What's Changed
Documentation
- Updated all usage examples to include required
envinput - Added explicit
service_nameexample for monorepos - Updated inputs table with
env(required) andservice_name(optional) - Added APM Dashboard Correlation section
- Added multi-environment and monorepo examples
No functional changes. Upgrade from v1.1.0 is optional.
v1.1.0 - Mandatory env, optional service_name
What's Changed
New Required Input: env
Deployment environment is now required for automatic APM dashboard correlation in Last9.
New Optional Input: service_name
Service name can now be explicitly set. Defaults to the repository name if not provided.
Usage
# Minimal
- uses: last9/deployment-marker-action@v1
with:
refresh_token: ${{ secrets.LAST9_REFRESH_TOKEN }}
org_slug: your-org-slug
env: production
# With explicit service name (for multi-service repos)
- uses: last9/deployment-marker-action@v1
with:
refresh_token: ${{ secrets.LAST9_REFRESH_TOKEN }}
org_slug: your-org-slug
service_name: payment-service
env: productionWhy
service_name and env must match your APM service labels exactly for deployment markers to appear as overlays on Last9 dashboards.
Migration from v1.0.0
Add env to your existing workflow:
- uses: last9/deployment-marker-action@v1
with:
refresh_token: ${{ secrets.LAST9_REFRESH_TOKEN }}
org_slug: your-org-slug
env: production # Add this linev1.0.0 - Last9 Deployment Marker
🎉 Initial Release
Send deployment markers to Last9's Change Events API for observability tracking.
✨ Features
- OAuth Token Management: Automatic refresh token exchange with caching (SHA-256 cache keys)
- Deployment Tracking: Send start, stop, or both deployment markers
- Automatic Context: Captures GitHub repository, commit, workflow, and actor information
- Custom Attributes: Add custom metadata to deployment markers (JSON format)
- Resilient: Exponential backoff retry logic with jitter for transient failures
- Secure: Automatic sensitive data redaction in logs (Bearer tokens, API keys)
- Type-Safe: Written in TypeScript with strict mode enabled
📦 Usage
- name: Mark Deployment
uses: last9/deployment-marker-action@v1
with:
refresh_token: ${{ secrets.LAST9_REFRESH_TOKEN }}
org_slug: ${{ secrets.LAST9_ORG_SLUG }}
event_state: stop
custom_attributes: |
{
"environment": "production",
"version": "${{ github.sha }}"
}🔧 Configuration
Required:
refresh_token- Last9 API refresh token (Admin scope required)org_slug- Last9 organization slug
Optional:
event_state-start,stop, orboth(default:stop)event_name- Event name (default:deployment)custom_attributes- JSON object with custom metadatainclude_github_attributes- Include GitHub context (default:true)max_retry_attempts- Maximum retry attempts (default:3)- And more... see README
📚 Documentation
- Complete Documentation
- Refresh Token Setup Guide (Admin user instructions)
- Last9 Change Events Docs
- Last9 API Docs
🧪 Quality
- Tests: 57/58 passing with comprehensive coverage
- Security: 0 vulnerabilities (updated dependencies)
- Bundle Size: 649KB (optimized with ncc)
- Node Version: 20.x
- License: MIT
🔒 Security
- Updated
@actions/githubto 8.0.0 - Updated
@actions/http-clientto 4.0.0 - Updated
undicito 6.23.0 (patched CVE) - Automatic sensitive data redaction
- Secure token caching with SHA-256
🛠️ Technical Details
Built with:
- TypeScript (strict mode)
- Native Node 20 fetch() API
@actions/corefor GitHub Actions integration@actions/githubfor contextzodfor input validation
🙏 Credits
Built with ❤️ by the Last9 team for the observability community.
📄 License
MIT License - see LICENSE