{"id":28962439,"url":"https://github.com/moonrepo/run-report-action","last_synced_at":"2025-06-24T03:06:28.419Z","repository":{"id":59430756,"uuid":"528696024","full_name":"moonrepo/run-report-action","owner":"moonrepo","description":"A GitHub action for displaying a run report within a pull request.","archived":false,"fork":false,"pushed_at":"2024-06-24T18:58:11.000Z","size":2428,"stargazers_count":4,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-11T13:50:42.368Z","etag":null,"topics":["github-action","reporting-tool"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moonrepo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-25T04:40:38.000Z","updated_at":"2025-04-02T22:33:25.000Z","dependencies_parsed_at":"2024-04-10T18:26:46.693Z","dependency_job_id":"b54ff77e-a5a9-47c8-a37c-9d8a6d13c802","html_url":"https://github.com/moonrepo/run-report-action","commit_stats":{"total_commits":47,"total_committers":2,"mean_commits":23.5,"dds":"0.12765957446808507","last_synced_commit":"8ec12ec8ca56f764c24d387690bddfd00dff355c"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/moonrepo/run-report-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moonrepo%2Frun-report-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moonrepo%2Frun-report-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moonrepo%2Frun-report-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moonrepo%2Frun-report-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moonrepo","download_url":"https://codeload.github.com/moonrepo/run-report-action/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moonrepo%2Frun-report-action/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261595751,"owners_count":23182245,"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-action","reporting-tool"],"created_at":"2025-06-24T03:06:25.971Z","updated_at":"2025-06-24T03:06:28.408Z","avatar_url":"https://github.com/moonrepo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# moon - CI run reports\n\nA GitHub action that reports the results of a `moon ci` run to a pull request as a comment and\nworkflow summary. The report will render all results, their final status, and time to completion, in\na [beautiful markdown table](#example).\n\nThe report will also include additional information about the environment, workflow matrix, and\ntouched files.\n\n## Installation\n\nThe action _must run after_ the `moon ci` command!\n\n```yaml\n# ...\njobs:\n  ci:\n    name: CI\n    runs-on: ubuntu-latest\n    steps:\n      # ...\n      - run: moon ci\n      - uses: moonrepo/run-report-action@v1\n        if: success() || failure()\n        with:\n          access-token: ${{ secrets.GITHUB_TOKEN }}\n```\n\nIf your workflow job is using a build matrix, you'll need to pass the entire matrix object as a JSON\nstring to the `matrix` input, otherwise the pull request comments will overwrite each other.\n\n```yaml\n# ...\njobs:\n  ci:\n    name: CI\n    runs-on: ${{ matrix.os }}\n    strategy:\n      matrix:\n        os: [ubuntu-latest, windows-latest]\n        node-version: [16, 18]\n    steps:\n      # ...\n      - run: moon ci\n      - uses: moonrepo/run-report-action@v1\n        if: success() || failure()\n        with:\n          access-token: ${{ secrets.GITHUB_TOKEN }}\n          matrix: ${{ toJSON(matrix) }}\n```\n\n## Inputs\n\n- `access-token` (`string`) - REQUIRED: A GitHub access token that's used for posting comments on\n  the pull request.\n- `matrix` (`string`) - The workflow's build matrix as a JSON string. This is required for\n  differentiating builds/comments.\n- `slow-threshold` (`number`) - Number of seconds before an action is to be considered slow.\n  Defaults to 120 (2 minutes).\n- `sort-by` (`label | time`) - The field to sort the actions table on. If not defined (the default),\n  will display in the action graph's topological order.\n- `sort-dir` (`asc | desc`) - The direction to sort the actions table.\n- `workspace-root` (`string`) - Root of the moon workspace (if running in a sub-directory). Defaults\n  to working directory.\n\n## Terminology\n\n- **Action** - The action/task that was ran in moon's runner via `moon ci`.\n- **Estimated savings/loss** - How much time was saved/lost by running tasks with moon.\n- **Flaky** - Action is flaky, as it failed but passed after retries.\n- **Info** - Additional information and metadata about the action.\n- **Projected time** - How long all the tasks would have taken to run when ran _outside_ of moon.\n- **Slow** - Action is slow and took too long to run, based on the threshold.\n- **Status** - Final status of the action after it ran.\n- **Time** - How long the action took to run.\n- **Total time** - How long all actions / the entire runner took to run.\n- **Touched files** - Files that were created, modified, etc, between the current branch and the\n  base branch. Also used to determine affected projects and tasks.\n\n## Example\n\nAn example of the report looks like the following:\n\n---\n\n### Run report `(ubuntu-latest, 18)`\n\n|     | Action                         |  Time | Status  | Info |\n| :-: | :----------------------------- | ----: | :------ | :--- |\n| 🟩  | `SetupNodeToolchain`           |  7.2s | passed  |      |\n| ⬛️ | `SyncNodeProject(types)`       | 2.4ms | skipped |      |\n| ⬛️ | `SyncNodeProject(runtime)`     | 7.1ms | skipped |      |\n| 🟩  | `InstallNodeDeps`              | 18.7s | passed  |      |\n| 🟩  | `RunTarget(types:build)`       |  6.5s | passed  |      |\n| 🟩  | `RunTarget(runtime:build)`     |  6.8s | passed  |      |\n| ⬛️ | `SyncNodeProject(website)`     | 5.2ms | skipped |      |\n| 🟩  | `RunTarget(website:typecheck)` | 10.2s | passed  |      |\n| 🟩  | `RunTarget(website:format)`    | 11.9s | passed  |      |\n| 🟩  | `RunTarget(website:test)`      |  1.5s | passed  |      |\n| 🟩  | `RunTarget(website:build)`     | 1m 8s | passed  |      |\n| 🟩  | `RunTarget(website:lint)`      | 18.4s | passed  |      |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoonrepo%2Frun-report-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoonrepo%2Frun-report-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoonrepo%2Frun-report-action/lists"}