{"id":21819354,"url":"https://github.com/dflydev/check-runs-action","last_synced_at":"2025-04-14T02:29:14.320Z","repository":{"id":40286290,"uuid":"261328677","full_name":"dflydev/check-runs-action","owner":"dflydev","description":"✅ GitHub Check Runs Action","archived":false,"fork":false,"pushed_at":"2023-01-05T11:16:04.000Z","size":1815,"stargazers_count":15,"open_issues_count":12,"forks_count":8,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T02:29:00.812Z","etag":null,"topics":["actions","check-run","checks","checks-api","ci","github-actions"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"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/dflydev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["simensen","dflydev"],"open_collective":"dflydev","custom":"https://enjoy.gitstore.app/repositories/dflydev/check-runs-action"}},"created_at":"2020-05-05T00:45:53.000Z","updated_at":"2024-01-22T12:45:00.000Z","dependencies_parsed_at":"2023-02-04T02:46:15.832Z","dependency_job_id":null,"html_url":"https://github.com/dflydev/check-runs-action","commit_stats":{"total_commits":25,"total_committers":2,"mean_commits":12.5,"dds":"0.040000000000000036","last_synced_commit":"3374d9773c034bcc8caec2b58ffd7f5c891cbfb1"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dflydev%2Fcheck-runs-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dflydev%2Fcheck-runs-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dflydev%2Fcheck-runs-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dflydev%2Fcheck-runs-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dflydev","download_url":"https://codeload.github.com/dflydev/check-runs-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248810794,"owners_count":21165184,"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":["actions","check-run","checks","checks-api","ci","github-actions"],"created_at":"2024-11-27T16:18:37.041Z","updated_at":"2025-04-14T02:29:14.287Z","avatar_url":"https://github.com/dflydev.png","language":"TypeScript","funding_links":["https://github.com/sponsors/simensen","https://github.com/sponsors/dflydev","https://opencollective.com/dflydev","https://enjoy.gitstore.app/repositories/dflydev/check-runs-action"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e✅ GitHub Check Runs Action\u003c/h1\u003e\n\u003cp\u003e\n  \u003ca href=\"https://github.com/dflydev/check-runs-action#readme\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/documentation-yes-brightgreen.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/dflydev/check-runs-action/graphs/commit-activity\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Maintenance\" src=\"https://img.shields.io/badge/Maintained%3F-yes-green.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/dflydev/check-runs-action/blob/master/LICENSE\" target=\"_blank\"\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/github/license/dflydev/check-runs-action\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/dflydev\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Twitter: dflydev\" src=\"https://img.shields.io/twitter/follow/dflydev.svg?style=social\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/beausimensen\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Twitter: beausimensen\" src=\"https://img.shields.io/twitter/follow/beausimensen.svg?style=social\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003e Create and manage one or more GitHub [check runs](https://developer.github.com/v3/checks/runs/) per job.\n\n[GitHub Actions](https://github.com/features/actions) already creates a check run for every job. This is great if you can break your workflow into smaller jobs. But if any one job is doing several things for which you'd like feedback as it progresses you are out of luck.\n\nThis action allows you to create and manage GitHub check runs throughout the course of a single job.\n\n## 🚀 Quick start\n\n### Just one, please\n\nThe following is a quick example showing how `dflydev/check-runs-action` can be used to report a [check run](https://developer.github.com/v3/checks/runs/).\n\n```yml\njobs:\n  build:\n    name: Build PHP Library\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v2\n      - name: Set up PHP, with Composer and extensions\n        uses: shivammathur/setup-php@v2\n        with:\n          php-version: 7.4\n          coverage: pcov\n\n      - name: PHPUnit\n        id: phpunit\n        continue-on-error: true\n        run: ./vendor/bin/phpunit --coverage-text\n\n      - name: Report PHPUnit Conclusion\n        if: always()\n        uses: dflydev/check-runs-action@v1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          id: phpunit\n          conclusion: ${{ steps.phpunit.outcome }}\n```\n\n### Expect a bunch of things to happen\n\nThe following is a quick example showing how `dflydev/check-runs-action` can be used to create multiple check runs in advance with the status `queued`.\n\n```yml\njobs:\n  build:\n    name: Build Laravel Application\n    runs-on: ubuntu-latest\n    steps:\n      - name: Prepare Check Runs\n        uses: dflydev/check-runs-action@v1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          checks: |\n            [\n              { \"id\": \"phpunit\", \"name\": \"PHPUnit\" },\n              { \"id\": \"psalm\", \"name\": \"Psalm\" },\n              { \"id\": \"phpcs\", \"name\": \"PHP_CodeSniffer\" },\n              { \"id\": \"eslint\", \"name\": \"ESLint\" },\n              { \"id\": \"assets\", \"name\": \"npm run production\" },\n              { \"id\": \"dusk\", \"name\": \"Dusk\" }\n            ]\n          status: \"queued\"\n```\n\nBefore running an individual step (like `phpunit`, `psalm`, `phpcs`, `eslint`, `assets` or `dusk`), the status can be updated to `in_progress`.\n\n```yml\njobs:\n  build:\n    steps:\n      - name: Report PHPUnit Starting\n        uses: dflydev/check-runs-action@v1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          id: phpunit\n          status: in_progress\n```\n\nExecute something that may pass or fail.\n\nIn order to actually do something meaningful with fails, you need to pass `true` for `continue-on-error`. It is also important to give these steps an `id` so that following actions (like `check-runs-action`) can capture the outcome.\n\n```yml\njobs:\n  build:\n    steps:\n      - name: PHPUnit\n        id: phpunit\n        continue-on-error: true\n        run: ./vendor/bin/phpunit --coverage-text\n```\n\nAfter individual steps have been completed, they can be marked with their conclusion.\n\nTo work with `continue-on-error`, it is recommended to use `steps.\u003cstep id\u003e.outcome`.\n\nSet `fail-on-error` to `true` if the job should fail after reporting a failed conclusion.\n\n```yml\njobs:\n  build:\n    steps:\n      - name: Report PHPUnit Conclusion\n        if: always()\n        uses: dflydev/check-runs-action@v1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          id: phpunit\n          conclusion: ${{ steps.phpunit.outcome }}\n          fail-on-error: true\n```\n\nFinally, steps that have not been marked with a conclusion can be finalized to a specifed conclusion. This ensures there will be no checks defined upfront stuck in a non-final state when the job ends.\n\n```yml\njobs:\n  build:\n    steps:\n      - name: Clean up checks\n        if: always()\n        uses: dflydev/check-runs-action@v1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          conclusion: cancelled\n```\n\n\n## Author\n\n👥 **dflydev**\n\n* Website: [dflydev.com](https://dflydev.com?utm_source=check-runs-action\u0026utm_medium=readme-author)\n* Twitter: [@dflydev](https://twitter.com/dflydev)\n* Github: [@dflydev](https://github.com/dflydev)\n\n👤 **Beau Simensen**\n\n* Website: [beausimensen.com](https://beausimensen.com?utm_source=check-runs-action\u0026utm_medium=readme-author)\n* Twitter: [@dflydev](https://twitter.com/beausimensen)\n* Github: [@simensen](https://github.com/simensen)\n\n\n## 💡 Inspiration\n\nThis project was heavily inspired by [GitHub Checks](https://github.com/LouisBrunner/checks-action) action. If you only need one check run per job and do not want to specify an arbitrary `id`, check out that action instead!\n\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\u003cbr /\u003eFeel free to check [issues page](https://github.com/dflydev/check-runs-action/issues).\n\n\n## ❤️ Support the development\n\nGive a ⭐️ if this project helped you!\n\nDid this project save you time? Did this project increase your productivity? Did this project solve a problem for you? Did this project make your life easier? Please also consider donating or buying a license!\n\n* [Sponsor Beau Simensen on GitHub](https://github.com/sponsors/simensen)\n* [Sponsor dflydev on GitHub](https://github.com/sponsors/dflydev)\n* [Sponsor dflydev on OpenCollecctive](https://opencollective.com/dflydev)\n* [License or sponsor on Gitstore](https://enjoy.gitstore.app/repositories/dflydev/check-runs-action)\n\n\n## 📝 License\n\nCopyright © 2020 [dflydev](https://github.com/dflydev).\u003cbr /\u003e\nThis project is [MIT](https://github.com/dflydev/check-runs-action/blob/master/LICENSE) licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdflydev%2Fcheck-runs-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdflydev%2Fcheck-runs-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdflydev%2Fcheck-runs-action/lists"}