{"id":39559138,"url":"https://github.com/govuk-one-login/performance-testing","last_synced_at":"2026-01-18T07:03:59.738Z","repository":{"id":152359088,"uuid":"554119469","full_name":"govuk-one-login/performance-testing","owner":"govuk-one-login","description":"Performance Testing for Digital Identity","archived":false,"fork":false,"pushed_at":"2026-01-08T16:10:37.000Z","size":58699,"stargazers_count":5,"open_issues_count":12,"forks_count":3,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-01-09T03:25:29.237Z","etag":null,"topics":["digital-identity","performance-testing","testing"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/govuk-one-login.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-19T09:28:12.000Z","updated_at":"2026-01-08T16:10:58.000Z","dependencies_parsed_at":"2023-09-21T17:31:05.208Z","dependency_job_id":"dd156237-727b-4ee0-9aa2-40283be09079","html_url":"https://github.com/govuk-one-login/performance-testing","commit_stats":null,"previous_names":["alphagov/di-devplatform-performance"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/govuk-one-login/performance-testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/govuk-one-login%2Fperformance-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/govuk-one-login%2Fperformance-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/govuk-one-login%2Fperformance-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/govuk-one-login%2Fperformance-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/govuk-one-login","download_url":"https://codeload.github.com/govuk-one-login/performance-testing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/govuk-one-login%2Fperformance-testing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28532612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["digital-identity","performance-testing","testing"],"created_at":"2026-01-18T07:03:59.080Z","updated_at":"2026-01-18T07:03:59.732Z","avatar_url":"https://github.com/govuk-one-login.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Publish](https://github.com/govuk-one-login/performance-testing/actions/workflows/publish.yaml/badge.svg?branch=main)](https://github.com/govuk-one-login/performance-testing/actions/workflows/publish.yaml)\n\n---\n\n# Performance Testing Framework\n\nThis repository contains the performance test framework for testing Digital Identity happy path user journeys.\n\n## Getting Started\n\n### Required Installations\n\n- [pre-commit](https://pre-commit.com/) for running pre-commit hooks locally\n  ```console\n  brew install pre-commit \u0026\u0026 pre-commit install \u0026\u0026 pre-commit install -tprepare-commit-msg -tcommit-msg\n  ```\n- [k6](https://k6.io/docs/get-started/installation/) for testing and executing scripts locally\n  ```console\n  brew install k6\n  ```\n\n### Optional Installations\n\n- [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) for command line access to AWS resources\n- [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) only needed for platform engineers managing the serverless resources and pipelines\n  ```console\n  brew install aws/tap/aws-sam-cli\n  ```\n- [GDS CLI](https://github.com/alphagov/gds-cli) for command line access to internal AWS accounts and resources\n  ```console\n  brew install alphagov/gds/gds-cli\n  ```\n- [Docker](https://docker.com) for building or testing the [Dockerfile](deploy/Dockerfile) locally\n\n## Contributing\n\nIf you would like to create a new test script or make changes to any of the existing test scripts, first read through the information in [`deploy/scripts/README.md`](deploy/scripts/README.md). Create a new `.ts` file in the appropriate team folder within the `deploy/scripts` directory or change an existing one.\n\nRaise pull requests for any changes, including the JIRA ticket number in the description. Pull requests must pass pre-commit hooks, linting and unit test checks before merging to main.\n\n## Technology Stack\n\nThe infrastructure is defined as infrastructure-as-code in the form of a AWS CloudFormation [template](deploy/template.yaml). This defines the performance test application stack which consists of a AWS CodeBuild pipeline which orchestrates the performance tests.\n\nThe CodeBuild agent uses a Docker image, which is defined in the [Dockerfile](deploy/Dockerfile). The image contains:\n\n- [k6](https://k6.io) - which is used as the load injector application\n- [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector-contrib) - which uses the configuration [template](deploy/otel-config-template.yaml) to send [statsd](https://k6.io/docs/results-output/real-time/statsd/) metrics from k6 and host metrics from the CodeBuild agent to [Dynatrace](https://www.dynatrace.com/)\n- Test data and scripts - Scripts are written in [TypeScript](https://www.typescriptlang.org/) and transpiled into JavaScript by [esbuild](https://esbuild.github.io/)\n\n![Infrastructure Diagram](docs/infrastructure-diagram.png)\n\nThe performance test application is initially deployed to the `di-performance-test-non-prod` AWS account and then promoted to the `di-performance-test-prod` account. From the Production account, performance tests can be run against any given Build or Staging environment.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgovuk-one-login%2Fperformance-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgovuk-one-login%2Fperformance-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgovuk-one-login%2Fperformance-testing/lists"}