Skip to content

Commit 88098b9

Browse files
authored
chore: ensure that pnpm also enforces minimumReleaseAge (#40476)
On top of our Renovate configuration[0] not allowing Renovate to prepare updates until npm packages have been available for 7 days, we can provide "defence in depth" by also wiring in pnpm's configuration. This takes the rules from [0] and applies them to explicitly allowlist our packages, as well as set the limit to 7 days. To make sure our E2E tests still operate, we can - in a slightly hacky manner - disable `minimumReleaseAge` by deleting the `pnpm-workspace.yaml`, as it doesn't seem to be possible to `--ignore-workspace` while using `minimumReleaseAge`, as it still requires the `minimumReleaseAge` to pass. [0]: https://github.com/renovatebot/.github/blob/095f454e8b1141edb1045dd389bee4c59c51613e/default.json
1 parent 254b9ba commit 88098b9

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

.github/workflows/build.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ env:
4343
patches/
4444
tools/
4545
package.json
46+
pnpm-workspace.yaml
4647
pnpm-lock.yaml
4748
4849
jobs:
@@ -745,7 +746,11 @@ jobs:
745746
run: pnpm test-e2e:pack
746747

747748
- name: Install dependencies
748-
run: pnpm test-e2e:install
749+
run: |
750+
# as `--ignore-workspace` doesn't seem to apply to `minimumReleaseAge`, forcibly delete our workspace
751+
rm pnpm-workspace.yaml
752+
753+
pnpm test-e2e:install
749754
750755
- name: E2E Test
751756
run: pnpm test-e2e:run

pnpm-workspace.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
11
packages: []
22

33
strictPeerDependencies: true
4+
5+
# in line with https://github.com/renovatebot/.github/blob/main/default.json,
6+
# all non-Renovate or non-Containerbase packages should only be installed after
7+
# 7 days
8+
minimumReleaseAge: 10080
9+
minimumReleaseAgeExclude:
10+
- '@renovatebot/detect-tools'
11+
- '@renovatebot/osv-offline'
12+
- '@renovatebot/pep440'
13+
- '@renovatebot/pgp'
14+
- '@renovatebot/ruby-semver'
15+
- '@containerbase/eslint-plugin'
16+
- '@containerbase/istanbul-reports-html'
17+
- '@containerbase/semantic-release-pnpm'

0 commit comments

Comments
 (0)