{"id":19736789,"url":"https://github.com/travis-ci/travis-config","last_synced_at":"2025-04-30T04:32:20.056Z","repository":{"id":22078072,"uuid":"25407505","full_name":"travis-ci/travis-config","owner":"travis-ci","description":"How does one configure :dancer:","archived":false,"fork":false,"pushed_at":"2024-02-27T12:35:53.000Z","size":110,"stargazers_count":6,"open_issues_count":1,"forks_count":7,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-11-02T03:18:06.289Z","etag":null,"topics":["configuration","heroku","yaml"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/travis-ci.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}},"created_at":"2014-10-18T19:22:34.000Z","updated_at":"2023-03-27T10:18:48.000Z","dependencies_parsed_at":"2024-02-27T10:53:58.678Z","dependency_job_id":null,"html_url":"https://github.com/travis-ci/travis-config","commit_stats":{"total_commits":96,"total_committers":8,"mean_commits":12.0,"dds":0.3125,"last_synced_commit":"0c5b76989c5da2b842e8ef02eb3082df09abe6c2"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/travis-ci%2Ftravis-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/travis-ci%2Ftravis-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/travis-ci%2Ftravis-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/travis-ci%2Ftravis-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/travis-ci","download_url":"https://codeload.github.com/travis-ci/travis-config/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224197929,"owners_count":17271999,"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":["configuration","heroku","yaml"],"created_at":"2024-11-12T01:08:31.839Z","updated_at":"2024-11-12T01:08:32.390Z","avatar_url":"https://github.com/travis-ci.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Travis Config\n\nShared way of loading and reading configuration in Travis CI.\n\nInternal documentation for Travis CI Builders on how configs are loaded for Travis apps can be found [here](https://github.com/travis-pro/team-teal/wiki/How-config-files-are-handled). (not publicly accessible)\n\nUsers can either set defaults and include logic directly to the class\n`Travis::Config` or extend the class to, e.g. `Travis::Logs::Config`.\n\nE.g.\n\n```ruby\nrequire 'travis/config'\n\nmodule Travis\n  class Config \u003c Hashr\n    define  host:  'travis-ci.org'\n\n    def foo\n      :foo\n    end\n  end\nend\n```\n\nOr:\n\n```ruby\nrequire 'travis/config'\n\nmodule Travis::Logs\n  class Config \u003c Travis::Config\n    define  host:  'logs.travis-ci.org'\n\n    def foo\n      :foo\n    end\n  end\nend\n```\n\n### Config sources\n\nServeral config sources are supported:\n\n* Files: All files `config/travis.yml` and `config/travis/*.yml` are read and\n  merged (alpabetically sorted).\n* Env: `ENV['travis_config']` is parsed as YAML and merged, if present.\n* Heroku: The env vars `DATABASE_URL` or `SHARED_DATABASE_URL`, and `DB_POOL`\n  or `DATABASE_POOL_SIZE`, `REDIS_URL`, and `REDIS_POOL_SIZE` are merged into\n  the database config.\n* Docker: The env vars `POSTGRESQL_PORT`, `RABBITMQ_PORT`, and `REDIS_PORT` are\n  interpreted as resource URLs, and merged into the database config.\n\nConfiguration from all sources is merged before it is passed to the `Hashr`\ninstance. All merging is deep merging of Hashes on any level.\n\n### Doing a Rubygem release\n\nAny tool works. The current releases were done with\n[`gem-release`](https://github.com/svenfuchs/gem-release) which allows creating\na Git tag, pushing it to GitHub, building the gem and pushing it to Rubygems in\none go:\n\n```bash\n$ gem install gem-release\n$ gem bump --push --tag --release\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftravis-ci%2Ftravis-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftravis-ci%2Ftravis-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftravis-ci%2Ftravis-config/lists"}