{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":672114421,"defaultBranch":"main","name":"sn-testnet-deploy","ownerLogin":"maidsafe","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-07-29T01:20:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/536423?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712243678.0","currentOid":""},"activityList":{"items":[{"before":"94e57e3ab8602363fe3ea3c547052214355407de","after":"095d68933d39abc7a06aa1f43594d68c93699d09","ref":"refs/heads/main","pushedAt":"2024-05-14T00:37:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"chore: add shu to testnet","shortMessageHtmlLink":"chore: add shu to testnet"}},{"before":"6f4291de9291e4706cff95586196ac41e7e74068","after":"94e57e3ab8602363fe3ea3c547052214355407de","ref":"refs/heads/main","pushedAt":"2024-05-14T00:28:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"chore: add shu","shortMessageHtmlLink":"chore: add shu"}},{"before":"226a3da53de0fa8279c8444b3e14e705a205c41b","after":"6f4291de9291e4706cff95586196ac41e7e74068","ref":"refs/heads/main","pushedAt":"2024-04-30T14:50:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"feat: upload network contacts to s3\n\nWhen a deployment completes, the network contacts will automatically be uploaded to S3. By default,\nthe file will have the same name as the environment, but an optional argument allows it to be\nspecified.\n\nDuring the deployment, it's possible that some nodes don't start. These are indicated by \"-\" entries\nin the peer list. The process ensures they will not be added to the contacts list.","shortMessageHtmlLink":"feat: upload network contacts to s3"}},{"before":"956d9abb258df5128507e84a1599da54c9abca09","after":"226a3da53de0fa8279c8444b3e14e705a205c41b","ref":"refs/heads/main","pushedAt":"2024-04-24T15:45:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"fix: provide full inventory path\n\nThe check only applied to a relative path, which is not necessary relative to the current working\ndirectory. Using the full path resolves the problem.","shortMessageHtmlLink":"fix: provide full inventory path"}},{"before":"fb7898361fc73406859939a11fa949c2161aa1b2","after":"956d9abb258df5128507e84a1599da54c9abca09","ref":"refs/heads/main","pushedAt":"2024-04-23T20:35:16.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"chore: review feedback\n\n* Change `inventory_type` argument to use a reference to `AnsibleInventoryType` to avoid cloning in\n loops.\n* Centralise check for the existence of inventory files.\n* Remove irrelevant documentation","shortMessageHtmlLink":"chore: review feedback"}},{"before":"4920a5f8bf27f9a0854a5f216293397f749dfd61","after":"fb7898361fc73406859939a11fa949c2161aa1b2","ref":"refs/heads/main","pushedAt":"2024-04-17T12:44:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"feat: enable protocol versioning support","shortMessageHtmlLink":"feat: enable protocol versioning support"}},{"before":"fb183d391f7d267560072e1b3c76ac427d038dc6","after":"4920a5f8bf27f9a0854a5f216293397f749dfd61","ref":"refs/heads/main","pushedAt":"2024-04-11T04:06:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"feat: provide `start` command\n\nThis will execute a simple playbook that will use the node manager to start all the nodes on the\nmachine.\n\nThis can be useful if some nodes didn't start up properly after being upgraded.","shortMessageHtmlLink":"feat: provide start command"}},{"before":"120b21b0c4824652b70787568f08701d89d86626","after":"fb183d391f7d267560072e1b3c76ac427d038dc6","ref":"refs/heads/main","pushedAt":"2024-04-10T14:33:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"feat: regenerate inventory\n\nIf the environment was created from another machine, the machine we're running from now will not\nhave the inventory for that environment.\n\nIt can now be regenerated by running `inventory --force-regeneration`.\n\nAlso removes redundant base inventory files that were not used any more.","shortMessageHtmlLink":"feat: regenerate inventory"}},{"before":"5ffab6ce4486b573c91f4955d00b4a637f63a065","after":"120b21b0c4824652b70787568f08701d89d86626","ref":"refs/heads/main","pushedAt":"2024-04-10T12:45:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"feat: provide `upgrade-node-manager` command\n\nSimple mechanism for upgrading the node manager binaries. It connects to each machine and downloads\nthe given version of the binary, then overwrites the existing copy. This should be all we need for\nnow.","shortMessageHtmlLink":"feat: provide upgrade-node-manager command"}},{"before":"5ba97ce92d721ebc6d5788bd4c56c743f68db71b","after":"5ffab6ce4486b573c91f4955d00b4a637f63a065","ref":"refs/heads/main","pushedAt":"2024-04-10T11:14:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"chore: use correct s3 url for a built node manager","shortMessageHtmlLink":"chore: use correct s3 url for a built node manager"}},{"before":"44fdd88093b87b61f84188a1f2e51dfc0f560487","after":"5ba97ce92d721ebc6d5788bd4c56c743f68db71b","ref":"refs/heads/main","pushedAt":"2024-04-09T18:22:32.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"feat: provide `--safenode-manager-version` arg\n\nAllows a specific version of the node manager to be deployed, which is useful for testing the\nupgrade process.\n\nI also changed the `Versioned` variant of the `SnCodeBaseType` enum to use `semver::Version` rather\nthan strings, because I accidentally specified a version number in the wrong format, and didn't know\nabout it until Ansible tried to provision the node manager. Using the `Version` type forces the\nargument to be validated at an early stage.","shortMessageHtmlLink":"feat: provide --safenode-manager-version arg"}},{"before":"f31094883bf5472d6d1f38752337c73e5268c505","after":"44fdd88093b87b61f84188a1f2e51dfc0f560487","ref":"refs/heads/main","pushedAt":"2024-04-04T18:13:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"feat: pass in the facuet version during deployment","shortMessageHtmlLink":"feat: pass in the facuet version during deployment"}},{"before":"e8f098d5b9b4b9e0968dd09d0558e58471b1c00a","after":"20d9643f68644fd51c8106fe7d7fff520c3c17ce","ref":"refs/heads/faucet_version","pushedAt":"2024-04-04T15:26:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RolandSherwin","name":null,"path":"/RolandSherwin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/73495426?s=80&v=4"},"commit":{"message":"feat: pass in the facuet version during deployment","shortMessageHtmlLink":"feat: pass in the facuet version during deployment"}},{"before":null,"after":"e8f098d5b9b4b9e0968dd09d0558e58471b1c00a","ref":"refs/heads/faucet_version","pushedAt":"2024-04-04T15:14:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RolandSherwin","name":null,"path":"/RolandSherwin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/73495426?s=80&v=4"},"commit":{"message":"feat: pass in the facuet version during deployment","shortMessageHtmlLink":"feat: pass in the facuet version during deployment"}},{"before":"cee8ea1495f61e1fbeea965b0d3c048946d8c02e","after":"f31094883bf5472d6d1f38752337c73e5268c505","ref":"refs/heads/main","pushedAt":"2024-04-04T00:13:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"fix: empty json document for no vars\n\nWhen no variables are specified, just return an empty document. Not doing so caused an error on the\n`unwrap` call shortly after.","shortMessageHtmlLink":"fix: empty json document for no vars"}},{"before":"0aca65a79f8e7b4d6d1d1bd7c2c1957dc7ef9bda","after":"cee8ea1495f61e1fbeea965b0d3c048946d8c02e","ref":"refs/heads/main","pushedAt":"2024-04-03T11:17:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"chore: add jason to variables","shortMessageHtmlLink":"chore: add jason to variables"}},{"before":"73860efff361ed992091791e8fdd0da9899d6f42","after":"0aca65a79f8e7b4d6d1d1bd7c2c1957dc7ef9bda","ref":"refs/heads/main","pushedAt":"2024-03-26T00:16:28.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"fix: log copy script dir\n\nCo-authored-by: RolandSherwin ","shortMessageHtmlLink":"fix: log copy script dir"}},{"before":"adf2b9d74f3fa647a11a4541f7f8bf315d742655","after":"73860efff361ed992091791e8fdd0da9899d6f42","ref":"refs/heads/main","pushedAt":"2024-03-21T15:27:06.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"feat(network): perform random interval network churns","shortMessageHtmlLink":"feat(network): perform random interval network churns"}},{"before":"3d92ed870bed7a9e3e1b21ad1d258c2694a2cb35","after":"adf2b9d74f3fa647a11a4541f7f8bf315d742655","ref":"refs/heads/main","pushedAt":"2024-03-21T15:19:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"feat(script): add scripts to interact with a running testnets","shortMessageHtmlLink":"feat(script): add scripts to interact with a running testnets"}},{"before":"861cde1fa24b4bf1dbeba76fdc4b04fe5cc7cf06","after":"3d92ed870bed7a9e3e1b21ad1d258c2694a2cb35","ref":"refs/heads/main","pushedAt":"2024-03-18T05:52:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RolandSherwin","name":null,"path":"/RolandSherwin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/73495426?s=80&v=4"},"commit":{"message":"feat: ensure faucet is built with distribution feat","shortMessageHtmlLink":"feat: ensure faucet is built with distribution feat"}},{"before":"05eb786aabe731e4621806d0cff9fe47e4bad41c","after":"861cde1fa24b4bf1dbeba76fdc4b04fe5cc7cf06","ref":"refs/heads/main","pushedAt":"2024-03-18T02:19:23.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"refactor: use builder for extra vars documents\n\nThe commit for using the node manager to deploy the faucet introduced a new type,\n`ExtraVarsDocBuilder`. This was in attempt to clean up the code in the `DeployCmd` which assembled\nthe extra variables JSON document that gets passed to Ansible.\n\nThis refactor reduces some duplication and I think makes the code a little easier to read and work\nwith.","shortMessageHtmlLink":"refactor: use builder for extra vars documents"}},{"before":"1f053b266f117a7a43c76fc9449bd95a07f63b40","after":"05eb786aabe731e4621806d0cff9fe47e4bad41c","ref":"refs/heads/main","pushedAt":"2024-03-12T15:47:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"fix: extract safenodemand to tmp dir instead of local bin","shortMessageHtmlLink":"fix: extract safenodemand to tmp dir instead of local bin"}},{"before":"bc113ebe0e8682a1be2264e7c9b841348f5039e0","after":"1f053b266f117a7a43c76fc9449bd95a07f63b40","ref":"refs/heads/main","pushedAt":"2024-03-12T09:17:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"fix: select genesis field from the node object","shortMessageHtmlLink":"fix: select genesis field from the node object"}},{"before":"2f16f0a5bda2880a75c94be54d6aea778dd08dfd","after":"bc113ebe0e8682a1be2264e7c9b841348f5039e0","ref":"refs/heads/main","pushedAt":"2024-03-07T02:03:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"fix: override correct variable\n\nThe override was applied to the wrong variable, which caused `safenode` to be overwritten with\n`safenodemand`.\n\nAlso updates several crates being flagged by `cargo-deny`.","shortMessageHtmlLink":"fix: override correct variable"}},{"before":"3a41b00d0ab5d3fdbdb8fea56eedbacb47ad0003","after":"2f16f0a5bda2880a75c94be54d6aea778dd08dfd","ref":"refs/heads/main","pushedAt":"2024-02-28T11:33:05.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"RolandSherwin","name":null,"path":"/RolandSherwin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/73495426?s=80&v=4"},"commit":{"message":"chore: support daemon subcmds","shortMessageHtmlLink":"chore: support daemon subcmds"}},{"before":"7bb00540d65a6736ec10307e7d4c69487f15cfef","after":"3a41b00d0ab5d3fdbdb8fea56eedbacb47ad0003","ref":"refs/heads/main","pushedAt":"2024-02-22T10:29:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"chore: update build and node image to a newer build","shortMessageHtmlLink":"chore: update build and node image to a newer build"}},{"before":"8e5920402ac42c2356108e3559d39aa360f068ea","after":"7bb00540d65a6736ec10307e7d4c69487f15cfef","ref":"refs/heads/main","pushedAt":"2024-02-14T14:06:57.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"RolandSherwin","name":null,"path":"/RolandSherwin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/73495426?s=80&v=4"},"commit":{"message":"chore(docs): update based on comments","shortMessageHtmlLink":"chore(docs): update based on comments"}},{"before":"7c892862e3c3e2e426cdb8281471b84e21eaff68","after":"8e5920402ac42c2356108e3559d39aa360f068ea","ref":"refs/heads/main","pushedAt":"2024-02-08T12:51:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"chore: remove additional prerequisite roles\n\nThese should also have been removed because they are also no longer required.","shortMessageHtmlLink":"chore: remove additional prerequisite roles"}},{"before":"c45d92a24b5db2a9b6a15b504953bdfb5c5291d7","after":"7c892862e3c3e2e426cdb8281471b84e21eaff68","ref":"refs/heads/main","pushedAt":"2024-02-08T11:34:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"chore: upgrade node image to ubuntu 23.10\n\nIn an attempt to resolve the problem we've been having with the Apt package manager failing to\nupgrade packages due to a background automated update process that takes a lock on a file, the node\nimage is updated from Ubuntu 22.04 to 23.10. In a few different deploys I did not see any locking\nissues.\n\nThe mechanism for installing Ansible for the image generation can't use the package manager, since a\nPPA is not yet available for 23.10, so it had to be installed with pip. However, it turns out `pip`\nreally doesn't like to install any system-wide packages on 23.10, so the `--prefix` argument had to\nbe used to force that.\n\nA new role was created that separates the creation of the `safe` user from the prerequisites role.\nThis means we can run the prerequisites role during the image generation, but we then don't need to\nrun it during the deploy provisions, since it actually eats up a bit of time to attempt to install\nnew versions of the packages. The `safe` user can't be created with the correct public SSH keys\nduring the image generation, so it has to be run during each deploy provision.","shortMessageHtmlLink":"chore: upgrade node image to ubuntu 23.10"}},{"before":"1cde3673257dfda82e137fb4aed497e23384a06a","after":"c45d92a24b5db2a9b6a15b504953bdfb5c5291d7","ref":"refs/heads/main","pushedAt":"2024-02-07T10:53:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"joshuef","name":null,"path":"/joshuef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/218554?s=80&v=4"},"commit":{"message":"chore: update snapshot for new nodes","shortMessageHtmlLink":"chore: update snapshot for new nodes"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESPEMEgA","startCursor":null,"endCursor":null}},"title":"Activity ยท maidsafe/sn-testnet-deploy"}