{"id":19432729,"url":"https://github.com/brightspace/test-reporting-action","last_synced_at":"2026-05-16T15:04:43.540Z","repository":{"id":213382589,"uuid":"728774942","full_name":"Brightspace/test-reporting-action","owner":"Brightspace","description":"GitHub Action for the test reporting framework","archived":false,"fork":false,"pushed_at":"2024-10-29T09:04:33.000Z","size":7699,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":17,"default_branch":"main","last_synced_at":"2024-10-29T10:57:08.652Z","etag":null,"topics":["github-actions","quality-enablement","test-reporting","testing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Brightspace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2023-12-07T17:03:07.000Z","updated_at":"2024-10-29T09:04:36.000Z","dependencies_parsed_at":"2024-01-15T11:47:30.168Z","dependency_job_id":"3bdbb210-830c-480e-b5ec-c4afd6a4d3d8","html_url":"https://github.com/Brightspace/test-reporting-action","commit_stats":null,"previous_names":["brightspace/test-reporting-action"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brightspace%2Ftest-reporting-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brightspace%2Ftest-reporting-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brightspace%2Ftest-reporting-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brightspace%2Ftest-reporting-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Brightspace","download_url":"https://codeload.github.com/Brightspace/test-reporting-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240612549,"owners_count":19829027,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["github-actions","quality-enablement","test-reporting","testing"],"created_at":"2024-11-10T14:36:51.410Z","updated_at":"2026-05-16T15:04:43.530Z","avatar_url":"https://github.com/Brightspace.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Test Reporting (GitHub Action)\n\n[![License][License Badge]][License File]\n\nA GitHub Action for uploading D2L format test reports to back-end visualization\nand querying infrastructure. This action is meant to be used in conjunction with\nreporters from [node reporters].\n\n\u003e [!NOTE]\n\u003e If you have any questions, concerns or just want to chat feel free to reach\n\u003e out in [#test-reporting] (D2L employee accessible only).\n\n## Setup\n\nIn order for your repository to be able to submit a test report you must first\nenable the `test_reporting` option for your repository in [repo-settings] (D2L\nemployee accessible only). This will give your repository access to have the\nGitHub Action submit test reporting data to the framework.\n\n\u003e [!CAUTION]\n\u003e Without this set-up you will see errors about being `unable to assume required\n\u003e role` in the GitHub Action logs and the action will fail to run.\n\n## Usage\n\n```yml\n- name: Upload test report\n  uses: Brightspace/test-reporting-action@main\n  if: (!cancelled())\n  with:\n    aws-access-key-id: ${{secrets.AWS_ACCESS_KEY_ID}}\n    aws-secret-access-key: ${{secrets.AWS_SECRET_ACCESS_KEY}}\n    aws-session-token: ${{secrets.AWS_SESSION_TOKEN}}\n```\n\n\u003e [!IMPORTANT]\n\u003e This action assumes a report, conforming to the [D2L test report format], has\n\u003e already been generated using one of the available test framework [node\n\u003e reporters]. This report file, typically generated at `./d2l-test-report.json`,\n\u003e must be available at the time this action is run otherwise it will fail.\n\n\u003e [!NOTE]\n\u003e If using this action in a workflow triggered by a `pull_request` please see\n\u003e information about [`dependabot`](#dependabot) below.\n\n### Inputs\n\n* `aws-access-key-id` (required): Specifies an AWS access key associated with an\n  IAM account.\n* `aws-secret-access-key` (required): Specifies the secret key associated with\n  the access key. This is essentially the \"password\" for the access key.\n* `aws-session-token` (required): Specifies the session token value that is\n  required if you are using temporary security credentials that you retrieved\n  directly from AWS STS operations.\n* `role-to-assume` ([see below]): The Amazon Resource Name (ARN) of the role to\n  assume.\n* `report-path` (default: `./d2l-test-report.json`): Path to the D2L format test\n  report JSON file for processing.\n* `lms-build-number`: The LMS build number of the site used to generate this\n  report. Will throw an error if provided and already present in the report.\n* `lms-instance-url`: The LMS instance URL of the site used to generate this\n  report. Will throw an error if provided and already present in the report.\n* `inject-github-context` (default: `auto`): Change mode for injection of GitHub\n  Actions context at report submission time.\n  * `auto`: Injects GitHub Actions context into report if missing\n  * `force`: Injects GitHub Actions context into report always\n  * `off`: Will not inject GitHub Actions context into report even if missing,\n    can result in validation failure if not present\n* `post-summary` (default: `true`): Posts or hides information about data\n  submitted to GitHub summary\n* `dry-run` (default: `false`): Enable or disable dry run mode. Will perform all\n  operations except final submission of report data to backend. Only really\n  useful for debugging and testing.\n* `debug` (default: `false`): Enable or disable debug mode. Will enable\n  additional log messages. Does not stop final submission of report data to\n  backend. Only really useful for debugging and testing.\n\n## Authentication\n\nBy default this action assumes you are using the default setup for sending to\ntest reporting via [repo-settings] (D2L employee accessible only) which means it\nwill infer the role to assume based on your repository information. There is\nreally no reason to change this but it has been exposed via `role-to-assume` in\nthe rare case we need them in the future. As long as you've followed the\ninstructions outlined in [repo-settings] (D2L employee accessible only) this\nshould work as expected.\n\n## Dependabot\n\nIf you are using this action in a context where [`dependabot`] can be a possible\nactor then you must skip this action's step as `secrets` may not be available.\nThis looks like the following:\n\n```yml\n- name: Upload test report\n  uses: Brightspace/test-reporting-action@main\n  if: \u003e\n    (!cancelled()) \u0026\u0026\n    github.actor != 'dependabot[bot]'\n  with:\n    aws-access-key-id: ${{secrets.AWS_ACCESS_KEY_ID}}\n    aws-secret-access-key: ${{secrets.AWS_SECRET_ACCESS_KEY}}\n    aws-session-token: ${{secrets.AWS_SESSION_TOKEN}}\n```\n\n## Storage Schema\n\nFor details on what columns are available in [AWS Timestream] for analysis and\ndashboard building please see [Storage Schema](./docs/storage-schema.md).\n\n## Developing\n\nAfter cloning the repository, make sure to install dependencies.\n\n```console\nnpm ci\n```\n\n### Building\n\nThis will be done automatically on each pull request submitted. If you need to\nrefresh the built files locally you can run the following.\n\n```console\nnpm run build\n```\n\n### Linting\n\n```console\n# eslint and editorconfig-checker\nnpm run lint\n\n# eslint only\nnpm run lint:eslint\n\n# editorconfig-checker only\nnpm run lint:editorconfig\n```\n\n### Fixing\n\n```console\n# currently only eslint\nnpm run fix\n\n# eslint only\nnpm run fix:eslint\n```\n\n### Testing\n\n```console\n# lint and unit tests\nnpm test\n\n# unit tests only\nnpm run test:unit\n```\n\n\u003c!-- links --\u003e\n[repo-settings]: https://github.com/Brightspace/repo-settings/blob/-/docs/test-reporting.md#analytics\n[node reporters]: https://github.com/Brightspace/test-reporting-node?tab=readme-ov-file#reporters\n[AWS Timestream]: https://aws.amazon.com/timestream\n[see below]: #authentication\n[#test-reporting]: https://d2l.slack.com/archives/C05MMC7H7EK\n[`dependabot`]: https://docs.github.com/en/code-security/getting-started/dependabot-quickstart-guide\n[D2L test report format]: https://github.com/Brightspace/test-reporting-node/blob/main/docs/report-format.md\n[License Badge]: https://img.shields.io/github/license/Brightspace/test-reporting-action?label=License\n[License File]: ./LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrightspace%2Ftest-reporting-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrightspace%2Ftest-reporting-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrightspace%2Ftest-reporting-action/lists"}