Skip to content

Latest commit

 

History

History
127 lines (70 loc) · 4.45 KB

File metadata and controls

127 lines (70 loc) · 4.45 KB

GitHub Actions Documentation

This lists and describes the repository GitHub actions.

Release Management

add-assets-to-release 🔗

Trigger: When a release is published.

Actions:

  • Ensure the release name is properly formatted (using x.y.z format),
  • Download dd-java-agent, dd-trace-api and dd-trace-ot artifacts from Sonatype (aka Maven Central and upload them to the release (dd-java-agent will also be uploaded without version number).

Recovery: Download artifacts and upload them manually to the release.

add-milestone-to-pull-requests 🔗

Trigger: When a PR to master is closed.

Action: Get the last (by name) opened milestone and affect it to the closed pull request.

Recovery: Attach the milestone by hand to the PR.

create-next-milestone 🔗

Trigger: When closing a milestone.

Action: Create a new milestone by incrementing minor version.

Comment: Already done when closing a tag. To delete?

draft-release-notes-on-tag 🔗

Trigger: When creating a tag, or manually (providing a tag)

Actions:

  • Fetch merged pull requests from the related tag milestone,
  • Generate changelog draft,
  • Create a new draft release for given tag with the generated changelog.

Recovery: Manually trigger the action again on the relevant tag.

increment-milestones-on-tag 🔗

Trigger: When creating a tag.

Actions:

  • Close the milestone related to the tag,
  • Create a new milestone by incrementing minor version.

Recovery: Manually close the related milestone and create a new one.

Notes: This actions will handle minor releases only. As there is no milestone for patch releases, it won't close and create patch releated milestone.

update-download-releases 🔗

Trigger: When a release is published.

Action: Update the download releases with the latest release artifact.

Recovery: Download artifacts and upload them manually to the related download release.

Notes: Download releases are special GitHub releases with fixed URL and tags, but rolling artifacts to provided stable download links (ex latest and latest-v1).

update-issues-on-release 🔗

Trigger: When a release is published.

Action:

  • Find all issues related to the release by checking the related milestone,
  • Add a comment to let know the issue was addressed by the newly published release,
  • Close all those issues.

Recovery: Check at the milestone for the related issues and update them manually.

Code Quality and Security

comment-on-submodule-update 🔗

Trigger: When creating a PR commits to master or a release/* branch with a Git Submodule update.

Action: Notify the PR author through comments that about the Git Submodule update.

codeql-analysis 🔗

Trigger: When pushing commits to master or any pull request to master.

Action: Run GitHub CodeQL action and upload result to GitHub security tab.

trivy-analysis 🔗

Trigger: When pushing commits to master or any pull request to master.

Action: Run Trivy security scanner on built artifacts and upload result to GitHub security tab.

gradle-wrapper-validation 🔗

DISABLED - GitHub provides a way to disable actions rather than changing their extensions.

Comment: To delete?

Lib Injection

lib-injection 🔗

Trigger: When pushing commits to master, release branches or any PR targetting master, and when creating tags.

Actions:

  • Build and publish to GHCR a Docker image with the Java tracer agent,
  • Build lib-injection and run its system tests with the build Java agent.

lib-injection-manual-release 🔗

Trigger: When manually triggered.

Action: Build and publish to GHCR a Docker image with the given Java tracer version.

lib-injection-prune-registry 🔗

Trigger: Every week or manually.

Action: Clean up old lib-injection Docker images from GHCR.

Recovery: Manually trigger the action again.