{"id":20838386,"url":"https://github.com/reload/action-approve-failure","last_synced_at":"2025-05-08T20:35:01.380Z","repository":{"id":39385598,"uuid":"435532585","full_name":"reload/action-approve-failure","owner":"reload","description":"GitHub action that let's you turn failure into success. For a short while.","archived":false,"fork":false,"pushed_at":"2025-05-01T06:04:23.000Z","size":1148,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-01T06:19:29.120Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","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/reload.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-06T14:41:45.000Z","updated_at":"2025-05-01T06:04:26.000Z","dependencies_parsed_at":"2023-02-17T02:31:19.860Z","dependency_job_id":"de4b344a-7dbc-4501-9b90-e7e17bfaf778","html_url":"https://github.com/reload/action-approve-failure","commit_stats":{"total_commits":47,"total_committers":3,"mean_commits":"15.666666666666666","dds":"0.44680851063829785","last_synced_commit":"cd41247e7557a4927c3655a6f3e1765f11a6cce9"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reload%2Faction-approve-failure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reload%2Faction-approve-failure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reload%2Faction-approve-failure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reload%2Faction-approve-failure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reload","download_url":"https://codeload.github.com/reload/action-approve-failure/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253146083,"owners_count":21861332,"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":["hacktoberfest"],"created_at":"2024-11-18T01:10:04.492Z","updated_at":"2025-05-08T20:35:01.300Z","avatar_url":"https://github.com/reload.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# action-approve-failure\n\nGitHub action that let's you turn failure into success. For a short while.\n\n## Example\n\nPresume you have a couple of jobs that run on pull requests.\n(These are merely examples but take a look in `.github/workflows` for closer inspection)\n\n```yaml\nname: Checks\n\non: pull_request\n\njobs:\n  checks:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n\n      - uses: LouisBrunner/checks-action@v1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          name: BackstopJS visual test\n          conclusion: failure\n\n      - uses: LouisBrunner/checks-action@v1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          name: ESLint\n          conclusion: failure\n```\n\nThese jobs might from time to time need to be forced into success since a failure\nmight just be a new state.\n\nIn comes `action-approve-failure`:\n\n```yaml\nname: Approve failure\n\non:\n  issue_comment:\n    types: [created]\n\njobs:\n  approve-failure:\n    # This condition is important since you want to prevent all of the steps\n    # from running as early as possible if the comment isn't in a PR.\n    if: ${{ github.event.issue.pull_request }}\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n\n      - uses: reload/action-approve-failure@main\n        name: Approve BackstopJS\n        with:\n          github_token: ${{ github.token }}\n          type: status\n          name: BackstopJS visual test\n          approve_comment: backstop-check approve\n\n      - uses: reload/action-approve-failure@main\n        name: Approve ESLint\n        with:\n          github_token: ${{ github.token }}\n          type: check\n          name: ESLint\n          approve_comment: eslint-check approve\n```\n\nNow, by simply commenting `backstop-check approve` you can turn that `failure`\ninto a `success`. The victory is short lived though. Whenever the PR get's\nupdated and the jobs re-run your override will be lost and you are forced to\nyet again determine if this failure is change of state or an actual failure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freload%2Faction-approve-failure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freload%2Faction-approve-failure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freload%2Faction-approve-failure/lists"}