{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":401822790,"defaultBranch":"master","name":"milatools","ownerLogin":"mila-iqia","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-08-31T19:37:02.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11724251?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715110947.0","currentOid":""},"activityList":{"items":[{"before":"9b4a7cdb79966c8fd9e4d59e951511bc95caba24","after":"bf82ca9f563178221a01b21229d90c1515231746","ref":"refs/heads/master","pushedAt":"2024-06-03T15:03:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Tweak cli. add --sbatch and --salloc as alternatives to --alloc and --persist (#119)\n\n* Split `mila` function into chunks\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Make `mila code` default to `mila code .`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Make the job_id an int instead of str\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add --salloc and --sbatch flags (see desc.)\r\n\r\n- Adds a --salloc flag which is exaclty the same as using the '--alloc'\r\n flag (without the --persist) flag.\r\n- Adds a --sbatch flag which is the same as doing --persist --alloc ...\r\n\r\nI think these are more naturally understood as the argument that are\r\npassed to `salloc` and `sbatch` respectively.\r\n\r\nAlso, these two new args are in a mutually exclusive group with\r\n--persist.\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Put the --alloc/--salloc/--sbatch args last\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add missing regression test file\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Tweak cli. add --sbatch and --salloc as alternatives to --alloc and -…"}},{"before":"c74ee6d65a11faa97ccd4eefdf6073152bb4e37d","after":"9b4a7cdb79966c8fd9e4d59e951511bc95caba24","ref":"refs/heads/master","pushedAt":"2024-05-15T18:13:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Tweak build workflow (#123)\n\n* Tweak build workflow to not run on readme changes\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update the codecov Gh Action version\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Upload coverage report as a single last step\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Specify artifact name and directory for upload\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update the upload-artifact step version to v4\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Use unique artifact names\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Tweak build workflow (#123)"}},{"before":"dc25a940c6817611e532890d1787a0a95da61eee","after":"c74ee6d65a11faa97ccd4eefdf6073152bb4e37d","ref":"refs/heads/master","pushedAt":"2024-05-14T17:39:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Add `ComputeNode`, `LocalV2` + deprecate `RemoteV1` and `LocalV1` (#112)\n\n* Add a new `Runner` abstract base class and tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add new LocalV2 runner and tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Rename get_fully_qualified_hostname_of_computenode\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add `ssh_config_file` fixture\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update RemoteV2 as a Runner subclass, add tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Move functions a bit in remote_v2.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Slightly reduce code duplication in remote_v2.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add login_node_v2 fixture and tweak others\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add ComputeNode Runner, salloc, sbatch and tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fixup for bug in ComputeNode\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add pytest-asyncio test dependency\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Allow async function as entry point for CLI\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Deprecate LocalV1, RemoteV1 and SlurmRemote\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Change test_sync_vscode_extensions to use cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug in test for get_hostname_to_use_for_cn\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Change test_code_command.py to use current cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Make old tests also cancel their jobs\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug in `get_recent_jobs_info` of old tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove JOB_NOT_RUNNING_MESSAGE in compute_node.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove outdated comment in compute_node.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove unused get_milatools_job_ids function\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Use `run` instead of shield+run_async in cancel_fn\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Make __del__ of ComputeNode slightly clearer\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Simplify error_line part of `salloc`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix small issues in `salloc` function\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Make `connect_to_running_job` \"private\" (desc.)\r\n\r\n- Rename `connect_to_running_job` to `_connect_to_running_job` so it's\r\n clear that `ComputeNode.connect` is the intended way to connect to a\r\n job.\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove oudated code and add note in end of salloc\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add `ssh_config_path` arg to is_already_logged_in\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Use a fixture to tweak console during tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix typo in comment\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove unnecessary line in test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove the `CLUSTER_DOWN` idea in conftest.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix import bug in conftest.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add test for `cancel_new_jobs_on_interrupt`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Use mock in test that doesnt need a real cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add docstring for `hostname` of `ComputeNode`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Split `TestComputeNode::test_connect` in two cases\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add the codecov token explicitly in `build.yml`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Add ComputeNode, LocalV2 + deprecate RemoteV1 and LocalV1 (#112)"}},{"before":"ce86eae494d596464b856e71652f49c59e22fade","after":"dc25a940c6817611e532890d1787a0a95da61eee","ref":"refs/heads/master","pushedAt":"2024-05-08T15:06:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Update the README to reflect current commands (#122)\n\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Update the README to reflect current commands (#122)"}},{"before":"ce86eae494d596464b856e71652f49c59e22fade","after":null,"ref":"refs/heads/foo","pushedAt":"2024-05-07T19:42:27.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"}},{"before":null,"after":"ce86eae494d596464b856e71652f49c59e22fade","ref":"refs/heads/foo","pushedAt":"2024-05-07T19:40:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Make console wider during tests, tweak logger (#124)\n\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Make console wider during tests, tweak logger (#124)"}},{"before":"400bc305842ae02bcb1f4ee095daacf77df832ee","after":"ce86eae494d596464b856e71652f49c59e22fade","ref":"refs/heads/master","pushedAt":"2024-05-01T20:34:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Make console wider during tests, tweak logger (#124)\n\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Make console wider during tests, tweak logger (#124)"}},{"before":"320be4071d82c02e8aa2d078d2df3b10bb43f38f","after":"400bc305842ae02bcb1f4ee095daacf77df832ee","ref":"refs/heads/master","pushedAt":"2024-05-01T14:58:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Rename `Local` -> `LocalV1` and `Remote` -> `RemoteV1` (#121)\n\n* Rename `local.py`->`local_v1.py`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Rename `Local`->`LocalV1`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Move `cli/local_v1.py` under `utils`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Move tests for LocalV1 from tests/cli->tests/utils\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Rename `remote.py` to `remote_v1.py`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Rename `Remote` -> `RemoteV1`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Move `cli/remote_v1.py` under `utils`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Move RemoteV1 tests from tests/cli->tests/utils\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix regression files after Remote->RemoteV1 rename\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Rename Local -> LocalV1 and Remote -> RemoteV1 (#121)"}},{"before":"95185f13dbcd62ee5f0d7eb5a1d95365b6711515","after":"320be4071d82c02e8aa2d078d2df3b10bb43f38f","ref":"refs/heads/master","pushedAt":"2024-04-25T20:28:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Fix issues with macOS in CI (#120)\n\n* Try to fix poetry + setup-python issues on MacOS\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Install poetry with pipx instead of pip\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Install poetry after setup-python on MacOS\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Fix issues with macOS in CI (#120)"}},{"before":"3a1237b59155c7cf776d0c134a9dc34418dea588","after":"95185f13dbcd62ee5f0d7eb5a1d95365b6711515","ref":"refs/heads/master","pushedAt":"2024-04-25T18:20:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Tweak the periodic integration tests workflow (#118)","shortMessageHtmlLink":"Tweak the periodic integration tests workflow (#118)"}},{"before":null,"after":"92a30a57f01b6dec817be0eeee5b290fbebdff9e","ref":"refs/heads/tweak-periodic-integration-tests","pushedAt":"2024-04-24T14:09:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Tweak the periodic integration tests workflow","shortMessageHtmlLink":"Tweak the periodic integration tests workflow"}},{"before":"e3bc550d5758e36333ec2a3556a60c216e27d15e","after":"3a1237b59155c7cf776d0c134a9dc34418dea588","ref":"refs/heads/master","pushedAt":"2024-04-24T13:37:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Run integration tests with all clusters periodically (#117)\n\n* Add reusable workflow used in build and DRAC tests\r\n\r\n- Extracts the integration test part of `build.yml` into a reusable\r\n workflow called `testing.yml`.\r\n- This workflow now also explicitly requires an existing SSH connection\r\n to be alive (a socket at the ControlPath of the SSH config) in order\r\n to run tests on the DRAC clusters\r\n- Also adds a new `full_cluster_tests.yml` workflow that is run\r\n periodically (once a week) and runs the integration tests on all slurm\r\n clusters (not just `'mila'`, as in `build.yml`).\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Also use test workflow for mock slurm cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Partially revert last commit (mock slurm tests)\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Make the timeout-minutes a parameter\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add timeout of 5 mins for setup of SLURM cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Run integration tests with all clusters periodically (#117)"}},{"before":"5adb85c993e5b39080bfda1611d0540e1d7583b7","after":"e3bc550d5758e36333ec2a3556a60c216e27d15e","ref":"refs/heads/master","pushedAt":"2024-04-17T19:08:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Fix bug with `mila code --cluster=` (#115)\n\n* Hotfix for bug in `mila code --cluster=`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix running sync vscode extensions in background\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Use ssh key from ssh config for ssh-copy-id\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix dumb unit test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix broken test for `mila init`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix broken test for `make_process`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Always run `ssh-copy-id` (with the right key)\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Change where the compute node setup occurs in init\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix error in test for syncing vscode extensions\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add temporary \"fix\" for failing test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove flaky check from test_ensure_allocation\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Always cd to $SCRATCH before salloc/sbatch/srun\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Adjust unit tests following `cd $SCRATCH` change\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix test and make it slightly more agnostic to imp\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix failing check for the workdir in test_code\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Fix bug with mila code --cluster=<DRAC> (#115)"}},{"before":"1518e01df5e05f9aceaf068a0ef7c975a666d005","after":"5adb85c993e5b39080bfda1611d0540e1d7583b7","ref":"refs/heads/master","pushedAt":"2024-04-11T19:32:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Add integration tests on a self-hosted runner (#104)\n\n* Add integration tests on a self-hosted runner\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix import ordering issues\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* attempt to fix test_check_passwordless\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Adding XFAILS (very bad) bc of Paramiko Banner bug\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add early exit path in `check_passwordless`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add xfail on `mila code` integration test ;(\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Try to fix tests in github CI\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix tests in test_init_command\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Adapt tests for `mila init` for self-hosted runner\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add missing regression files\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix condition on `test_check_passwordless`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix check for macos test of check_passwordless\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Adjust the unit-tests workflow for macos\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Revert \"Adjust the unit-tests workflow for macos\"\r\n\r\nThis reverts commit f40dfc4cc67cb0f0b0a7031331865293fc4423ff.\r\n\r\n* Add SSH config file check in check_passwordless\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Adjust test_check_passwordless for self-hosted run\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update check for Paramiko OpenSSH key parsing bug\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove redundant comment\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix flaky tests for parallel progress bar timing\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix test_vscode_installed for self-hosted runner\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add very ugly mark on test_check_passwordless\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove duplicate marks on `test_check_passwordless`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Simplify test_parallel_progress_bar\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Increase the timeout value to 30 minutes in CI\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add broad xfail for `check_passwordless`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Add integration tests on a self-hosted runner (#104)"}},{"before":"db9b7bcccba8a572a1211de877b7daec73f022dd","after":"1518e01df5e05f9aceaf068a0ef7c975a666d005","ref":"refs/heads/master","pushedAt":"2024-04-04T17:09:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Change ControlPersist to 'yes' from 600 (#106)\n\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Change ControlPersist to 'yes' from 600 (#106)"}},{"before":"7c733d1778b1adc900d3235aa7295ef73b1c8669","after":"db9b7bcccba8a572a1211de877b7daec73f022dd","ref":"refs/heads/master","pushedAt":"2024-03-19T20:58:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Add `mila sync code-extensions` command, improve mila code extensions sync with DRAC clusters [MT-79] (#103)\n\n* Major improvement to `mila code` extensions sync\r\n\r\nThis PR is a complete overhaul of the mechanism used to sync vscode\r\nextensions between the local machine and the remote:\r\n\r\n- Uses the command-line API of vscode to list extensions\r\n- Uses the command-line API of vscode-server to install extensions on\r\n the cluster's login node.\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add parallel progress bar utility function\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Reduce install errors to `info` level\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add new `mila sync vscode-extensions` command\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Improve refresh rate and add TODO\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix issues with the ruff pre-commit hook\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update help text regression files\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add test for parallel progress bar function\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add a MofN Complete column and make it wider\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Use subprocess, askpass and ControlPath to fix it\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Use the ControlPath from the SSH config\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Move and rename new remote as MfaRemote\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix the --version command to show dynamic version\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Nicer formatting of disk quota (and show it)\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Reduce indent using walrus operator in mfa_remote\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix typing error in py<3.9\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add test for RemoteV2 and sync vscode-extensions\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Adjust tests that use DRAC clusters\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Adjust regression file contents\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add `is_already_connected` and test fixtures\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add marks to fail expected tests on windows\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Better exception on Windows, reduce verbosity\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bugs for Windows\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Move files to new `milatools/utils` folder\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove the \"extra ssh args\" feature of RemoteV2\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add tests for all fns in vscode_utils.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add missing mark on test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Tweak the way progress is updated\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix the display and remove message when syncing\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug in CI with `check_passwordless`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Shorten the status in progress bar to 50 max\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add missing mark for test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix error in conftest on Windows CI\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix another test mark for Windows CI tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug in `srun_transform_persist` on Windows\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Fix issue in CI for MacOS also\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Fix failing test for parallel_progress_bar\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix more Posix/windows path string issues\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Add xfail to failing integration test on windows\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Loosen timing-dependent check in test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* loosen timing again in same test for CI\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Adjust tests to use RemoteV2 for the login node\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug with no output from RemoteV2.run(hide=True)\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix integration tests that might go through 2fa\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Don't sync vscode extensions on Win32 in mila code\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Refine tests for sync command a bit\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix docstring of get_controlpath_for\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove redundant error in get_controlpath_for\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Rename fn to `sync_vscode_extensions`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix integration test for mila cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Adjust test for parallel progress bar\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin \r\nSigned-off-by: Fabrice ","shortMessageHtmlLink":"Add mila sync code-extensions command, improve mila code extensions…"}},{"before":"b823319efaa316066d8a302c27a01f7454d83835","after":"7c733d1778b1adc900d3235aa7295ef73b1c8669","ref":"refs/heads/master","pushedAt":"2024-02-19T15:29:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Fix --persist `mila code` bug and intermittent connection errors [MT-78] (#101)\n\n* Fix --persist bug and unneeded cd $SCRATCH\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix broken tests, add integration test dir\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix check_passwordless bug, set banner_timeout=60\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove unneeded mark and test run\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Centralize references to connect_kwargs\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove outdated todo\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug in check_disk_quota and add test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove duplicate (moved) test_slurm_remote.py file\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add/improve integration test for `mila code`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Hide the 'which lfs' command\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix typing error in test_commands.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug and misleading type for `alloc` argument\r\n\r\n`alloc` needs to be a list of strings, but it was typed as\r\n`Sequence[str]`, which allows `str` to be passed (since `str`s are\r\nsequences of `str`s).\r\n\r\nThis changes it to `list[str]` which is stricter and correct.\r\n\r\nIncidentally, there was an undetected bug in the regression test at\r\n`tests/integration/test_code_command.py::test_code` because I was\r\npassing the allocation flags (a string) as salloc.\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Change test fixture, adjust tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Adjust the way we fetch SLURM accounts in tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix unused imports in conftest.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix typing error in python 3.8\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix other type error in python 3.8\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Apply suggestions from code review\r\n\r\nCo-authored-by: satyaog \r\n\r\n* Add a `currently_in_a_test` function\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix same issue `mila serve` commands\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin \r\nCo-authored-by: satyaog ","shortMessageHtmlLink":"Fix --persist mila code bug and intermittent connection errors [MT-…"}},{"before":"637f0b5d633f5a7b9fb9799c2ecf5d8701030925","after":null,"ref":"refs/tags/v0.1.2","pushedAt":"2024-02-12T17:11:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"}},{"before":"637f0b5d633f5a7b9fb9799c2ecf5d8701030925","after":"b823319efaa316066d8a302c27a01f7454d83835","ref":"refs/heads/master","pushedAt":"2024-02-12T17:11:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Move setup-python block before poetry install (#99)\n\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Move setup-python block before poetry install (#99)"}},{"before":"68b7dde5197f1a02bb3f8631a2a7b2bf102ab2d7","after":null,"ref":"refs/tags/v0.1.2","pushedAt":"2024-02-12T15:32:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"}},{"before":"68b7dde5197f1a02bb3f8631a2a7b2bf102ab2d7","after":"637f0b5d633f5a7b9fb9799c2ecf5d8701030925","ref":"refs/heads/master","pushedAt":"2024-02-12T15:31:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Fix the publish workflow (pycparser error) (#98)\n\n* Try to fix the publish workflow (pycparser error)\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update the publish.yml to enable dynamic-version\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Fix the publish workflow (pycparser error) (#98)"}},{"before":"f8bb9c11ca4b0bab67830a21c3b2b763b0b96c60","after":"68b7dde5197f1a02bb3f8631a2a7b2bf102ab2d7","ref":"refs/heads/master","pushedAt":"2024-02-09T17:40:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Fix sshkeys passphrase issue with `mila init` [MT-72] (#93)\n\n* Add `has_passphrase` function and test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add passphrase param to test_create_ssh_keypair\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove check for number of lines in private key\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update poetry.lock file\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Increase timeout value for test_create_ssh_keypair\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug in create_ssh_keypair\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Add `use_shjoin` arg to `display`\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Simplify passing path of keyfile to ssh-keygen\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Simpify sending of ssh key on Windows\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Add a hardcore integration test (not in CI yet)\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Pass passphrase as f\"-N='{passphrase}'\"\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Simplify and add a docstring to create_ssh_keypair\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Setup ssh keypair if needed during test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Tweak comment\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Also catch socket.gaierror for Windows errors\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Fix small typing error in utils.py\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Create the parent dir of sshkey in test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Try to fix ssh-keygen errors on Windows (again)\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Create the SSH dir during test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update milatools/cli/init_command.py\r\n\r\n* Remove the xfails for weird paths for ssh keys\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Fix failing test param on windows\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Apply suggestions from code review\r\n\r\nCo-authored-by: satyaog \r\n\r\n* Change has_passphrase\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix pre-commit hook issues\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove unused \"test\" dep group\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin \r\nSigned-off-by: Fabrice \r\nCo-authored-by: satyaog ","shortMessageHtmlLink":"Fix sshkeys passphrase issue with mila init [MT-72] (#93)"}},{"before":"6391c5cd74aa2a635f9232ecd86a762cc8f89805","after":"f8bb9c11ca4b0bab67830a21c3b2b763b0b96c60","ref":"refs/heads/master","pushedAt":"2024-02-07T15:26:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Change `-v`, add `--verbose` flags for logging, add `rich` dependency (#94)\n\n* Modify -v flag to --verbose instead of --version\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Set a global and local logging level based on -v\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Fix logging issues\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update the help text regression files\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix .pre-commit error\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update regression files for test_commands.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update the poetry lockfile\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin \r\nSigned-off-by: Fabrice ","shortMessageHtmlLink":"Change -v, add --verbose flags for logging, add rich dependency ("}},{"before":"f49743dee06b274c8d721355a9ea5bdcccdb09f4","after":"6391c5cd74aa2a635f9232ecd86a762cc8f89805","ref":"refs/heads/master","pushedAt":"2024-02-06T23:01:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Drop support for python 3.7 (#95)\n\n* Drop support for python 3.7\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix error with TypeGuard import\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Drop support for python 3.7 (#95)"}},{"before":"6363e0513553bba3450d4720c307be44756d5e2c","after":"f49743dee06b274c8d721355a9ea5bdcccdb09f4","ref":"refs/heads/master","pushedAt":"2024-02-05T20:35:12.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"satyaog","name":null,"path":"/satyaog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6757005?s=80&v=4"},"commit":{"message":"Merge pull request #90 from lebrice/fix_poetry_lockfile\n\nFix poetry lockfile issues (and add pre-commit hook)","shortMessageHtmlLink":"Merge pull request #90 from lebrice/fix_poetry_lockfile"}},{"before":"7dcb786a574bb843174d835014f269c34c45fd05","after":null,"ref":"refs/heads/fix_poetry_dynamic_versioning","pushedAt":"2024-01-31T17:09:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"}},{"before":"aa953ab04e949bcf751440a81ffbc82a9a5bd31a","after":"6363e0513553bba3450d4720c307be44756d5e2c","ref":"refs/heads/master","pushedAt":"2024-01-23T18:48:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Add support for DRAC clusters to the `mila code` command [MT-71] (#85)\n\n* Begin working on `mila code` on DRAC\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* `mila code` works on narval (not perfect though)\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add `cluster` argument to `qualified` function\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix `Literal` import\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix import order and typing error\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add a check for --account alloc when cluster\"mila\"\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* cd to $SCRATCH before running salloc\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* [wip] Try to move to $SCRATCH before sbatch\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Show hostname, use `module load` after salloc\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Simplify reconnecting to same node, no code-server\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* \"Synchronize\" VsCode extensions in subprocess\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Only transfer missing extensions\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* A bit of code cleanup\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Skip transfering extensions if already done.\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Improve comments\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Re-make the syncing happen in the background\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Parametrize the paths a bit more\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Improve the printed messages a bit\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Reduce duplication of hard-coded cluster names\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Minor (mostly typing-related) improvements\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Move fixtures from test_remote.py to conftest\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Change signature and improve copying of extensions\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add tests for the copying of VsCode extensions\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add test for packing of missing vscode extension\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix tests failing due to change in help str\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix tests failing due to added `cd $SCRATCH`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Make change to `hide` arg consistent in remote.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add test for `get_qualified_computenode_hostname`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add missing `niagara` cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove niagara cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug with shutil.copytree in python=3.7\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Slightly simplify construction path based on home\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix compute node hostname issue on mila cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Apply suggestions from code review\r\n\r\nCo-authored-by: satyaog \r\n\r\n* Remove hard-coded value for DRAC clusters\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove commented lines and change to ensure_alloc\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Use `filecmp` module to compare dirs\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Make test_remote.py checks less strict\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug with mock_calls in py3.7\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add more colour to logs and mention the background\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add small note to comment\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix duplicate imports and such from rebase\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix a bug in test_get_output for py3.7\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin \r\nSigned-off-by: Fabrice Normandin \r\nCo-authored-by: satyaog ","shortMessageHtmlLink":"Add support for DRAC clusters to the mila code command [MT-71] (#85)"}},{"before":"4adedbc8fe280d1d90cb1e52756d6beb8cca805b","after":"aa953ab04e949bcf751440a81ffbc82a9a5bd31a","ref":"refs/heads/master","pushedAt":"2024-01-23T16:36:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Setup a SLURM cluster in the GitHub CI for integration tests [MT-34] (#84)\n\n* Test out GH Action to setup a fake SLURM cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Change the scope to also run on PRs\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Change the command to use `srun (...) hostname`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Test out running tests that call srun over ssh\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Use `poetry run pytest` instead of `pytest`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Try to test the `ensure_allocation` method\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Simplify to avoid hanging on test setup\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Skip making a Connection (hopefully fixes hang)\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Try using a custom version of setup-slurm action\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Rename custom action file\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Try to fix the path to the custom action file\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix role number in custom action file\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Only mark one partition with Default: YES\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Only have `localhost` as a node\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Re-simplify test to check that slurm works\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Put the slurm playbook in a file\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add main and unkillable partitions\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Trying to add tests using the local SLURM cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add `in_stream=False` to `run` and `simple_run`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Simplify tests: greatly reduce need for -s flag\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* `SlurmRemote.ensure_allocation` test works on Mila\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Try to make tests timeout instead of hang in CI\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Make slurm tests the integration tests in build\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Skip some tests for now to debug the CI issues\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Only run integration tests with slurm on linux :(\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Debugging hanging integration test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Test if hanging test is due to nested sallocs\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Skip tests that use salloc/sbatch in GitHub CI :(\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Minor tying/docstring improvements to Remote class\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add some tests for SlurmRemote.run and such\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Don't actually extract jobid from salloc for now\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add sleeps so sacct can update to show recent jobs\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Mark tests that cause a hang in GitHub CI\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add timeout of 3 minutes to integration tests step\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove check that fails in GitHub CI\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update tests/cli/test_slurm_remote.py\r\n\r\nCo-authored-by: satyaog \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin \r\nSigned-off-by: Fabrice Normandin \r\nCo-authored-by: satyaog ","shortMessageHtmlLink":"Setup a SLURM cluster in the GitHub CI for integration tests [MT-34] (#…"}},{"before":"9c4f213e4f82f6ff7eed2d700f0281b520855425","after":"4adedbc8fe280d1d90cb1e52756d6beb8cca805b","ref":"refs/heads/master","pushedAt":"2024-01-23T15:44:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Add entries for DRAC cluster during `mila init` [MT-61] (#54)\n\n* Add SSH entries for the DRAC clusters\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update tests for mila init to add DRAC setup\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Also setup the passwordless authentication to DRAC\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Bug: Unable to check passwordless SSH on DRAC\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Re-add the \"User\" in DRAC entries\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix isort issue\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix test broken because of additional prompts\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Simplify the code a bit, show entries in dict\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* `mila init` sets up SSH access to DRAC\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add explicit `timeout` to `run` method, fix tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix ordering of entries in windows config from WSL\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix pre-commit issues\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Tweak ssh-keygen call and test timeout\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug in `create_ssh_keypair`\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Dont add SSH multiplexing for DRAC compute nodes\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix issue with create_ssh_keypair on Windows\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Try to make the ssh-keygen work on Windows in CI\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix issue(?) with ssh-keygen on Windows\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix weird issues with test_local.py on Windows\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix test for create_ssh_keypair on Windows\r\n\r\nSigned-off-by: Fabrice \r\n\r\n* Simplify redundant use of xfail mark\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Move test_check_passwordless to test_local.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Move init command steps to init_command.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Simplify check_passwordless and add more tests\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add link to DRAC website for passwordless SSH\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Greatly simplify check_passwordless\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Update `mila init`, setup passworless SSH to DRAC\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add failing test stub\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add tests for setup_passwordless_ssh_to_cluster\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Move common fixtures to common.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add a test for _get_drac_username\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix issue with shutil.copytree for py3.7\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add integration test for setup_passwordless_ssh\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove outdated comments\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix issue with check_passwordless, fix test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add comments in test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Replace computecanada.ca with alliancecan.ca\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix bug in test_setup_passwordless_ssh_access\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Increase timeout value to try to help Win issue\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Increase timeout value for a test\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Increase timeout for test_create_ssh_keypair\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix issue with setup_passwordless_ssh on Windows\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Remove the check for ssh access to niagara\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Make an ssh key for Mila and Drac clusters\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Fix tests for setup_passwordless_ssh\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Revert \"Fix tests for setup_passwordless_ssh\"\r\n\r\nThis reverts commit 6ea36d41a569269ba891f4d2340c1fc1700849f4.\r\n\r\n* Revert \"Make an ssh key for Mila and Drac clusters\"\r\n\r\nThis reverts commit 61ec17edf8fa9cf0be13fc654bb43f776e02a34a.\r\n\r\n* Increase the timeout value in test_init_command.py\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin \r\nSigned-off-by: Fabrice Normandin \r\nSigned-off-by: Fabrice ","shortMessageHtmlLink":"Add entries for DRAC cluster during mila init [MT-61] (#54)"}},{"before":"1cad727cab0ef71c366b10d047337aa7522b42cb","after":"9c4f213e4f82f6ff7eed2d700f0281b520855425","ref":"refs/heads/master","pushedAt":"2024-01-22T23:06:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lebrice","name":"Fabrice Normandin","path":"/lebrice","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13387299?s=80&v=4"},"commit":{"message":"Fix dynamic versioning not working in the CI (#89)\n\n* Fix dynamic versioning not working in the CI\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n* Add workflow_dispatch for the publish.yml workflow\r\n\r\nSigned-off-by: Fabrice Normandin \r\n\r\n---------\r\n\r\nSigned-off-by: Fabrice Normandin ","shortMessageHtmlLink":"Fix dynamic versioning not working in the CI (#89)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWxTQPQA","startCursor":null,"endCursor":null}},"title":"Activity · mila-iqia/milatools"}