backstage / backstage/community-plugins

🔧 Repository: Migrate Maintainer Owned Workspaces to Jest 30

Open
#7,868 10 comments 1 reaction 0 assignees View on GitHub
do-not-stale good first issue
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.