{"id":27881873,"url":"https://github.com/src-d/ci","last_synced_at":"2025-05-05T05:06:00.491Z","repository":{"id":79453970,"uuid":"91474790","full_name":"src-d/ci","owner":"src-d","description":"Make-based build system for Go projects at source{d}","archived":false,"fork":false,"pushed_at":"2019-10-18T12:15:34.000Z","size":200,"stargazers_count":5,"open_issues_count":10,"forks_count":16,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-05-05T05:05:54.028Z","etag":null,"topics":["appveyor","continuous-integration","golang","makefile","travis"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/src-d.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}},"created_at":"2017-05-16T15:33:08.000Z","updated_at":"2019-12-02T13:11:41.000Z","dependencies_parsed_at":"2023-04-23T12:31:50.805Z","dependency_job_id":null,"html_url":"https://github.com/src-d/ci","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/src-d%2Fci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/src-d%2Fci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/src-d%2Fci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/src-d%2Fci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/src-d","download_url":"https://codeload.github.com/src-d/ci/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252442486,"owners_count":21748451,"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","continuous-integration","golang","makefile","travis"],"created_at":"2025-05-05T05:05:59.995Z","updated_at":"2025-05-05T05:06:00.480Z","avatar_url":"https://github.com/src-d.png","language":"Shell","readme":"# source{d} CI\n\n## `master` branch is deprecated, please go to [`v1` branch](https://github.com/src-d/ci/tree/v1)\n\nThis project contains the common CI configuration for all source{d} Go projects, including the following functionalities:\n\n* Automatic docker image upload on tag. It will upload the image to `$(DOCKER_ORG)/$(PROJECT)` on the given `DOCKER_REGISTRY`.\n* Automatic upload of built binaries to GitHub releases on tag.\n* Tests with coverage (using codecov.io).\n\nRight now, this has only been tested with TravisCI.\n\n- [Makefile](https://github.com/src-d/ci/blob/master/examples/ci/Makefile): a common Makefile that should be included in all source{d}'s Go projects. Just set up some variables:\n  - **PROJECT**: the project's name (mandatory).\n  - **COMMANDS**: packages and subpackages to be compiled as binaries (mandatory).\n  - **DOCKERFILES**: dockerfiles presents in the project (optional).\n\n- [.travis.yml](https://github.com/src-d/ci/blob/master/examples/ci/.travis.yml): config file used by TravisCI to create the build and such. Ideally, it's just necessary to specify the CODECOV_TOKEN and the proper project's name under the deploy section.\n\nUse the files under [examples](https://github.com/src-d/ci/tree/master/examples) as a template.\n\nYou will need to configure the following environment variables and make them available during the build process:\n\n* `DOCKER_ORG`: docker organisation name.\n* `DOCKER_USERNAME`: username of the registry account.\n* `DOCKER_PASSWORD`: password of the registry account.\n* `DOCKER_REGISTRY`: docker registry where images will be pushed.\n\nAlso, for publishing to GitHub, you will need to provide a GitHub API key.\n\nFor that, in travis, you can use the `env`. If your project is public, make sure to use [secrets](https://docs.travis-ci.com/user/encryption-keys/).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrc-d%2Fci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrc-d%2Fci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrc-d%2Fci/lists"}