Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 1.97 KB

README.md

File metadata and controls

56 lines (37 loc) · 1.97 KB

GitHub Action for Continuous Profiling

GitHub Action for Continuous Profiling which you can run to profile your workloads in CI/CD manner. It uses Parca and Polar Signals cloud.

How to use

You will need access to Polar Signals cloud or another way to send Parca profiles to remote store.

This project is also a demo of how to use this action, view the .github/workflows directory to view the example usage.

If you are using Polar Signals cloud, the only thing required to configure is the polarsignals_cloud_token which is the API token for Polar Signals cloud, where it sends the profiling data. You can view the docs on that here.

Profiling data from one CI run looks like this.

Deployment Links

This action can automatically create GitHub deployments with links to your profiling data, making it easy to access the results directly from your GitHub repository. For this feature to work, the following parameters must be configured:

  • project_uuid: Your Polar Signals Cloud project UUID

If any of the required parameters are missing, the deployment creation will be skipped without failing the workflow, and log messages will indicate the reason.

Required Permissions

For the deployment creation to work, your workflow needs the following permissions:

permissions:
  deployments: write
  contents: read

Example Configuration

name: Profiling Workflow
on: [push]

permissions:
  deployments: write
  contents: read

jobs:
  profile:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Run Continuous Profiling
        uses: polarsignals/gh-actions-ps-profiling@main
        with:
          polarsignals_cloud_token: ${{ secrets.POLARSIGNALS_CLOUD_TOKEN }}
          project_uuid: 'your-project-uuid-here'
          labels: 'branch=${{ github.ref_name }};workflow=${{ github.workflow }}'