It looks like doing the work on a separate dev branch and then waiting to do a full review of merging all the work into main
may not have been the best idea.
It'll take some time to reformulate this PR as a set of PRs again, but maybe that's what it will take. Here are the PRs I envision:
Stop using playwright
directly (use @playwright/test
instead).
Signed-off-by: Mark Yen mark.yen@suse.com
Package.json: Remove playwright
, use @playwright/test
Turns out we don't even need the main playwright package installed to run the tests. This requires a small change in how we start up the E2e tests, but the actual experience is the same.
Signed-off-by: Mark Yen mark.yen@suse.com
Refactor BATS helpers (and tests)
Signed-off-by: Jan Dubois jan.dubois@suse.com
Bump @babel/eslint-parser from 7.18.9 to 7.19.1
Bumps @babel/eslint-parser from 7.18.9 to 7.19.1.
updated-dependencies:
Signed-off-by: dependabot[bot] support@github.com
Bump dockerBuildx from 0.10.1 to 0.10.2
Signed-off-by: Rancher Desktop Dependency Manager donotuse@rancherdesktop.io
Merge pull request #3863 from rancher-sandbox/rddepman/dockerBuildx/0.10.1-to-0.10.2
rddepman: bump dockerBuildx from 0.10.1 to 0.10.2
Make BATS work on Windows
With these changes you can run the platform.bats test on containerd:
./bats-core/bin/bats tests/containers/platform.bats
More work is required to support RD_USE_WINDOWS_EXE and RD_CONTAINER_ENGINE=moby.
Signed-off-by: Jan Dubois jan.dubois@suse.com
Merge pull request #3866 from jandubois/bats-windows
Make BATS work on Windows
Added a BATS test for running the rancher/rancher container
Signed-off-by: Gunasekhar Matamalam gunasekhar.matamalam@suse.com
Support moby engine and RD_USE_WINDOWS_EXE in BATS on Windows
Signed-off-by: Jan Dubois jan.dubois@suse.com
E2E: Fix playwright trace generation
We were previously passing in the wrong file name (always "TestUtils.ts"), causing the traces for each test suite to overwrite each other.
Signed-off-by: Mark Yen mark.yen@suse.com
E2E: TestUtils: Add a generic retry function
There are multiple places where it would be good to be able to retry some actions until they succeed, for waiting for the server to be running or working around intermittent network issues. For the initial use, add some cases where we check that docker/kubernetes has finished initializing.
Signed-off-by: Mark Yen mark.yen@suse.com
E2E: credentials-server/vtunnel: Use generic retry mechanism
This switches the E2E credentials-server test (waiting for vtunnel to be ready) to use the generic retry mechanism, so that it can catch more intermittent errors (in particular, failed to connect to host).
Signed-off-by: Mark Yen mark.yen@suse.com
Merge pull request #3868 from gunamata/run-rancher-bats-test
Added a BATS test for running the rancher/rancher container
Merge pull request #3869 from jandubois/bats-windows-part-two
Support moby engine and RD_USE_WINDOWS_EXE in BATS on Windows
Bump trivy from 0.36.1 to 0.37.1
Signed-off-by: Rancher Desktop Dependency Manager donotuse@rancherdesktop.io
Merge pull request #3874 from rancher-sandbox/rddepman/trivy/0.36.1-to-0.37.1
rddepman: bump trivy from 0.36.1 to 0.37.1
Merge pull request #3870 from mook-as/e2e/playwright-trace-wrong-name
E2E: Fix playwright trace generation
Merge pull request #3856 from mook-as/e2e-import-playwright-test
Stop using playwright
directly (use @playwright/test
instead).
Merge pull request #3859 from rancher-sandbox/dependabot/npm_and_yarn/babel/eslint-parser-7.19.1
Bump @babel/eslint-parser from 7.18.9 to 7.19.1
Move to the v1 API.
Signed-off-by: Eric Promislow epromislow@suse.com
Misc changes related to moving to v5 settings & the v1 API, including:
Signed-off-by: Eric Promislow epromislow@suse.com
Updating settings requires specifying the current version field in the payload.
Signed-off-by: Eric Promislow epromislow@suse.com
There's some go generate code that depends on not seeing the 'version' field
in components.schemas.preferences
, so it's hardwired into the settingsTree,
so in the generated Go code it is set correctly in the calls to rdctl set
,
but isn't exposed as a command-line option.
Double the global timeout for e2e tests.
Also please use this form for times, 5 * 60 * 1000
is
readily readable as 5 minutes
, while 300_000
requires some mental math to parse it, and the
multiplication is trivial for the computer to do.
Signed-off-by: Eric Promislow epromislow@suse.com
Update vm.bash to use the v5 settings.
Signed-off-by: Eric Promislow epromislow@suse.com
Stop using playwright
directly (use @playwright/test
instead).
Signed-off-by: Mark Yen mark.yen@suse.com
Package.json: Remove playwright
, use @playwright/test
Turns out we don't even need the main playwright package installed to run the tests. This requires a small change in how we start up the E2e tests, but the actual experience is the same.
Signed-off-by: Mark Yen mark.yen@suse.com
Refactor BATS helpers (and tests)
Signed-off-by: Jan Dubois jan.dubois@suse.com
Bump @babel/eslint-parser from 7.18.9 to 7.19.1
Bumps @babel/eslint-parser from 7.18.9 to 7.19.1.
updated-dependencies:
Signed-off-by: dependabot[bot] support@github.com
Bump dockerBuildx from 0.10.1 to 0.10.2
Signed-off-by: Rancher Desktop Dependency Manager donotuse@rancherdesktop.io
Merge pull request #3863 from rancher-sandbox/rddepman/dockerBuildx/0.10.1-to-0.10.2
rddepman: bump dockerBuildx from 0.10.1 to 0.10.2
Make BATS work on Windows
With these changes you can run the platform.bats test on containerd:
./bats-core/bin/bats tests/containers/platform.bats
More work is required to support RD_USE_WINDOWS_EXE and RD_CONTAINER_ENGINE=moby.
Signed-off-by: Jan Dubois jan.dubois@suse.com
Merge pull request #3866 from jandubois/bats-windows
Make BATS work on Windows
Added a BATS test for running the rancher/rancher container
Signed-off-by: Gunasekhar Matamalam gunasekhar.matamalam@suse.com
Support moby engine and RD_USE_WINDOWS_EXE in BATS on Windows
Signed-off-by: Jan Dubois jan.dubois@suse.com
E2E: Fix playwright trace generation
We were previously passing in the wrong file name (always "TestUtils.ts"), causing the traces for each test suite to overwrite each other.
Signed-off-by: Mark Yen mark.yen@suse.com
E2E: TestUtils: Add a generic retry function
There are multiple places where it would be good to be able to retry some actions until they succeed, for waiting for the server to be running or working around intermittent network issues. For the initial use, add some cases where we check that docker/kubernetes has finished initializing.
Signed-off-by: Mark Yen mark.yen@suse.com
E2E: credentials-server/vtunnel: Use generic retry mechanism
This switches the E2E credentials-server test (waiting for vtunnel to be ready) to use the generic retry mechanism, so that it can catch more intermittent errors (in particular, failed to connect to host).
Signed-off-by: Mark Yen mark.yen@suse.com
Merge pull request #3868 from gunamata/run-rancher-bats-test
Added a BATS test for running the rancher/rancher container
Merge pull request #3869 from jandubois/bats-windows-part-two
Support moby engine and RD_USE_WINDOWS_EXE in BATS on Windows
Bump trivy from 0.36.1 to 0.37.1
Signed-off-by: Rancher Desktop Dependency Manager donotuse@rancherdesktop.io
Merge pull request #3874 from rancher-sandbox/rddepman/trivy/0.36.1-to-0.37.1
rddepman: bump trivy from 0.36.1 to 0.37.1
Merge pull request #3870 from mook-as/e2e/playwright-trace-wrong-name
E2E: Fix playwright trace generation
Merge pull request #3856 from mook-as/e2e-import-playwright-test
Stop using playwright
directly (use @playwright/test
instead).
Merge pull request #3859 from rancher-sandbox/dependabot/npm_and_yarn/babel/eslint-parser-7.19.1
Bump @babel/eslint-parser from 7.18.9 to 7.19.1
Alternatively, there could be a separate settings-like object called lockedSettings
, that contains a tree of all the locked objects. Four sample trees:
{ containerEngine: { imageAllowList : true }, kubernetes: { port: true } }
containerEngine.imageAllowList
fields are locked, and kubernetes.port
is locked{ containerEngine: { imageAllowList : true }, kubernetes: true }
containerEngine.imageAllowList
and kubernetes
fields are locked{ containerEngine: { imageAllowList : true }, kubernetes: { port: true, version: true } }
containerEngine.imageAllowList
fields are locked, and kubernetes.port
and kubernetes.version
are the only locked fields in the kubernetes
subtree{}
or undefinedish
-- there are no locked fieldsIf a leaf is false
, it's the same as if the path to that leaf doesn't exist.
It's an error for a leaf-value to be non-boolean.
E2E: TestUtils: Add a generic retry function
There are multiple places where it would be good to be able to retry some actions until they succeed, for waiting for the server to be running or working around intermittent network issues. For the initial use, add some cases where we check that docker/kubernetes has finished initializing.
Signed-off-by: Mark Yen mark.yen@suse.com
E2E: credentials-server/vtunnel: Use generic retry mechanism
This switches the E2E credentials-server test (waiting for vtunnel to be ready) to use the generic retry mechanism, so that it can catch more intermittent errors (in particular, failed to connect to host).
Signed-off-by: Mark Yen mark.yen@suse.com
Merge pull request #3872 from mook-as/e2e/add-retry
E2E: Add strategic retries
For some E2E tests, it would be useful for us to retry things before declaring things as having failed. In particular, this is for things like waiting for some other piece to be ready (e.g. waiting for Kubernetes to finish starting up). This PR adds a generic retry facility and a few uses of it.
Semantics for locked objects and the API is covered at https://github.com/rancher-sandbox/rancher-desktop/issues/3862#issuecomment-1412716216 -- that should be sufficient to review this PR
Issue #3752 covers how preference objects are locked according to loaded deployment profiles.
Not ready to merge to main until 3756-implement-v1-api
(PR #3849) has been merged to main
Bump @babel/eslint-parser from 7.18.9 to 7.19.1
Bumps @babel/eslint-parser from 7.18.9 to 7.19.1.
updated-dependencies:
Signed-off-by: dependabot[bot] support@github.com
Merge pull request #3859 from rancher-sandbox/dependabot/npm_and_yarn/babel/eslint-parser-7.19.1
Bump @babel/eslint-parser from 7.18.9 to 7.19.1
Bumps @babel/eslint-parser from 7.18.9 to 7.19.1.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot reopen
@dependabot recreate
@dependabot rebase
Stop using playwright
directly (use @playwright/test
instead).
Signed-off-by: Mark Yen mark.yen@suse.com
Package.json: Remove playwright
, use @playwright/test
Turns out we don't even need the main playwright package installed to run the tests. This requires a small change in how we start up the E2e tests, but the actual experience is the same.
Signed-off-by: Mark Yen mark.yen@suse.com
Merge pull request #3856 from mook-as/e2e-import-playwright-test
Stop using playwright
directly (use @playwright/test
instead).
Eric says he got some advice saying this was better than importing playwright
(which pulls in more things than we need).
The tests that use docker-credential-none
are failing on Windows because there isn't one on the path.
We should only reference the resources/PLATFORM/bin
tools, except for specific tests that work on an installation.
Fixed by https://github.com/rancher-sandbox/rancher-desktop/pull/3362