{"id":21831375,"url":"https://github.com/nodef/ci-herokuaddon","last_synced_at":"2026-05-16T20:32:35.455Z","repository":{"id":54276990,"uuid":"107175771","full_name":"nodef/ci-herokuaddon","owner":"nodef","description":"Heroku Addon Support for Continuous Integration.","archived":false,"fork":false,"pushed_at":"2022-01-19T18:38:00.000Z","size":54,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-26T11:06:06.879Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/ci-herokuaddon","language":"JavaScript","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/nodef.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}},"created_at":"2017-10-16T19:50:47.000Z","updated_at":"2022-01-19T14:58:35.000Z","dependencies_parsed_at":"2022-08-13T10:41:01.868Z","dependency_job_id":null,"html_url":"https://github.com/nodef/ci-herokuaddon","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/nodef%2Fci-herokuaddon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fci-herokuaddon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fci-herokuaddon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fci-herokuaddon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nodef","download_url":"https://codeload.github.com/nodef/ci-herokuaddon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244803664,"owners_count":20512964,"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":"2024-11-27T19:10:03.619Z","updated_at":"2026-05-16T20:32:35.450Z","avatar_url":"https://github.com/nodef.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Heroku Addon Support for Continuous Integration.\n\n```text\nI wanted to have a PostgreSQL server (connection string) for running tests\nin Travis CI (an automated testing and deploying system). SO, this is the\nresult. You can connect to this server using HTTP or WebSocket. Once this\napp has a free database in its pool, it will return its connections string\nupon connection. You can use it any way you like to run your tests, and then\nwhen you are done, you can simply disconnect, which will release the database\nback to the pool, where it is reset and login credentials are changed. Note:\nwith HTTP however, there is a timeout after which you are automatically\nconsidered disconnected.\n\nHosted PostgreSQL CI:\nhttps://ci-postgresql.herokuapp.com/\nwss://ci-postgresql.herokuapp.com/\n```\n\n```bash\n# NOTE:\n# The app with addons (pool app) must be different from the app\n# that uses the addons because heroku resets the pool app each\n# time a configuration variable is changed.\n```\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n```bash\n# set heroku cli login in environment variables\nHEROKU_CLI_LOGIN=youremail@domain.com\nHEROKU_CLI_PASSWORD=yourpassword\n\n# set server options in environment variables\n# for PostgreSQL CI_CONFIG=(HEROKU_POSTGRESQL|DATABASE)\\S*URL\nCI_ID=yourname\nCI_APP=yourpoolapp\nCI_LOG=booleanvalue\nCI_CONFIG=poolconfigregex\nCI_PING=websocketpingperiodinmilliseconds\nCI_TIMEOUT=httptimeoutinmilliseconds\n\n# also as of now you also need to purge cache before build\nheroku repo:purge_cache -a yourpoolapp\n```\n\n\u003cbr\u003e\n\n```javascript\n// NOTE: this can also be used as a module\nvar AddonPool = require('ci-addonpool');\n// AddonPool(\u003cid\u003e, \u003cpool app\u003e, \u003coptions\u003e);\n\nvar pgpool = AddonPool('pgpool', 'mypoolapp', {\n  'log': true,\n  'config': /(HEROKU_POSTGRESQL|DATABASE)\\S*URL/g,\n  'ping': 8000,\n  'timeout': 60000\n});\n```\n\n![](https://ga-beacon.deno.dev/G-RC63DPBH3P:SH3Eq-NoQ9mwgYeHWxu7cw/github.com/nodef/ci-herokuaddon)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodef%2Fci-herokuaddon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodef%2Fci-herokuaddon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodef%2Fci-herokuaddon/lists"}