{"id":24771070,"url":"https://github.com/pfcclab/ci-bypass","last_synced_at":"2026-05-15T07:02:09.789Z","repository":{"id":270735844,"uuid":"911303080","full_name":"PFCCLab/ci-bypass","owner":"PFCCLab","description":"Bypass CI checks for GitHub Actions","archived":false,"fork":false,"pushed_at":"2025-02-11T17:55:57.000Z","size":1007,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-11T18:47:48.346Z","etag":null,"topics":[],"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/PFCCLab.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-02T17:44:58.000Z","updated_at":"2025-02-11T17:55:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"d3d60487-a378-4b61-b370-5110ab039e2e","html_url":"https://github.com/PFCCLab/ci-bypass","commit_stats":null,"previous_names":["pfcclab/ci-bypass"],"tags_count":5,"template":false,"template_full_name":"actions/typescript-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PFCCLab%2Fci-bypass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PFCCLab%2Fci-bypass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PFCCLab%2Fci-bypass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PFCCLab%2Fci-bypass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PFCCLab","download_url":"https://codeload.github.com/PFCCLab/ci-bypass/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245163975,"owners_count":20571034,"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":[],"created_at":"2025-01-29T03:57:45.846Z","updated_at":"2026-05-15T07:02:09.782Z","avatar_url":"https://github.com/PFCCLab.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CI Bypass\n\nBypass CI checks for GitHub Actions.\n\nThis action allows some users have no maintainers permissions to bypass CI checks. It is useful for CI/CD team to bypass CI checks on some special cases.\n\n## Usage\n\n### Skip job\n\n```yaml\njobs:\n  check-bypass:\n    name: Check Bypass\n    runs-on: ubuntu-slim\n    permissions:\n      contents: read\n    outputs:\n      can-skip: ${{ steps.check-bypass.outputs.can-skip }}\n    steps:\n      - id: check-bypass\n        name: Check Bypass\n        uses: PFCCLab/ci-bypass@v2\n        with:\n          github-token: ${{ secrets.GITHUB_TOKEN }}\n          non-pull-request-event-strategy: 'always-skipped'\n          type: 'labeled'\n          label: 'ci-bypass: example | ci-bypass: all'\n          username: 'SigureMo'\n\n  build:\n    needs: check-bypass\n    if: ${{ needs.check-bypass.outputs.can-skip != 'true' }}\n    name: Build\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Run build\n        run: echo \"Run build\"\n```\n\n### Skip steps\n\n```yaml\npermissions:\n  contents: read\njobs:\n  build:\n    name: Build\n    runs-on: ubuntu-latest\n\n    steps:\n      - id: check-bypass\n        name: Check Bypass\n        uses: PFCCLab/ci-bypass@v2\n        with:\n          github-token: ${{ secrets.GITHUB_TOKEN }}\n          non-pull-request-event-strategy: 'always-skipped'\n          type: 'labeled'\n          label: 'ci-bypass: example | ci-bypass: all'\n          username: 'SigureMo'\n      - name: Run build\n        if: ${{ steps.check-bypass.outputs.can-skip != 'true' }}\n        run: echo \"Run build\"\n```\n\n### Skip with composite rule\n\n```yaml\npermissions:\n  contents: read\njobs:\n  build:\n    name: Build\n    runs-on: ubuntu-latest\n\n    steps:\n      - id: check-bypass\n        name: Check Bypass\n        uses: PFCCLab/ci-bypass@v2\n        with:\n          github-token: ${{ secrets.GITHUB_TOKEN }}\n          non-pull-request-event-strategy: 'always-skipped'\n          type: 'composite'\n          composite-rule: |\n            {\n               \"any\": [\n                  {\n                     \"type\": \"labeled\",\n                     \"label\": [\"ci-bypass: example\", \"ci-bypass: all\"],\n                     \"username\": [\"SigureMo\"]\n                  },\n                  {\n                     \"type\": \"commented\",\n                     \"comment-pattern\": [\".*/bypass example.*\", \".*/bypass all.*\"],\n                     \"username\": [\"SigureMo\"]\n                  },\n                  {\n                     \"type\": \"approved\",\n                     \"username\": [\"SigureMo\", \"gouzil\"]\n                  }\n               ]\n            }\n      - name: Run build\n        if: ${{ steps.check-bypass.outputs.can-skip != 'true' }}\n        run: echo \"Run build\"\n```\n\n### All options\n\n\u003c!-- prettier-ignore --\u003e\n| Name | Description | Required | Default |\n| - | - | - | - |\n| `github-token` | GitHub token to access GitHub API | false | `undefined` |\n| `non-pull-request-event-strategy` | Strategy to apply to non-pull-request events, can be always-skipped, never-skipped, or always-failed, default is always-failed | true | `always-failed` |\n| `type` | Type of the rule, can be `labeled`, `commented`, `approved`, or `composite` | true | `labeled` |\n| `username` | Username, can be a string or an array of strings separated by `\\|` | false | `undefined` |\n| `user-team` | User team, can be a string or an array of strings separated by `\\|` | false | `undefined` |\n| `label` | Label name, can be a string or an array of strings separated by `\\|` | false | `undefined` |\n| `comment-pattern` | Comment regex pattern, can be a string or an array of strings separated by `\\|` | false | `undefined` |\n| `composite-rule` | Use any, all or not to combine multiple rules, need to be a JSON string | false | `undefined` |\n\n\u003e [!NOTE]\n\u003e\n\u003e `user-team` needs `read:org` permission, but the default `GITHUB_TOKEN` doesn't have this permission. You need to create a personal token with `read:org` permission.\n\n## Contributing\n\n### Initial setup\n\n1. Install the dependencies:\n\n   ```bash\n   vp install\n   ```\n\n2. Run checks and tests:\n\n   ```bash\n   vp check\n   vp test\n   ```\n\n3. Build the bundled action output:\n\n   ```bash\n   vp pack\n   ```\n\n## Acknowledgement\n\n- [Legorooj/skip-ci](https://github.com/Legorooj/skip-ci) - Provide a way to skip CI checks in GitHub Actions.\n- [ast-grep/ast-grep](https://github.com/ast-grep/ast-grep) - Provide a interface to combine multiple rules.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfcclab%2Fci-bypass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpfcclab%2Fci-bypass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfcclab%2Fci-bypass/lists"}