{"id":23100006,"url":"https://github.com/keep-network/ci","last_synced_at":"2025-08-16T13:32:15.517Z","repository":{"id":42063305,"uuid":"351179956","full_name":"keep-network/ci","owner":"keep-network","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-21T16:09:59.000Z","size":939,"stargazers_count":1,"open_issues_count":6,"forks_count":10,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-04-13T00:15:10.977Z","etag":null,"topics":[],"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/keep-network.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}},"created_at":"2021-03-24T18:13:06.000Z","updated_at":"2022-01-03T14:19:15.000Z","dependencies_parsed_at":"2023-02-08T19:46:37.656Z","dependency_job_id":"bec33e32-743f-45f9-83a1-3d8629d8cad3","html_url":"https://github.com/keep-network/ci","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-network%2Fci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-network%2Fci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-network%2Fci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-network%2Fci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keep-network","download_url":"https://codeload.github.com/keep-network/ci/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230039855,"owners_count":18163471,"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-12-16T23:29:24.889Z","updated_at":"2024-12-16T23:29:25.578Z","avatar_url":"https://github.com/keep-network.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ci\n\nThe `ci` repository stores configuration files, libraries and custom GHA actions\nthat are used in the Keep/tBTC Continous Integration process. It also contains\nthe GitHub Actions workflow (`Main`) that acts as an entry point for\ninter-module builds.\n\n## Storing environment-specific variables\n\nNon-confidential, environment/network-specific variables used in some of the\nGitHub Actions workflows across `keep-network` repositories are stored in the\n`*.env` files under `config/env`. The `keep-network/load-env-variables` GH\nAction can be used to retrieve the data and load it to the workflow runner's\ncontext. Learn more from the Actions'\n[README](https://github.com/keep-network/load-env-variables/blob/main/README.md).\n\n## Inter-module dependency management\n\nThe `Main` workflow (accessible via `Actions` tab) acts as a single entry point\nfor inter-module builds. Triggering this workflow via a workflow_dispatch event\nwill start the chain of automatic executions of the workflows which\nbuild/publish Keep/tBTC modules, according to the order specified in the\n`config/config.json` file. Properly configured order allows the system to\nexecute the downstream builds only after the upstream dependencies are built and\npublished.\n\nTo trigger the `Main` workflow, one needs to provide the following four inputs:\n\n| Label             | Name | Required? | Default value      | Meaning |\n|-------------------|------|-----------|--------------------|--------|\n| Use workflow from |      | Yes       | `Branch: master`   | Specifies which version of the `Main`‘s workflow config file will be used. |\n| The environment to run the build for | `environment` | No | `ropsten` | Specified value will be passed between downstream builds and used for package versioning and dependency management (the provided string will be part of a package's version name). |\n| Upstream builds | `upstream_builds` | No | \u0026lt;empty\u003e | A list of upstream builds that should be used for the building of downstream modules. |\n| Ref |`upstream_ref` | No | `master` | Specifies the branch on which the modules will be built. | \n\nLearn more about the deployment process and the meaning of the workflow inputs\nby visiting\n[Coda](https://coda.io/d/Building-Keep_d-fmEgBNFVH/Current-CI-process_su1ww#_lupK9).\n\n## Custom GitHub Actions actions\n\nThe repository stores a couple of custom GitHub Actions which are used in the\nKeep/tBTC Continous Integration process. The actions' code is kept in the\n`actions` directory. Currently, following actions are stored (you can learn more\nabout them by reading their READMEs):\n* [load-env-variables](./actions/load-env-variables)\n* [notify-workflow-completed](./actions/notify-workflow-completed)\n* [run-workflow](./actions/run-workflow)\n* [upstream-builds-query](./actions/upstream-builds-query)\n\n## Development\n\nPart of the code stored in the `ci` repository is used as a dependency in the\nactions stored in that repository. If this `ci` code gets modified, the code of\nthe actions referencing it needs to be rebuilt in order for the changes to take\neffect.\n\nCode that is referenced by some of the actions:\n* `config/**` (excluding `config/env/**`)\n* `lib/**`\n\nActions requiring rebuild after changes in above files:\n* [notify-workflow-completed](./actions/notify-workflow-completed)\n* [run-workflow](./actions/run-workflow)\n* [upstream-builds-query](./actions/upstream-builds-query)\n\nRefer to the READMEs of those actions for more information about rebuilding the\ncode.\n\n## Monitoring\n\nThe following tools can be used to monitor state of the code and deployments:\n* [AllTheKeeps for Ropsten](https://allthekeeps.test.keep.network/deposits)\n* [Keep Clients Summary](https://monitoring.test.keep.network/d/3r-BohOMz/keep-clients-summary?orgId=1\u0026refresh=30s)\n* Meercode Dashboards with GitHub Actions results:\n  - [Relay request submitter / Testnet](https://meercode.io/public/list/af470c2ebc0da4a0b0cce2589660781e:f385a85f1b9ca5b44b35b1d61405b8569c4664f6cf41a8e71283d45ff4ff61b8f20f11dbb75d767c51a809ccd2ea06af)\n  - [E2E tests in `local-setup`](https://meercode.io/public/list/acef9c5954837d43d0249f46d8c38306:2f621d7a4bbef9f85bb4430a88ead6d456ebdadbb7df6fb51a0aab7c10ec457031e7b0f0ee6b0408c7654a3a51057998)\n  - [Daily builds and unit tests](https://meercode.io/public/list/a35b93b575273416124a32f8cd9d1d5f:60fde75491810d92b496eed2bb3ce55ec4124ca10a75cb4273dcad863e8f4d94b51fbbbe4cb07ecbfb40fc4edef71464)\n  - [Deployment on Ropsten](https://meercode.io/public/list/41935b8f5ffcabfd0c0d63412547d720:1c3901d698c5c033914774f1cc5b8ffed254357a89c7a59b20f0c909db2141aa3e23b7a2080036f914c66f3f5cd69fdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeep-network%2Fci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeep-network%2Fci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeep-network%2Fci/lists"}