{"id":18648603,"url":"https://github.com/buildpulse/buildpulse-semaphore","last_synced_at":"2025-11-05T08:30:24.748Z","repository":{"id":125592322,"uuid":"268813503","full_name":"buildpulse/buildpulse-semaphore","owner":"buildpulse","description":"Semaphore CI integration for connecting to BuildPulse for flaky test detection ","archived":false,"fork":false,"pushed_at":"2024-03-08T14:49:54.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-27T12:28:51.607Z","etag":null,"topics":["flake-detection","semaphoreci"],"latest_commit_sha":null,"homepage":"https://buildpulse.io","language":"Shell","has_issues":false,"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/buildpulse.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":"2020-06-02T13:48:01.000Z","updated_at":"2023-02-02T14:45:55.000Z","dependencies_parsed_at":"2024-12-27T12:35:16.160Z","dependency_job_id":null,"html_url":"https://github.com/buildpulse/buildpulse-semaphore","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildpulse%2Fbuildpulse-semaphore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildpulse%2Fbuildpulse-semaphore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildpulse%2Fbuildpulse-semaphore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildpulse%2Fbuildpulse-semaphore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/buildpulse","download_url":"https://codeload.github.com/buildpulse/buildpulse-semaphore/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239450713,"owners_count":19640781,"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":["flake-detection","semaphoreci"],"created_at":"2024-11-07T06:32:43.412Z","updated_at":"2025-11-05T08:30:24.718Z","avatar_url":"https://github.com/buildpulse.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Semaphore CI Integration for BuildPulse [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/buildpulse/buildpulse-semaphore/master/LICENSE)\n\nConnect your [Semaphore][semaphoreci.com] workflows to [BuildPulse][buildpulse.io] to help you find and [fix flaky tests](https://buildpulse.io/products/flaky-tests).\n\n## Usage\n\n1. Locate the BuildPulse credentials for your account at [buildpulse.io][]\n2. In your organization settings on [semaphoreci.com][], [create a secret](https://docs.semaphoreci.com/essentials/using-secrets/#creating-and-managing-secrets) named `buildpulse-credentials`\n3. In the `buildpulse-credentials` secret, add two environment variables:\n    - One named `BUILDPULSE_ACCESS_KEY_ID` with the value set to the `BUILDPULSE_ACCESS_KEY_ID` for your account\n    - One named `BUILDPULSE_SECRET_ACCESS_KEY` with the value set to the `BUILDPULSE_SECRET_ACCESS_KEY` for your account\n4. Add the following `epilogue` clause and `secrets` clause to your Semaphore workflow file:\n\n    ```yaml\n    blocks:\n      - name: Run tests\n        task:\n          jobs:\n            - name: Run tests\n              commands:\n                - checkout\n                - echo \"Run your tests and generate XML reports for your test results\"\n          epilogue:\n            always: # Run these commands even when the tests fail\n              commands:\n                # Upload test results to BuildPulse for flaky test detection\n                - curl -fsSL --retry 3 --retry-connrefused https://get.buildpulse.io/test-reporter-linux-amd64 \u003e ./buildpulse-test-reporter\n                - chmod +x ./buildpulse-test-reporter\n                - ./buildpulse-test-reporter submit \u003cpath\u003e --account-id \u003cbuildpulse-account-id\u003e --repository-id \u003cbuildpulse-repository-id\u003e\n          secrets:\n            - name: buildpulse-credentials\n    ```\n\n5. In your workflow file, replace `\u003cpath\u003e` with the actual path containing the XML reports for your test results\n6. Also in your workflow file, replace `\u003cbuildpulse-account-id\u003e` and `\u003cbuildpulse-repository-id\u003e` with your account ID and repository ID from [buildpulse.io][]\n\n[buildpulse.io]: https://buildpulse.io\n[semaphoreci.com]: https://semaphoreci.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuildpulse%2Fbuildpulse-semaphore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbuildpulse%2Fbuildpulse-semaphore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuildpulse%2Fbuildpulse-semaphore/lists"}