A GitHub Action for uploading D2L format test reports to back-end visualization and querying infrastructure. This action is meant to be used in conjunction with reporters from node reporters.
In order for your repository to be able to submit test report you must first
enable the test_reporting
option for you repository in repo-settings. This
will give your repository access to have the GitHub Action submit test reporting
data to the framework.
Caution
Without this set-up you will see errors about being unable to assume required role
in the GitHub Action logs and the action will fail to run.
- name: Upload test report
uses: Brightspace/test-reporting-action@main
with:
aws-access-key-id: ${{secrets.AWS_ACCESS_KEY_ID}}
aws-secret-access-key: ${{secrets.AWS_SECRET_ACCESS_KEY}}
aws-session-token: ${{secrets.AWS_SESSION_TOKEN}}
Important
This action assumes a report, conforming to the D2L report schema, has already been generated using a given test framework reporter or manually. For available reporters please see node reporters.
aws-access-key-id
(required): Specifies an AWS access key associated with an IAM account.aws-secret-access-key
(required): Specifies the secret key associated with the access key. This is essentially the "password" for the access key.aws-access-key-id
(required): Specifies an AWS access key associated with an IAM account.report-path
(default:./d2l-test-report.json
): Path to report D2L format test report JSON file.lms-build-number
: The LMS build number of the site used to generate this report. Will throw an error if provided and already present in the report.lms-instance-url
: The LMS instance URL of the site used to generate this report. Will throw an error if provided and already present in the report.inject-github-context
(default:auto
): Change mode for injection of GitHub Actions context at report submission time.auto
: Injects GitHub Actions context into report if missingforce
: Injects GitHub Actions context into report alwaysoff
: Will not inject GitHub Actions context into report even if missing, can result in validation failure if not present
dry-run
(default:false
): Enable or disable dry run mode. Will perform all operations except final submission of report data to backend. Only really useful for debugging and testing.debug
(default:false
): Enable or disable debug mode. Will enable additional log messages. Does not stop final submission of report data to backend. Only really useful for debugging and testing.
After cloning the repository make sure to install dependencies.
npm ci
This will be done automatically on each pull request submitted. If you need to refresh the built files locally you can run the following.
npm run build
# currently only eslint
npm run lint
# eslint only
npm run lint:eslint
# currently only eslint
npm run fix
# eslint only
npm run fix:eslint
# lint and unit tests
npm test
# unit tests only
npm run test:unit