-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve CI/CD for the repo. #57
Comments
Are these tests going to be run by GitHub Actions, or are they expected to be run by the user on-demand? We should specify that the VPS accounts we use for this must be separated from the main VPS accounts we use so that compromising the CI will not compromise the main accounts. |
This issue should probably describe the exact commands we will be testing, in what order. For example: we will do |
@tok-kkk let's proceed with GitHub Actions, just because it allows us to keep as much as possible on GitHub, and we can cut down on an external service. GitHub Actions also seems to be a little more reliable recently. RE: the testing |
This might be a bit extreme, since these tests are probably going to take a decent amount of time to actually execute in full. I would recommend that we only run them on attempts to merge into master (eg. PRs into master). |
Object
We want to have a test suite build into our CI system which helps us reduce the amount of manual testing. The test suite should cover most of the CLI command and tests on different VPSs and systems.
Design
Testing Accounts
We should create separate accounts or sub-users of our main account and limit the service access. This ensures the safety of our VPS main account. We also need to make sure the account credential is private. (i.e. set up as Github secrets or environment variables)
Testing cases
CI should be triggered on every new commit. Both CircleCI and GitHub Actions allow you to skip certain commits if you have
[skip ci]
in the title or description. source.It should cover both positive and negative test cases. And tests against different VPS should be running parallel if that's possible. It should test the following cases:up
a couple of nodes with different options anddestroy
them with different options.start
,stop
andrestart
commands are able to control the darknode status.list
command show the correct info of the darknodeupdate
command is able to compare the versions and do an update when outdated.resize
the darknode to an upper tier and a lower tier and check the darknode statusexec
command with different optionsDiscussion
Github Actions VS CircleCI
I personally favour CircleCI as we already have everything set up in CircleCI and it has some features which Github Actions doesn't have. Github Action is also good in terms of github integration, the setup should be more easy and friendly than CircleCi. We can achieve the same result with Github Actions, but with more developing time.
Not sure how can we test the
ssh
command in CI.The text was updated successfully, but these errors were encountered: