{"id":19249988,"url":"https://github.com/prebuild/prebuild-ci","last_synced_at":"2025-04-21T12:32:47.908Z","repository":{"id":14005039,"uuid":"75628192","full_name":"prebuild/prebuild-ci","owner":"prebuild","description":"Use CI to auto upload prebuilds","archived":false,"fork":false,"pushed_at":"2023-11-01T09:44:21.000Z","size":46,"stargazers_count":18,"open_issues_count":3,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-19T14:54:06.182Z","etag":null,"topics":["appveyor","ci","native-development","prebuild","travis"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/prebuild.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}},"created_at":"2016-12-05T13:38:44.000Z","updated_at":"2024-05-30T21:30:08.000Z","dependencies_parsed_at":"2024-06-18T18:33:44.251Z","dependency_job_id":"298b115b-fc09-44f5-af26-1c041e0c5b74","html_url":"https://github.com/prebuild/prebuild-ci","commit_stats":{"total_commits":64,"total_committers":7,"mean_commits":9.142857142857142,"dds":0.34375,"last_synced_commit":"f4e16ac842c33b73cf9f17a0890e0d1ce23946c1"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prebuild%2Fprebuild-ci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prebuild%2Fprebuild-ci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prebuild%2Fprebuild-ci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prebuild%2Fprebuild-ci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prebuild","download_url":"https://codeload.github.com/prebuild/prebuild-ci/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250056189,"owners_count":21367502,"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":["appveyor","ci","native-development","prebuild","travis"],"created_at":"2024-11-09T18:15:54.960Z","updated_at":"2025-04-21T12:32:47.668Z","avatar_url":"https://github.com/prebuild.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# prebuild-ci\n\nUse CI like GitHub Actions, [Travis](https://travis-ci.org/) and [AppVeyor](https://www.appveyor.com/) to auto upload [prebuilds](https://github.com/prebuild/prebuild). Requires you to use `prebuild@6` or later.\n\n[![npm](https://img.shields.io/npm/v/prebuild-ci.svg)](https://www.npmjs.com/package/prebuild-ci)\n[![Node version](https://img.shields.io/node/v/prebuild-ci.svg)](https://www.npmjs.com/package/prebuild-ci)\n[![Test](https://img.shields.io/github/workflow/status/prebuild/prebuild-ci/Test?label=test)](https://github.com/prebuild/prebuild-ci/actions/workflows/test.yml)\n[![Standard](https://img.shields.io/badge/standard-informational?logo=javascript\u0026logoColor=fff)](https://standardjs.com)\n\n## Motivation\n\nIt's great to provide prebuilds with your native node modules, so consumers don't have to compile them on install - a pre made binary will simply be fetched.\nIt can however be cumbersome to create those binaries yourself, you need to run the appropriate scripts on every OS you desire to ship.\nThis module provides an alternative by creating and uploading those binaries in the CI environments you use, so for example using travis and appveyor you can\ncover all node versions on mac OS, linux and windows, automatically!\n\n## Usage\n\nAdd `prebuild-ci` to your `\"test\"` script or CI configuration, like this:\n\n```json\n  \"scripts\": {\n    \"test\": \"mocha \u0026\u0026 prebuild-ci\"  \n  }\n```\n\nAlso configure your CI environments to set the environment variable `PREBUILD_TOKEN` to your [prebuild upload token](https://github.com/mafintosh/prebuild#create-github-token), and make sure this variable is only set on pull requests from the same repository.\n\nThen, whenever a CI job passes _and_ updates `\"version\"` in the module's `package.json`, the prebuild for the current environment will be uploaded to GitHub.\n\nThat means that in order to have prebuilds for all desired os / node combinations, make sure to run each of those in a CI job.\n\n__Pro Tip:__ In order for prebuilds to be available as soon as a new version is published to npm, wait with the actual `npm publish` until all the CI jobs have completed.\n\n## Installation\n\n```bash\n$ npm install --save prebuild-ci\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprebuild%2Fprebuild-ci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprebuild%2Fprebuild-ci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprebuild%2Fprebuild-ci/lists"}