backstage / backstage/community-plugins
🔧 Repository: Migrate Maintainer Owned Workspaces to Jest 30
- Dominant language
- TypeScript
- Stars
- 422
- Forks
- 697
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 286
Description
### 📜 Description
Since `1.46.x` Backstage has supported Jest 30, we need to migrate all the Maintainer Owned workspaces to this version.
> [!NOTE]
> PR https://github.com/backstage/community-plugins/pull/7867 must be merged before you can move forward with migrating any of the workspacs listed in this issue.
The process to do this migration will be as follows:
1. From the workspace root run: `yarn add --dev jest@^30 @types/jest@^30 @jest/environment-jsdom-abstract@^30 jsdom@^27`
2. Run `yarn install` and then `yarn tsc:full`, if there are any errors fix them, if you can't stop and ask for help.
3. Now run `./node_modules/.bin/backstage-cli repo test --version` and validate that the output is `0.35.4` or greater, if it's not something went wrong, stop and ask for help.
4. Now run `./node_modules/.bin/backstage-cli repo test`, fix any failing tests
5. Create a PR with your changes.
The Backstage [Migrating to Jest 30 guide](https://backstage.io/docs/tutorials/jest30-migration) likely has some helpful information if you have issues.
> [!WARNING]
> Please create 1 PR per workspace, do NOT submit it as one big change. If you work on this make sure you complete 1 before starting the next, complete means it is approved and merged.
The list of workspaces to be migrated are:
- [ ] airbrake
- [x] allure
- [ ] apache-airflow
- [x] apollo-explorer
- [x] badges
- [ ] bazaar
- [ ] cicd-statistics
- [x] cloudbuild
- [x] code-climate
- [x] codescene
- [ ] dynatrace
- [ ] entity-validation
- [ ] firehydrant
- [ ] gcalendar
- [ ] gcp-projects
- [ ] github
- [ ] gitops-profiles
- [ ] gocd
- [ ] grafana
- [ ] graphiql
- [ ] graphql-voyager
- [ ] ilert
- [ ] jaeger
- [ ] jenkins
- [ ] lighthouse
- [ ] linkerd
- [ ] microsoft-calendar
- [ ] newrelic
- [ ] nomad
- [ ] opencost
- [ ] periskop
- [ ] puppetdb
- [ ] sentry
- [ ] shortcuts
- [ ] splunk
- [x] stack-overflow
- [x] stackstorm
- [x] tech-radar
- [x] todo
- [x] vault
- [x] xcmetrics
### 👍 Expected behavior
Tests should run using Jest 30
### 👎 Current Behavior
Tests are running under the older Jest 29
### 👟 Reproduction steps
N/A
### 📃 Provide the context for the Bug.
Migrating to Jest 30 keeps the workspaces in line with Backstage changes.
### 👀 Have you spent some time to check if this bug has been raised before?
- [x] I checked and didn't find similar issue
### 🏢 Have you read the Code of Conduct?
- [x] I have read the [Code of Conduct](https://github.com/backstage/community-plugins/blob/main/CODE_OF_CONDUCT.md)
### Are you willing to submit PR?
No, but I'm happy to collaborate on a PR with someone else
Contributor guide
Research direction
Wait for community-plugins PR 7867 to merge, then choose one unchecked workspace from the issue. From that workspace root, update the Jest dependencies, run yarn install and yarn tsc:full, then validate backstage-cli repo test --version reports 0.35.4 or greater. Run backstage-cli repo test and finish when tests pass and the workspace has its own approved and merged PR.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- build-system, testing-qa
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 70/100