* fix: 🐛 fix bug with the e2e test fixture hanging
* test: 💍 update cred store label locators with exact match
* test: 💍 update createTargetWithAddressAndAlias with target type
* chore: 🤖 add ember-a11y-ignore tool
* chore: 🤖 fix handling existing setRunOptions imports
* chore: 🤖 move codemod to support folder
* chore: 🤖 fix edge case for handling property key names
* chore: 🤖 handle case where multiple of same violation in test
This fixes a bug where multiple cases of the same violation would end up
with multiple entries
* chore: 🤖 ignore axe rules that are currently failing in admin
* chore: 🤖 ignore axe rules that are currently failing in desktop
* docs: ✏️ add a comment explaining the codemod
* chore: 🤖 include test.each cases for a11y ignores
* fix: 🐛 handle test.each test cases for a11y ignore codemod
* ci: 🎡 consolidate ember a11y reports and upload as gh artifact
* ci: 🎡 Bump test timeout for a11y tests
* chore: 🤖 run a11y tests in parallel
* chore: 🤖 only run a11y audit against acceptance tests
* chore: 🤖 restore ember test in place of ember exam
testing whether or not ember test hangs with three tests timing out like
ember exam does
* ci: 🎡 output a11y reports filtered down in ci
* ci: 🎡 attempt to fix shell exit code for a11y test failures
* ci: 🎡 add step names for outputting a11y test report summary
* chore: 🤖 add @openapitools/openapi-generator-cli
* chore: 🤖 Add @nestjs/core and @openapitools/openapi-generator-cli to ignoredBuiltDependencies
These packages use postinstall for a opencollective notice
* chore: 🤖 add package.json scripts for open-api client gen
* chore: 🤖 add openapi generated files
* chore: 🤖 add boundary api client fixture
* chore: 🤖 incorporate api client fixture with base fixture
* chore: 🤖 migrate existing test to use boundary api fixture
* refactor: 💡 remove org cleanup from test
* refactor: 💡 update sorting e2e test to use api client
* refactor: 💡 clean up api client resource clean up logging
* docs: ✏️ update jsdoc links for domain clients
* chore: 🤖 avoid adding copywright headers to generated api
* Add missing copyright headers
* chore: 🤖 remove fetch argument from api client class
The hope was to use request.fetch but playwright's fetch is a
non-standard fetch which causes the generated api client to fail when
using .clone() on the response
* chore: 🤖 add optional OPENAPI_SWAGGER_URL_OR_FILE for openapi-client
generation
The OPENAPI_SWAGGER_URL_OR_FILE env var can be used to specify the
-i flag the generate:api-client script with either:
* a relative path
* an absolute path
* a url like: https://raw.githubusercontent.com/hashicorp/boundary/refs/heads/main/internal/gen/controller.swagger.json
* refactor: 💡 clean up and refactor boundary-api-client fixture
* chore: 🤖 add extra doc links and delete methods
* test: 💍 add test to ensure that api-client fixture works
* test: 💍 update existing e2e test examples with api-client
* docs: ✏️ add comment for api-client e2e test
* docs: ✏️ add additional links to service docs for api clients
* refactor: 💡 cleanup api-client and corresponding test
* docs: ✏️ add api client fixture docs to e2e README
* fix: 🐛 fix regex
* remove unnecessary capture group
* add "-" to regex to allow for url segments like "storage-buckets" in
"/v1/storage-buckets"
* docs: ✏️ comment potential edge case in e2e api client cleanup
* docs: ✏️ fix comment typo
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
* docs: ✏️ remove auth flag for generating e2e client
* docs: ✏️ add mention that java is required for generate:api
* chore: 🤖 implement pr feedback
* chore: 🤖 Clean up api client and add more extensive test
* chore: 🤖 fix casing in api-client test
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
---------
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
* chore: 🤖 update @glimmer/component to v2
* chore: 🤖 bump ember-a11y-refocus to fix focus errors in tests
Previous runs had three failing tests related to focusing from
ember-a11y-refocus:
* global failure: TypeError: Cannot read properties of null (reading 'focus')
Tests failing with this error were fixed as part of this PR:
https://github.com/ember-a11y/ember-a11y-refocus/pull/347
After bumping to a later version of ember-a11y-refocus, the
existing failing tests now pass
pnpm by default refuses to run install scripts, some packages require
these and others are use install scripts as a way to provide messages.
Instead of a pnpm warning this commit ensures that the package that
is detected with an install script must be either listed in
ignoredBuiltDependencies or onlyBuiltDependencies. Running pnpm
install will fail until a package has been categorized
As part of this commit the packages that were previously listed
as warnings have been categorized under ignoredBuiltDependencies
since their install scripts are not required for the functionality
of the package
* chore: 🤖 remove packageManager field from package.json
* chore: 🤖 migrate yarn resolutions to pnpm overrides
* chore: 🤖 generate pnpm-lock.yml by using: pnpm import yarn.lock
* chore: 🤖 remove yarn.lock file
* chore: 🤖 migrate workspace configuration
* chore: 🤖 remove .yarn and .yarnrc.yml config
* chore: 🤖 update .copyright.hcl to ignore root pnpm files
* chore: 🤖 migrate husky pre-commit hook from yarn to pnpm
* chore: 🤖 migrate package.json scripts from yarn to pnpm
* chore: 🤖 update rose package.json & build to use explicit deps
* chore: 🤖 remove unused cp metadata.json command in pjson script
The cp metadata.json to dist was added in:
d19a251
The addons/rose/metadata.json no longer exists so it can't be copied
* chore: 🤖 migrate electron-app package.json scripts to pnpm
* chore: 🤖 create pnpm workspace for electron-app w/ hoisted deps
* chore: 🤖 migrate electron-app yarn lockfile to pnpm lockfile
Used "pnpm import yarn.lock"
* chore: 🤖 migrate electron-app overrides
node-gyp isn't needed since the fork is used via @electron/node-gyp
see: https://github.com/electron/node-gyp?tab=readme-ov-file#node-gyp---nodejs-native-addon-build-tool
* chore: 🤖 add trusted deps to be built to onlyBuiltDependencies
This is a pnpm feature that increases security. By defining these
dependencies they are being trusted to allow install hooks,
including postinstall. See:
https://pnpm.io/settings#onlybuiltdependencies
* chore: 🤖 add electron-app pnpm files to copyright header ignore
* chore: 🤖 remove yarn references from .*ignore files
* chore: 🤖 migrate --yarn to --pnpm for ember-cli-update.json
This isn't clearly documented but something that is supported
and can be found in other ember apps:
https://github.com/search?q=--pnpm+ember-cli-update.json&type=code
* chore: 🤖 migrate ci and related scripts to use pnpm
The cache is migrated to use the cache supported by
actions/setup-node@v4, an action we are already using. This is the
recommended way by pnpm:
https://pnpm.io/continuous-integration#github-actions
This commit also ensures that all github actions are using
consistent versions of actions/setup-node and pnpm/action-setup
* docs: ✏️ update documentation to use pnpm instead of yarn
* chore: 🤖 use explicit asciinema-player dependency
Because we override styles on asciinema-player we depend on their
styles. What might be a minor non-breaking change in their version could
(and did) break our style expectations in our overrides.
* chore: 🤖 run pnpm install and commit lockfile changes
* chore: 🤖 Remove ember-inflector from being overidden
https://github.com/hashicorp/boundary-ui/pull/2828#discussion_r2110380711
* chore: 🤖 remove highlight.js from pnpm overrides
https://github.com/hashicorp/boundary-ui/pull/2828#discussion_r2109847938
* chore: 🤖 remove additional unnecessary files from ignore files
* docs: ✏️ fix pnpm doc links
* chore: 🤖 use corepack to specify packageManager in package.json
* chore: 🤖 let pnpm action in ci use packageManager for version
https://github.com/pnpm/action-setup?tab=readme-ov-file#version
* docs: ✏️ fix broken pnpm website links
There was an issue in tests where events fired in
Hds::FlyOut and Hds::Modal were not being dispatched.
These close events were depended on by test waiters
to know when the element was removed. In recent
versions of chrome, when ran headless and on macos,
these events were not firing. This meant the tests
waited indefinitely on developers local machines,
until the tests timed out. This issue was seen
across multiple macbooks and even on the hds repo.
This issue was *only* experienced in headless
chrome on recent macos.
It was **not** happening in:
* macos chrome headed locally
* linux chrome headless in CI
This made the issue only impact people running tests
locally, getting obscure timeouts. This issue is fixed
by the addition of this flag:
--disable-backgrounding-occluded-windows
The other flags added in this commit are not required
for the fix but should help keep a browser "active",
which was loosely what researching this bug hinted at
the cause of finding the issue fix.
* chore: 🤖 add .eslintignore for e2e-tests directory
* chore: 🤖 add auto-fixable eslint changes
* chore: 🤖 make js tasks more explicit to avoid race conditions
avoid having js files be in two separate concurrent branches where tasks
could result in race-condition writes
* chore: 🤖 expand .eslintignore to include more generated dirs
* chore: 🤖 fix additional lint-staged tasks
Fix additional lint-staged tasks that could result in race conditions
* docs: ✏️ update e2e docs with supported enos scenarios
* Update grammatical typo in e2e-tests/README.md
Co-authored-by: Michael Li <michael.li@hashicorp.com>
---------
Co-authored-by: Michael Li <michael.li@hashicorp.com>
* test(e2e): add e2e test for scope chooser with filtered targets
Closes: https://hashicorp.atlassian.net/browse/ICU-16121
* Add missing copyright headers
* chore(e2e): use prettier on scope.spec.js
* refactor(e2e): use explicit checks for scope in summary
* refactor(e2e): move test hooks and associated variables to top-level
Move beforeEach and afterEach and the associated variables setup in
hooks to top-level within scope.spec.js. This matches the patterns
used in other tests.
* refactor(e2e): use simpler scoped locator for summary element within header-nav
---------
Co-authored-by: hashicc <hashicc@users.noreply.github.com>