From ab5e0ba8303c180505ca779b205830a150e3b761 Mon Sep 17 00:00:00 2001 From: Jon Koops Date: Tue, 21 Jul 2026 18:58:22 +0200 Subject: [PATCH] chore: remove broken postinstall scripts Every workspace inherited a `"postinstall": "cd ../../ && yarn install"` script from the community-plugins repo convention. This was a workaround to ensure root-level dependencies were installed when CI ran `yarn install` inside a workspace directory. This workaround was superseded upstream by backstage/community-plugins#1903, which added an explicit root install step to the CI workflows. Our release workflow already has an equivalent step, but the CI workflow was missing one. Add it now so the postinstall can be safely removed. Workspaces in this repo are independent projects and should not depend on the parent package or other workspaces. This postinstall violated that boundary. Signed-off-by: Jon Koops --- .github/workflows/ci.yml | 4 ++++ .github/workflows/coverage-baseline.yml | 4 ++++ workspaces/adoption-insights/package.json | 3 +-- workspaces/ai-integrations/package.json | 3 +-- workspaces/app-defaults/package.json | 3 +-- workspaces/augment/package.json | 2 +- workspaces/boost/package.json | 3 +-- workspaces/bulk-import/package.json | 1 - workspaces/cost-management/package.json | 3 +-- workspaces/dcm/package.json | 1 - workspaces/extensions/package.json | 3 +-- workspaces/global-header/package.json | 3 +-- workspaces/homepage/package.json | 3 +-- workspaces/install-dynamic-plugins/package.json | 3 +-- workspaces/intelligent-assistant/package.json | 3 +-- workspaces/konflux/package.json | 3 +-- workspaces/mcp-integrations/package.json | 3 +-- workspaces/noop/package.json | 1 - workspaces/orchestrator/package.json | 1 - workspaces/orchestrator/scripts/postinstall | 6 ------ workspaces/quickstart/package.json | 1 - workspaces/repo-tools/package.json | 3 +-- .../src/lib/workspaces/templates/workspace/package.json.hbs | 3 +-- workspaces/scorecard/package.json | 3 +-- workspaces/theme/package.json | 3 +-- workspaces/translations/package.json | 3 +-- workspaces/x2a/package.json | 3 +-- 27 files changed, 27 insertions(+), 48 deletions(-) delete mode 100755 workspaces/orchestrator/scripts/postinstall diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cee393abe78..d31354464c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -77,6 +77,10 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth + - name: Install root dependencies + run: yarn install --immutable + working-directory: ${{ github.workspace }} + - name: yarn install run: yarn install --immutable diff --git a/.github/workflows/coverage-baseline.yml b/.github/workflows/coverage-baseline.yml index b51c074daee..792f341fa68 100644 --- a/.github/workflows/coverage-baseline.yml +++ b/.github/workflows/coverage-baseline.yml @@ -72,6 +72,10 @@ jobs: node-version: 24 registry-url: https://registry.npmjs.org/ + - name: Install root dependencies + run: yarn install --immutable + working-directory: ${{ github.workspace }} + - name: Install dependencies run: yarn install --immutable diff --git a/workspaces/adoption-insights/package.json b/workspaces/adoption-insights/package.json index 17f05203b1c..5e024262258 100644 --- a/workspaces/adoption-insights/package.json +++ b/workspaces/adoption-insights/package.json @@ -30,8 +30,7 @@ "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": { "packages": [ diff --git a/workspaces/ai-integrations/package.json b/workspaces/ai-integrations/package.json index 0e45f28b2b8..3b5da909c7f 100644 --- a/workspaces/ai-integrations/package.json +++ b/workspaces/ai-integrations/package.json @@ -24,8 +24,7 @@ "lint": "backstage-cli repo lint --since origin/main", "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": { "packages": [ diff --git a/workspaces/app-defaults/package.json b/workspaces/app-defaults/package.json index cb47aa6cfba..b8da60c596e 100644 --- a/workspaces/app-defaults/package.json +++ b/workspaces/app-defaults/package.json @@ -24,8 +24,7 @@ "lint:all": "backstage-cli repo lint", "prettier:fix": "prettier --write .", "prettier:check": "prettier --check .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": [ "packages/*", diff --git a/workspaces/augment/package.json b/workspaces/augment/package.json index 1dbb74370c0..aa224739698 100644 --- a/workspaces/augment/package.json +++ b/workspaces/augment/package.json @@ -27,7 +27,7 @@ "prettier:fix": "prettier --write .", "chores": "yarn prettier:fix && yarn lint:all --fix && yarn tsc:full && yarn build:api-reports && yarn test:all", "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "node scripts/patch-agents-core.js && cd ../../ && yarn install" + "postinstall": "node scripts/patch-agents-core.js" }, "workspaces": { "packages": [ diff --git a/workspaces/boost/package.json b/workspaces/boost/package.json index d4d65c3835f..109de0babc0 100644 --- a/workspaces/boost/package.json +++ b/workspaces/boost/package.json @@ -24,8 +24,7 @@ "prettier:fix": "prettier --write .", "chores": "yarn prettier:fix && yarn lint:all --fix && yarn tsc:full && yarn build:api-reports && yarn openspec:validate && yarn test:all", "new": "backstage-cli new --scope @red-hat-developer-hub", - "openspec:validate": "openspec validate --all --json", - "postinstall": "cd ../../ && yarn install" + "openspec:validate": "openspec validate --all --json" }, "workspaces": { "packages": [ diff --git a/workspaces/bulk-import/package.json b/workspaces/bulk-import/package.json index 5b323772797..6e6d0f2bd9d 100644 --- a/workspaces/bulk-import/package.json +++ b/workspaces/bulk-import/package.json @@ -23,7 +23,6 @@ "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install", "test:e2e:legacy": "APP_MODE=legacy playwright test", "test:e2e:nfs": "APP_MODE=nfs playwright test", "test:e2e:all": "yarn test:e2e:legacy && yarn test:e2e:nfs", diff --git a/workspaces/cost-management/package.json b/workspaces/cost-management/package.json index cc18fb146dc..3e8dd91fda6 100644 --- a/workspaces/cost-management/package.json +++ b/workspaces/cost-management/package.json @@ -25,8 +25,7 @@ "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": { "packages": [ diff --git a/workspaces/dcm/package.json b/workspaces/dcm/package.json index 4f7975a7d0a..8dc406a8b71 100644 --- a/workspaces/dcm/package.json +++ b/workspaces/dcm/package.json @@ -27,7 +27,6 @@ "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install", "e2e-test": "playwright test", "e2e-test:live": "playwright test --project=live" }, diff --git a/workspaces/extensions/package.json b/workspaces/extensions/package.json index 158c9cbf23b..55250ec262b 100644 --- a/workspaces/extensions/package.json +++ b/workspaces/extensions/package.json @@ -29,8 +29,7 @@ "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": { "packages": [ diff --git a/workspaces/global-header/package.json b/workspaces/global-header/package.json index 0ebb9040f3f..0f72e21bdb1 100644 --- a/workspaces/global-header/package.json +++ b/workspaces/global-header/package.json @@ -30,8 +30,7 @@ "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": { "packages": [ diff --git a/workspaces/homepage/package.json b/workspaces/homepage/package.json index 5e4d59d42c7..cf40c3d8fbd 100644 --- a/workspaces/homepage/package.json +++ b/workspaces/homepage/package.json @@ -30,8 +30,7 @@ "playwright": "bash -c 'if [[ \"$*\" == \"test\" ]]; then yarn test:e2e:all; else npx playwright \"$@\"; fi' _", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": { "packages": [ diff --git a/workspaces/install-dynamic-plugins/package.json b/workspaces/install-dynamic-plugins/package.json index 99aa9c483b7..2710bdd7d88 100644 --- a/workspaces/install-dynamic-plugins/package.json +++ b/workspaces/install-dynamic-plugins/package.json @@ -25,8 +25,7 @@ "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "prettier": "@spotify/prettier-config", "lint-staged": { diff --git a/workspaces/intelligent-assistant/package.json b/workspaces/intelligent-assistant/package.json index 25e2f7c9a8c..fd709966eda 100644 --- a/workspaces/intelligent-assistant/package.json +++ b/workspaces/intelligent-assistant/package.json @@ -32,8 +32,7 @@ "lint:fix": "backstage-cli package lint --fix", "prettier:check": "prettier --ignore-unknown --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": [ "packages/*", diff --git a/workspaces/konflux/package.json b/workspaces/konflux/package.json index a3fe5d395cc..750abdd09fb 100644 --- a/workspaces/konflux/package.json +++ b/workspaces/konflux/package.json @@ -23,8 +23,7 @@ "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": { "packages": [ diff --git a/workspaces/mcp-integrations/package.json b/workspaces/mcp-integrations/package.json index 83e89c95074..aa235106a9e 100644 --- a/workspaces/mcp-integrations/package.json +++ b/workspaces/mcp-integrations/package.json @@ -25,8 +25,7 @@ "lint": "backstage-cli repo lint --since origin/main", "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": { "packages": [ diff --git a/workspaces/noop/package.json b/workspaces/noop/package.json index 8b9a53ea89f..793159d14ba 100644 --- a/workspaces/noop/package.json +++ b/workspaces/noop/package.json @@ -9,7 +9,6 @@ "build:api-reports:only": "exit 0", "build:knip-reports": "exit 0", "fix": "exit 0", - "postinstall": "cd ../../ && yarn install", "prettier:check": "exit 0", "tsc:full": "exit 0", "test:all": "exit 0" diff --git a/workspaces/orchestrator/package.json b/workspaces/orchestrator/package.json index fb3568979f3..153c13385e1 100644 --- a/workspaces/orchestrator/package.json +++ b/workspaces/orchestrator/package.json @@ -25,7 +25,6 @@ "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "./scripts/postinstall", "enable-in-rhdh-repo": "node scripts/export-to-rhdh-repo.js && node scripts/update-config-in-rhdh-repo.js" }, "workspaces": { diff --git a/workspaces/orchestrator/scripts/postinstall b/workspaces/orchestrator/scripts/postinstall deleted file mode 100755 index 93b568c369c..00000000000 --- a/workspaces/orchestrator/scripts/postinstall +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -mydir=`pwd` -cd ../../ && yarn install -cd $mydir -cd plugins/orchestrator-common -yarn openapi:check diff --git a/workspaces/quickstart/package.json b/workspaces/quickstart/package.json index 200018685ca..6ac4d30a772 100644 --- a/workspaces/quickstart/package.json +++ b/workspaces/quickstart/package.json @@ -22,7 +22,6 @@ "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install", "test:e2e": "yarn test:e2e:all", "test:e2e:legacy": "APP_MODE=legacy playwright test", "test:e2e:nfs": "APP_MODE=nfs playwright test", diff --git a/workspaces/repo-tools/package.json b/workspaces/repo-tools/package.json index eafb87dc0a4..151fb7c4ba4 100644 --- a/workspaces/repo-tools/package.json +++ b/workspaces/repo-tools/package.json @@ -24,8 +24,7 @@ "new": "backstage-cli new --scope internal", "build:api-reports": "yarn build:api-reports:only --tsc", "build:api-reports:only": "backstage-repo-tools api-reports -o ae-wrong-input-file-type --validate-release-tags", - "build:knip-reports": "backstage-repo-tools knip-reports", - "postinstall": "cd ../../ && yarn install" + "build:knip-reports": "backstage-repo-tools knip-reports" }, "prettier": "@spotify/prettier-config", "lint-staged": { diff --git a/workspaces/repo-tools/packages/cli/src/lib/workspaces/templates/workspace/package.json.hbs b/workspaces/repo-tools/packages/cli/src/lib/workspaces/templates/workspace/package.json.hbs index 74590744486..6e3d8484f03 100644 --- a/workspaces/repo-tools/packages/cli/src/lib/workspaces/templates/workspace/package.json.hbs +++ b/workspaces/repo-tools/packages/cli/src/lib/workspaces/templates/workspace/package.json.hbs @@ -21,8 +21,7 @@ "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": [ "packages/*", diff --git a/workspaces/scorecard/package.json b/workspaces/scorecard/package.json index 7c1862cdeba..739c80f545d 100644 --- a/workspaces/scorecard/package.json +++ b/workspaces/scorecard/package.json @@ -30,8 +30,7 @@ "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": { "packages": [ diff --git a/workspaces/theme/package.json b/workspaces/theme/package.json index 73847346e4b..6a730c3b3d4 100644 --- a/workspaces/theme/package.json +++ b/workspaces/theme/package.json @@ -29,8 +29,7 @@ "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope red-hat-developer-hub" }, "workspaces": [ "packages/*", diff --git a/workspaces/translations/package.json b/workspaces/translations/package.json index 1f71192e5bb..258c53fdb3d 100644 --- a/workspaces/translations/package.json +++ b/workspaces/translations/package.json @@ -25,8 +25,7 @@ "lint:all": "backstage-cli repo lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", - "new": "backstage-cli new --scope red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope red-hat-developer-hub" }, "workspaces": { "packages": [ diff --git a/workspaces/x2a/package.json b/workspaces/x2a/package.json index 59107255a8e..f95b74d269d 100644 --- a/workspaces/x2a/package.json +++ b/workspaces/x2a/package.json @@ -29,8 +29,7 @@ "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", "chores": "yarn prettier:fix && yarn lint:all --fix && yarn tsc:full && yarn build:api-reports && yarn test:all:pg", - "new": "backstage-cli new --scope @red-hat-developer-hub", - "postinstall": "cd ../../ && yarn install" + "new": "backstage-cli new --scope @red-hat-developer-hub" }, "workspaces": { "packages": [