Skip to content

Latest commit

 

History

History
56 lines (47 loc) · 1.98 KB

README.md

File metadata and controls

56 lines (47 loc) · 1.98 KB

workflow-run-history

Adds a Markdown Step Summary explaining the historical performance and success rate of a workflow over the previous week.

  • Compares performance / success rate against other workflows runs on the default branch, PRs, and tags
  • Allows setting performance and success rate targets
  • Outputs values that indicate whether or not the workflow is meeting its targets

Example

https://github.com/urcomputeringpal/workflow-run-history/actions/runs/5079482931

Usage

name: test
on:
    pull_request:
    push:
        branches:
            - main
    schedule:
        - cron: "0 * * * *"

jobs:
    test:
        runs-on: ubuntu-latest
        steps:
            - run: sleep 5
    performance:
        needs: test
        runs-on: ubuntu-latest
        steps:
            - uses: urcomputeringpal/workflow-run-history@v0
              id: history
              timeout-minutes: 2
              with:
                  # # Target performance
                  # Target an average workflow runtime of 60 seconds.
                  target-seconds: "60"
                  target-percentile: "50"

                  # # Target success rates
                  # This workflow should complete 99% of the time on the default branch.
                  target-default-success-rate: "99"
                  # This workflow should complete 90% of the time on PRs.
                  target-pr-success-rate: "90"

                  # filter-actor: "urcomputeringpal"
                  # filter-branch: "main"
                  # filter-event: "push"
            - run: |
                  echo "This workflow run hit its target performance: ${{ steps.history.outputs.hit-target-seconds }}"
                  echo "This workflow has historically hit its target performance on PRs: ${{ steps.history.outputs.hit-target-pr-success-percentile }}"
                  echo "This workflow has historically hit its target success rate on main: ${{ steps.history.outputs.hit-target-default-success-rate }}"