ministryofjustice / operations-engineering

This repository is home to the Operations Engineering's tools and utilities for managing, monitoring, and optimising software development processes at the Ministry of Justice. • This repository is defined and managed in Terraform
https://user-guide.operations-engineering.service.justice.gov.uk/
MIT License
15 stars 5 forks source link

📈 GitHub Actions Private Minutes Dashboard #4505

Open jasonBirchall opened 5 months ago

jasonBirchall commented 5 months ago

User Need As a member of the operations engineering team I want to have a dashboard that shows the usage of GitHub Actions minutes per workflow and repository so that I can easily identify which workflows and repositories are consuming the majority of our allocated minutes and take necessary actions to manage the usage

Value This dashboard will:

  1. Provide transparency into GitHub Actions usage at a granular level (workflows and repositories), enabling better resource management
  2. Allow for proactive identification of high-usage workflows and repositories, preventing unexpected exhaustion of allocated minutes
  3. Facilitate conversations with repository owners to optimize their GitHub Actions usage, potentially saving costs

Functional Requirements:

  1. The dashboard should display the GitHub Actions minutes used by each workflow and repository in a clear and easily understandable format
  2. The dashboard should allow filtering and sorting of data based on various criteria (e.g., repository, workflow, time period)
  3. The dashboard should be automatically updated with the latest usage data at a regular interval (e.g., daily)
  4. The dashboard should provide a drill-down functionality to view usage details at the workflow level within each repository

Non-Functional Requirements:

  1. The dashboard should be accessible only to authorised members of the operations engineering team
  2. The dashboard should be performant, loading data quickly even with a large number of repositories and workflows
  3. The dashboard should be user-friendly, with an intuitive interface that requires minimal training to use effectively

Acceptance Criteria:

  1. Given a member of the operations engineering team when they access the dashboard, then they should see the GitHub Actions minutes used by each repository and workflow
  2. Given a dashboard user, when they apply filters or sorting, then the displayed data should update accordingly
  3. Given a new day, when the dashboard is accessed, then it should display the latest usage data as of the most recent update
  4. Given a dashboard user, when they click on a repository, then they should be able to view the usage details of each workflow within that repository
connormaglynn commented 5 days ago

It needs rewording so that implementation is to decorate https://find-a-github-repository-owner-dev.cloud-platform.service.justice.gov.uk/owner/Central%20Digital