{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":590158156,"defaultBranch":"main","name":"ubicloud","ownerLogin":"ubicloud","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-01-17T19:29:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/121406468?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717847100.0","currentOid":""},"activityList":{"items":[{"before":"dcf3fd403589e45f3d018f284f737d6b7d26586c","after":"71c904aa388f412a29c629a6a7cfd3ad0a62443a","ref":"refs/heads/ben/upgrade_ch","pushedAt":"2024-06-08T17:45:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bsatzger","name":"Benjamin Satzger","path":"/bsatzger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/53236451?s=80&v=4"},"commit":{"message":"Add Prog to download Cloud Hypervisor on-demand\n\nIntroduce a `DownloadCloudHypervisor` prog that facilitates\ndownloading new versions of cloud hypervisor from the control\nplane. This functionality depends on the\n`host/bin/download-cloud-hypervisor` script. A new method,\n`download_cloud_hypervisor`, has been added to `VmHost`,\nenabling the download of new firmware versions to hosts via REPL.\n\nUsage examples:\n\nTo download a new version 35.1 to a single host:\n```rb\nvmh.download_cloud_hypervisor(\n version_x64: \"35.1\",\n sha256_ch_bin_x64: \"e842...\",\n sha256_ch_remote_x64: \"337b...\"\n)\n```\n\nTo download a new version to all hosts:\n```rb\nVmHost.all.map { _1.download_cloud_hypervisor(\n version_x64: \"35.1\",\n sha256_ch_bin_x64: \"e842...\",\n sha256_ch_remote_x64: \"337b...\",\n version_arm64: \"38.0\",\n sha256_ch_bin_arm64: \"c1c0...\",\n sha256_ch_remote_arm64: \"008f...\"\n)}\n```","shortMessageHtmlLink":"Add Prog to download Cloud Hypervisor on-demand"}},{"before":"c0ab100726cbf5a8c3b5c3c496e26ac53c7a495b","after":"dcf3fd403589e45f3d018f284f737d6b7d26586c","ref":"refs/heads/ben/upgrade_ch","pushedAt":"2024-06-08T17:09:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bsatzger","name":"Benjamin Satzger","path":"/bsatzger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/53236451?s=80&v=4"},"commit":{"message":"Add Prog to download Cloud Hypervisor on-demand\n\nIntroduce a `DownloadCloudHypervisor` prog that facilitates\ndownloading new versions of cloud hypervisor from the control\nplane. This functionality depends on the\n`host/bin/download-cloud-hypervisor` script. A new method,\n`download_cloud_hypervisor`, has been added to `VmHost`,\nenabling the download of new firmware versions to hosts via REPL.\n\nUsage examples:\n\nTo download a new version 35.1 to a single host:\n```rb\nvmh.download_cloud_hypervisor(\n version_x64: \"35.1\",\n sha256_ch_bin_x64: \"e842...\",\n sha256_ch_remote_x64: \"337b...\"\n)\n```\n\nTo download a new version to all hosts:\n```rb\nVmHost.all.map { _1.download_cloud_hypervisor(\n version_x64: \"35.1\",\n sha256_ch_bin_x64: \"e842...\",\n sha256_ch_remote_x64: \"337b...\",\n version_arm64: \"38.0\",\n sha256_ch_bin_arm64: \"c1c0...\",\n sha256_ch_remote_arm64: \"008f...\"\n)}\n```","shortMessageHtmlLink":"Add Prog to download Cloud Hypervisor on-demand"}},{"before":"a6b5764fc1c48ae6b8340e9192c5979ae0ca9c7a","after":"00ff828bdc3ac8171a0bcb98a6d14ca490205e40","ref":"refs/heads/fix-utilization","pushedAt":"2024-06-08T11:51:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Use all locations to calculate utilization for runner soft capacity\n\nWe check VM host utilization to let customers surpass soft capacity\nlimits. In the past, we only kept runner hosts in the 'github-runners'\nlocation. However, due to a recent allocator change, runners can now be\nprovisioned in any location if 'github-runners' lacks enough capacity.\nBy only using the 'github-runners' location, we underestimate capacity.\nWe need to assess capacity across all locations. I've removed the\nlocation filter.","shortMessageHtmlLink":"Use all locations to calculate utilization for runner soft capacity"}},{"before":null,"after":"a6b5764fc1c48ae6b8340e9192c5979ae0ca9c7a","ref":"refs/heads/fix-utilization","pushedAt":"2024-06-08T11:45:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Use all locations to calculate utilization for runner soft capacity\n\nWe check VM host utilization to let customers surpass soft capacity\nlimits. In the past, we only kept runner hosts in the 'github-runners'\nlocation. However, due to a recent allocator change, runners can now be\nprovisioned in any location if 'github-runners' lacks enough capacity.\nBy only using the 'github-runners' location, we underestimate capacity.\nWe need to assess capacity across all locations. I've removed the\nlocation filter.","shortMessageHtmlLink":"Use all locations to calculate utilization for runner soft capacity"}},{"before":null,"after":"acf659dbd02077852fd3bb7c54850847a23e2416","ref":"refs/heads/dependabot/bundler/ruby-dependencies-9bff0780c3","pushedAt":"2024-06-07T23:43:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump the ruby-dependencies group across 1 directory with 3 updates\n\nBumps the ruby-dependencies group with 3 updates in the / directory: [rubocop-rspec](https://github.com/rubocop/rubocop-rspec), [builder](https://github.com/rails/builder) and [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby).\n\n\nUpdates `rubocop-rspec` from 2.30.0 to 2.31.0\n- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)\n- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.30.0...v2.31.0)\n\nUpdates `builder` from 3.2.4 to 3.3.0\n- [Changelog](https://github.com/rails/builder/blob/master/CHANGES)\n- [Commits](https://github.com/rails/builder/compare/v3.2.4...v3.3.0)\n\nUpdates `concurrent-ruby` from 1.3.1 to 1.3.2\n- [Release notes](https://github.com/ruby-concurrency/concurrent-ruby/releases)\n- [Changelog](https://github.com/ruby-concurrency/concurrent-ruby/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.1...v1.3.2)\n\n---\nupdated-dependencies:\n- dependency-name: rubocop-rspec\n dependency-type: direct:development\n update-type: version-update:semver-minor\n dependency-group: ruby-dependencies\n- dependency-name: builder\n dependency-type: indirect\n update-type: version-update:semver-minor\n dependency-group: ruby-dependencies\n- dependency-name: concurrent-ruby\n dependency-type: indirect\n update-type: version-update:semver-patch\n dependency-group: ruby-dependencies\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump the ruby-dependencies group across 1 directory with 3 updates"}},{"before":"d312c7ef57c983b6b08cf9c7d9f0d1e72f24b322","after":null,"ref":"refs/heads/dependabot/bundler/ruby-dependencies-18cc369c88","pushedAt":"2024-06-07T23:43:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"273e7590e4d606b65de9aab8dc655b1a7f74f201","after":"aed3e74f7d70218501e09b4ebb5df09b276e65b5","ref":"refs/heads/cache-api","pushedAt":"2024-06-07T17:05:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Add commitCache endpoint\n\nThe client commit the cache entry after uploading content to the blob\nstorage. S3 compatible blob storage requires sending a\n`CompleteMultipartUpload` request following the content upload. This\nnecessitates an `UploadId` and `ETags` from each part of the upload.\n\nThe 'POST /caches/commit' endpoint ('commitCache' [^1]) sends a\n`CompleteMultipartUpload` request to the blob storage using the etags\nprovided by the client. Afterward, it marks the cache entry as\ncommitted, allowing other runners to access it.\n\n[^1]: https://github.com/ubicloud/toolkit/blob/d1df13e178816d69d96bdc5c753b36a66ad03728/packages/cache/src/internal/cacheHttpClient.ts#L339","shortMessageHtmlLink":"Add commitCache endpoint"}},{"before":"144830881539206f9c3adb0a288ca6499d3a771b","after":"a930f3e9fad6c348cb2c164dd5a6cb423b55403f","ref":"refs/heads/runner-still-job","pushedAt":"2024-06-07T16:28:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Handle the deletion of the runner with running job smoother\n\nBefore we destroy the underlying virtual machine of the runner, we must\nensure that it is not executing any job and has been deleted on GitHub's\nside. This precaution helps us avoid disrupting potentially active jobs.\n\nIdeally, when we initiate the runner's deletion, it should have already\ncompleted its job. However, in some instances, such as when the runner\nscript fails due to out-of-memory (OOM) errors, network issues, etc., it\nloses communication with GitHub. In such cases, GitHub delays marking\nthe runner as idle to rule out intermittent issues. If the runner is\nstill executing a job when we attempt its deletion, it raises an\n'Octokit::UnprocessableEntity' exception. Instead of raising this\nexception and logging the entire stack trace, we can simply nap for a\nwhile and retry the deletion.\n\nAdditionally, I have extended the deadline from 10 to 15 minutes.\nLately, we've encountered this situation due to some OOM errors.\nTypically, these are resolved between 10-15 minutes. There's no need for\nadditional page.","shortMessageHtmlLink":"Handle the deletion of the runner with running job smoother"}},{"before":null,"after":"e0f57d6a3bba4a323b84db511796d9a736a91367","ref":"refs/heads/spec-vm-helper","pushedAt":"2024-06-07T15:25:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Add create_vm spec helper\n\nWe create a VM model using dummy data in several test locations. This\ndummy data is duplicated across these locations. Although allocator\ntests already include this type of helper, I've made it available for\nother tests as well.","shortMessageHtmlLink":"Add create_vm spec helper"}},{"before":"c479d3d25fcec0e99b7946642f1d2c84579818f5","after":"c56667e23f1baaf61d95fcc3e832b43c0db192cf","ref":"refs/heads/runtime-api","pushedAt":"2024-06-07T14:39:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Introduce runtime API endpoints\n\nUntil now, the controlplane has been passing necessary data to the\ndataplane at the start of operations. However, this approach can't\npre-determine the information needed for future operations. The\ndataplane should be able to request this information from the\ncontrolplane during runtime. I needed this feature for implementing\nGitHub Actions Cache integration. The GitHub runner requires pre-signed\nblob storage URLs for uploading and downloading cache, a decision made\nat runtime. It calculates the required cache keys and versions.\nRather than developing this feature solely for GitHub integration, I\nopted to create a more generic solution. This can be utilized for other\nintegrations as well. The dataplane may need information from the\ncontrolplane or may need to trigger an operation on the controlplane.\n\nWhen a request arrives at the controlplane, we must verify that it\noriginates from our virtual machines and authenticate it. I selected JWT\ntokens for this authentication process, the same method we use for our\ncustomer API. We embed the UBID of the virtual machines into the JWT\ntoken. Thus, if the token signature is valid, we can identify the source\nvirtual machines. One common criticism of JWT tokens is their\nstatelessness; they can't be revoked by default. However, there are\nworkarounds. Firstly, the token is only valid for the lifetime of the\nvirtual machine. Once the runner is destroyed, the token is no longer\nvalid. Additionally, we include a creation date in the token, allowing\nus to set an expiration time. I haven't yet implemented this expiration\nfeature since the runners are typically short-lived. However, it can be\neasily added when we introduce runtime API endpoints for long-lived\nresources.","shortMessageHtmlLink":"Introduce runtime API endpoints"}},{"before":"52f23b59666c210c471be793591855323b50225b","after":"1fb59d599f77daba35efb15ceb744f2fccec88d2","ref":"refs/heads/clog-metadata","pushedAt":"2024-06-07T14:11:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Allow to log additional fields with models in clog\n\nSometimes, the model data is insufficient, and we may need to add extra\nfields to the clog's metadata. The new array metadata feature achieves\nthis.\n\nWhen the metadata is an array, it parses each element sequentially. If\nthe element is a Sequel::Model, it obtains its clog representation,\nsimilar to the previous commit. If the element is a hash, it merges with\nthe intermediate hash.\n\nFor example, `[strand, {field1: \"a\", field2: \"b\"}]` expands to `{strand:\n{id: 123, label: \"start\"}, field1: \"a\", field2: \"b\"}`.","shortMessageHtmlLink":"Allow to log additional fields with models in clog"}},{"before":null,"after":"144830881539206f9c3adb0a288ca6499d3a771b","ref":"refs/heads/runner-still-job","pushedAt":"2024-06-07T13:44:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Handle the deletion of the runner with running job smoother\n\nBefore we destroy the underlying virtual machine of the runner, we must\nensure that it is not executing any job and has been deleted on GitHub's\nside. This precaution helps us avoid disrupting potentially active jobs.\n\nIdeally, when we initiate the runner's deletion, it should have already\ncompleted its job. However, in some instances, such as when the runner\nscript fails due to out-of-memory (OOM) errors, network issues, etc., it\nloses communication with GitHub. In such cases, GitHub delays marking\nthe runner as idle to rule out intermittent issues. If the runner is\nstill executing a job when we attempt its deletion, it raises an\n'Octokit::UnprocessableEntity' exception. Instead of raising this\nexception and logging the entire stack trace, we can simply nap for a\nwhile and retry the deletion.\n\nAdditionally, I have extended the deadline from 10 to 15 minutes.\nLately, we've encountered this situation due to some OOM errors.\nTypically, these are resolved between 10-15 minutes. There's no need for\nadditional page.","shortMessageHtmlLink":"Handle the deletion of the runner with running job smoother"}},{"before":"477d9e3f3305af56f94116dc6e4f95b0dab078cb","after":null,"ref":"refs/heads/e2e-test-all-images","pushedAt":"2024-06-07T12:53:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"}},{"before":"cf9538c6d149601b82ae6f1fd618daa1a7bd5018","after":"d899b2a1719bdd973e11394733d79640c0b22364","ref":"refs/heads/main","pushedAt":"2024-06-07T12:53:11.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Test the boot images exposed to customers in E2E\n\nSince disabling Alma Linux 9, our customers could only provision Ubuntu\n22.04 virtual machines. However, things changed last week. We launched\nUbuntu 24.04, AlmaLinux 9, and AlmaLinux 8 in our service. Now,\ncustomers can provision virtual machines with four different images.\n\nIt's essential to test all the boot images available to customers to\nensure their proper functioning. We've previously faced issues with\nvarious boot images that we didn't detect in time. Hence, incorporating\nthem into our E2E tests is crucial.\n\nThe VmGroup E2E test provisions three virtual machines and checks basic\nfeatures like network connectivity. I've updated it to provision virtual\nmachines using a boot image randomly selected from the available\noptions. This way, we can test different combinations of boot images.","shortMessageHtmlLink":"Test the boot images exposed to customers in E2E"}},{"before":"19f6eaf70c0dc89850d550bf90666154572dbcf6","after":"477d9e3f3305af56f94116dc6e4f95b0dab078cb","ref":"refs/heads/e2e-test-all-images","pushedAt":"2024-06-07T10:19:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Test the boot images exposed to customers in E2E\n\nSince disabling Alma Linux 9, our customers could only provision Ubuntu\n22.04 virtual machines. However, things changed last week. We launched\nUbuntu 24.04, AlmaLinux 9, and AlmaLinux 8 in our service. Now,\ncustomers can provision virtual machines with four different images.\n\nIt's essential to test all the boot images available to customers to\nensure their proper functioning. We've previously faced issues with\nvarious boot images that we didn't detect in time. Hence, incorporating\nthem into our E2E tests is crucial.\n\nThe VmGroup E2E test provisions three virtual machines and checks basic\nfeatures like network connectivity. I've updated it to provision virtual\nmachines using a boot image randomly selected from the available\noptions. This way, we can test different combinations of boot images.","shortMessageHtmlLink":"Test the boot images exposed to customers in E2E"}},{"before":"ca9344d62e07d08d989446dac5355ee27a197250","after":"2184917d3dd09265c389e99f295e14dea147634a","ref":"refs/heads/add_failover_funcs","pushedAt":"2024-06-07T10:18:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"furkansahin","name":"Furkan Sahin","path":"/furkansahin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6233557?s=80&v=4"},"commit":{"message":"Add Failover endpoint to the APIs\n\nThis endpoint is needed for our partners to be able to manually trigger\na failover.","shortMessageHtmlLink":"Add Failover endpoint to the APIs"}},{"before":"e64313d28c296aeca4c7149f737bfa96f64495ec","after":null,"ref":"refs/heads/use-blob-storage-for-base-images","pushedAt":"2024-06-07T10:09:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"byucesoy","name":"Burak Yücesoy","path":"/byucesoy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2082070?s=80&v=4"}},{"before":"6b2e705014d7ab8b4bbed3c9b5d60b13c7bcfbf8","after":"cf9538c6d149601b82ae6f1fd618daa1a7bd5018","ref":"refs/heads/main","pushedAt":"2024-06-07T10:09:44.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"byucesoy","name":"Burak Yücesoy","path":"/byucesoy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2082070?s=80&v=4"},"commit":{"message":"Download boot images from blob storage for E2E tests\n\nThere are several benefits of downloading boot images from blob storage:\n\n- It is faster as most of the data transfer would be done in same region or in\nthe network of same provider.\n- It is more reliable because there is no risk of source to be deleted or moved\nwithout our knowledge.\n\nThe motivation trigger for this change was to reduce the time taken to download\nthe boot images, because our E2E tests are timing out due to slow download, but\nthe change is useful even out of E2E tests. So currently, I enabled this only\nfor E2E tests, but we can enable this for production as well in the future. We\nwould probably keep existing way for development because it doesn't require\nsetting up blob storage, thus it keeps the development setup simple.","shortMessageHtmlLink":"Download boot images from blob storage for E2E tests"}},{"before":"9f0cda49df7d2b17d3ba3bce713844017f955ce9","after":"e64313d28c296aeca4c7149f737bfa96f64495ec","ref":"refs/heads/use-blob-storage-for-base-images","pushedAt":"2024-06-07T09:42:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"byucesoy","name":"Burak Yücesoy","path":"/byucesoy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2082070?s=80&v=4"},"commit":{"message":"Download boot images from blob storage for E2E tests\n\nThere are several benefits of downloading boot images from blob storage:\n\n- It is faster as most of the data transfer would be done in same region or in\nthe network of same provider.\n- It is more reliable because there is no risk of source to be deleted or moved\nwithout our knowledge.\n\nThe motivation trigger for this change was to reduce the time taken to download\nthe boot images, because our E2E tests are timing out due to slow download, but\nthe change is useful even out of E2E tests. So currently, I enabled this only\nfor E2E tests, but we can enable this for production as well in the future. We\nwould probably keep existing way for development because it doesn't require\nsetting up blob storage, thus it keeps the development setup simple.","shortMessageHtmlLink":"Download boot images from blob storage for E2E tests"}},{"before":null,"after":"6b2e705014d7ab8b4bbed3c9b5d60b13c7bcfbf8","ref":"refs/heads/runner-test","pushedAt":"2024-06-07T08:42:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"enescakir","name":"Enes Çakır","path":"/enescakir","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/993199?s=80&v=4"},"commit":{"message":"Reduce logging for up resources\n\nIf the resource is up, there is no meaning to log it for every check. We\ncan simply do it every 5th time. I am still keeping the logging for down\nresources at every repeat.","shortMessageHtmlLink":"Reduce logging for up resources"}},{"before":"1c880e72fce1bc486d8bc0e06c42f90d03198a51","after":null,"ref":"refs/heads/reduce_up_logs","pushedAt":"2024-06-07T08:36:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"furkansahin","name":"Furkan Sahin","path":"/furkansahin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6233557?s=80&v=4"}},{"before":"8c334f2b862786e1b13e1658e7b665ebc261bf27","after":"6b2e705014d7ab8b4bbed3c9b5d60b13c7bcfbf8","ref":"refs/heads/main","pushedAt":"2024-06-07T08:36:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"furkansahin","name":"Furkan Sahin","path":"/furkansahin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6233557?s=80&v=4"},"commit":{"message":"Reduce logging for up resources\n\nIf the resource is up, there is no meaning to log it for every check. We\ncan simply do it every 5th time. I am still keeping the logging for down\nresources at every repeat.","shortMessageHtmlLink":"Reduce logging for up resources"}},{"before":"85395f59aedf7b7c7d22c998ba0d795018102a62","after":null,"ref":"refs/heads/increase-vm-storage","pushedAt":"2024-06-07T07:17:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"byucesoy","name":"Burak Yücesoy","path":"/byucesoy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2082070?s=80&v=4"}},{"before":"f0bfabfa82ec5d7153826ed84950a3b864ce5783","after":null,"ref":"refs/heads/merge-routes-1","pushedAt":"2024-06-07T07:17:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"byucesoy","name":"Burak Yücesoy","path":"/byucesoy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2082070?s=80&v=4"}},{"before":"3bd4f24df8a05d69db47366368f4bdf049cc2b86","after":null,"ref":"refs/heads/new-rack","pushedAt":"2024-06-07T07:17:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"byucesoy","name":"Burak Yücesoy","path":"/byucesoy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2082070?s=80&v=4"}},{"before":"0072e0714f743047611fb54953c0f3bec837a2b4","after":"9f0cda49df7d2b17d3ba3bce713844017f955ce9","ref":"refs/heads/use-blob-storage-for-base-images","pushedAt":"2024-06-07T05:51:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"byucesoy","name":"Burak Yücesoy","path":"/byucesoy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2082070?s=80&v=4"},"commit":{"message":"Download boot images from blob storage for E2E tests\n\nThere are several benefits of downloading boot images from blob storage:\n\n- It is faster as most of the data transfer would be done in same region or in\nthe network of same provider.\n- It is more reliable because there is no risk of source to be deleted or moved\nwithout our knowledge.\n\nThe motivation trigger for this change was to reduce the time taken to download\nthe boot images, because our E2E tests are timing out due to slow download, but\nthe change is useful even out of E2E tests. So currently, I enabled this only\nfor E2E tests, but we can enable this for production as well in the future. We\nwould probably keep existing way for development because it doesn't require\nsetting up blob storage, thus it keeps the development setup simple.","shortMessageHtmlLink":"Download boot images from blob storage for E2E tests"}},{"before":null,"after":"3bd4f24df8a05d69db47366368f4bdf049cc2b86","ref":"refs/heads/new-rack","pushedAt":"2024-06-07T05:43:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"byucesoy","name":"Burak Yücesoy","path":"/byucesoy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2082070?s=80&v=4"},"commit":{"message":"Use e2e_test as RACK_ENV for E2E tests","shortMessageHtmlLink":"Use e2e_test as RACK_ENV for E2E tests"}},{"before":null,"after":"d312c7ef57c983b6b08cf9c7d9f0d1e72f24b322","ref":"refs/heads/dependabot/bundler/ruby-dependencies-18cc369c88","pushedAt":"2024-06-06T23:24:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump builder from 3.2.4 to 3.3.0 in the ruby-dependencies group\n\nBumps the ruby-dependencies group with 1 update: [builder](https://github.com/rails/builder).\n\n\nUpdates `builder` from 3.2.4 to 3.3.0\n- [Changelog](https://github.com/rails/builder/blob/master/CHANGES)\n- [Commits](https://github.com/rails/builder/compare/v3.2.4...v3.3.0)\n\n---\nupdated-dependencies:\n- dependency-name: builder\n dependency-type: indirect\n update-type: version-update:semver-minor\n dependency-group: ruby-dependencies\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump builder from 3.2.4 to 3.3.0 in the ruby-dependencies group"}},{"before":null,"after":"2aced056384c975f65be248a67d14cf098b752ea","ref":"refs/heads/velioglu/gr_test_default","pushedAt":"2024-06-06T22:27:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"velioglu","name":"Burak Velioglu","path":"/velioglu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10241593?s=80&v=4"},"commit":{"message":"Run github runner e2e tests by default\n\nAs we've tested running github runner e2e tests, running them\nby default as a part of e2e test workflow.","shortMessageHtmlLink":"Run github runner e2e tests by default"}},{"before":"85033be8987af2ec560aed6b66262e236a4bd9ea","after":"4445b95a50f6945239082613e6b70cd05bd3cda9","ref":"refs/heads/velioglu/e2e_paralel","pushedAt":"2024-06-06T22:18:39.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"velioglu","name":"Burak Velioglu","path":"/velioglu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10241593?s=80&v=4"},"commit":{"message":"Run E2E tests in parallel\n\nWe currently have virtual machine and github runner tests. We were\nrunning them sequentially as the previous test host machine was not\nbig enough to have vms for both of those tests at the same time. Since\nwe've increased the size of the host, running them in parallel.","shortMessageHtmlLink":"Run E2E tests in parallel"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYAV6AwA","startCursor":null,"endCursor":null}},"title":"Activity · ubicloud/ubicloud"}