Skip to content

Releases: last9/deployment-marker-action

v1.1.1 - README updates

20 Feb 12:56

Choose a tag to compare

What's Changed

Documentation

  • Updated all usage examples to include required env input
  • Added explicit service_name example for monorepos
  • Updated inputs table with env (required) and service_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

20 Feb 12:54

Choose a tag to compare

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: production

Why

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 line

v1.0.0 - Last9 Deployment Marker

17 Feb 16:52

Choose a tag to compare

🎉 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, or both (default: stop)
  • event_name - Event name (default: deployment)
  • custom_attributes - JSON object with custom metadata
  • include_github_attributes - Include GitHub context (default: true)
  • max_retry_attempts - Maximum retry attempts (default: 3)
  • And more... see README

📚 Documentation

🧪 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/github to 8.0.0
  • Updated @actions/http-client to 4.0.0
  • Updated undici to 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/core for GitHub Actions integration
  • @actions/github for context
  • zod for input validation

🙏 Credits

Built with ❤️ by the Last9 team for the observability community.

📄 License

MIT License - see LICENSE