RSDK-13711 Specify test version#239
Open
EvanDorsky wants to merge 36 commits into
Open
Conversation
viamrobotics#232) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR re-engineers the test suite to enable testing against a specified version of
viam-agentinstead ofstable.Interface/infra changes
viam_agent_testto specify the version under testinstallAgentnow uses the localinstall.sh(just likeuninstallAgent) instead of pulling the install script from gcp.installAgentnow checks that viam-agent is running at the specified version, instead of just running at all. If the version isn't correct, it installs the specified version.serialclient.EnsureOnlinewas re-added to the pre-scenario hook (this fixes some instability caused by the provisioning tests leaving the network adapter in a weird state)The agent version under test can be specified in a number of ways:
pr.xxxwill test a PR by number, if it has thedev-releaselabel (so that artifacts are built) e.g."pr.227""dev"will test the tip of main"stable"will test the latest stable release"x.y.z"will test any release version e.g."0.27.3""file:///path/to/agent"will test an arbitrary binary (that you manually copy onto the pi)Each feature test now prints the versions under test before running:
Test changes
Tests have been modified to account for the new syntax requirements to specify versions (like
stable,the version under test,an old version):viam-agent is installed->viam-agent is installed at the version under testthe viam-agent systemd unit is running->the viam-agent systemd unit is running with the version under testThe upgrade and downgrade tests have been changed so they make sense with this new flow:
upgrade.featureupgrades from stable to the version under testdowngrade.featuredowngrades from the version under test to stableChanges beyond tests
This PR makes a small modification to
install.sh- it adds$AGENT_CUSTOM_URL, which will be used instead of$URLas the download target for the agent binary if it$AGENT_CUSTOM_URLis passed in. This should be totally transparent if not used, but it enables the test to install any version (instead of relying on agent to update itself via pinning, which isn't really the same thing).