fastypest 3.0.41 → 3.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Actions runtime hardening
|
|
2
|
+
|
|
3
|
+
## Request
|
|
4
|
+
|
|
5
|
+
Investigate the failing npm auto-release and the shared required-QA Dependabot auto-merge automation, correct the root causes, and preserve the trusted release and approval contracts.
|
|
6
|
+
|
|
7
|
+
## Evidence
|
|
8
|
+
|
|
9
|
+
- Auto-release run `31248972629`, job `93082148311`, reached the package consumer smoke test and failed before publication because `actions/setup-node` exported an npm user config containing `${NODE_AUTH_TOKEN}` while npm trusted publishing intentionally provides no long-lived token. The temporary consumer then resolved Yarn Classic outside the repository and attempted to expand that undefined variable.
|
|
10
|
+
- Required-QA workflows shared across the repository set attempt `enablePullRequestAutoMerge` even when GitHub reports a PR as `clean`; GitHub rejects that mutation because the PR can already merge.
|
|
11
|
+
- Updating a behind Dependabot branch that changes `.github/workflows/*` can return `403` unless the automation token has the sensitive Workflows permission.
|
|
12
|
+
- `GITHUB_TOKEN` must not perform an immediate merge when downstream `push` workflows are required because GitHub suppresses most workflow runs caused by that token.
|
|
13
|
+
|
|
14
|
+
## Decision
|
|
15
|
+
|
|
16
|
+
- Keep `.github/workflows/auto-release.workflow.yml` at the same path and retain npm OIDC with `id-token: write`; do not add an npm token fallback.
|
|
17
|
+
- Isolate only the package-install smoke test from the publisher npm config and run its consumer install with the package-manager version declared by the package.
|
|
18
|
+
- Keep current-head, non-bot, write-maintainer QA approval as the merge prerequisite and revalidate it immediately before mutation.
|
|
19
|
+
- Use the protected `admin` Actions secret `PAT_FINE`, validated as the repository owner, for live branch/merge transitions so downstream events remain eligible to start workflows.
|
|
20
|
+
- Never grant Workflows permission for branch refresh. A behind PR that changes workflows is reported as requiring a manual trusted branch update and a fresh approval.
|
|
21
|
+
- If GitHub already reports `clean`, squash-merge the exact approved head. Otherwise enable repository auto-merge when available; handle a clean-state race by revalidating and merging the same exact head.
|
|
22
|
+
|
|
23
|
+
## Acceptance
|
|
24
|
+
|
|
25
|
+
- The npm smoke test no longer depends on `NODE_AUTH_TOKEN` and the OIDC publisher identity is unchanged.
|
|
26
|
+
- Clean approved majors no longer fail the auto-merge mutation.
|
|
27
|
+
- Workflow-changing behind majors do not request elevated workflow permission.
|
|
28
|
+
- Stale approvals, bot approvals, changed heads, merge conflicts and change-request reviews cannot merge.
|
|
29
|
+
- Dry-run remains non-mutating.
|
|
30
|
+
|
|
31
|
+
## Checks
|
|
32
|
+
|
|
33
|
+
- Parse changed workflow YAML.
|
|
34
|
+
- Syntax-check shell and `github-script` programs.
|
|
35
|
+
- Verify changed third-party Actions use immutable SHAs.
|
|
36
|
+
- Pull-request CI is authoritative.
|
|
37
|
+
|
|
38
|
+
## Rollback
|
|
39
|
+
|
|
40
|
+
Revert the corrective pull request. No release, npm publish, merge, or deployment is performed by this branch.
|
|
41
|
+
|
|
42
|
+
## Delivery status
|
|
43
|
+
|
|
44
|
+
Implemented on `agent/fix-actions-runtime-20260808`; pending pull-request CI and explicit owner merge approval.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fastypest",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.44",
|
|
4
4
|
"description": "Restores the database automatically after each test. Allows serial execution of tests without having to delete and restore the database having to stop the application",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -58,30 +58,30 @@
|
|
|
58
58
|
"@eslint/js": "^10.0.1",
|
|
59
59
|
"@swc-node/jest": "^1.10.1",
|
|
60
60
|
"@swc/cli": "^0.8.1",
|
|
61
|
-
"@swc/core": "^1.
|
|
61
|
+
"@swc/core": "^1.16.2",
|
|
62
62
|
"@swc/helpers": "^0.5.23",
|
|
63
63
|
"@types/jest": "^30.0.0",
|
|
64
|
-
"@types/node": "^26.
|
|
64
|
+
"@types/node": "^26.6.2",
|
|
65
65
|
"@types/winston": "^2.4.4",
|
|
66
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
67
|
-
"@typescript-eslint/parser": "^8.
|
|
68
|
-
"@typescript-eslint/types": "8.
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "^8.70.0",
|
|
67
|
+
"@typescript-eslint/parser": "^8.70.0",
|
|
68
|
+
"@typescript-eslint/types": "8.70.0",
|
|
69
69
|
"cpy-cli": "^6.0.0",
|
|
70
|
-
"eslint": "^10.
|
|
70
|
+
"eslint": "^10.11.0",
|
|
71
71
|
"eslint-config-standard-with-typescript": "^43.0.1",
|
|
72
72
|
"eslint-plugin-import": "^2.32.0",
|
|
73
|
-
"eslint-plugin-n": "^18.
|
|
73
|
+
"eslint-plugin-n": "^18.3.0",
|
|
74
74
|
"eslint-plugin-prettier": "^5.5.6",
|
|
75
75
|
"eslint-plugin-promise": "^7.3.0",
|
|
76
76
|
"execa": "^10.0.1",
|
|
77
|
-
"globals": "^17.
|
|
78
|
-
"jest": "^30.
|
|
79
|
-
"lefthook": "^2.1.
|
|
80
|
-
"lint-staged": "^17.
|
|
81
|
-
"mariadb": "^3.5.
|
|
77
|
+
"globals": "^17.12.0",
|
|
78
|
+
"jest": "^30.5.1",
|
|
79
|
+
"lefthook": "^2.1.14",
|
|
80
|
+
"lint-staged": "^17.5.1",
|
|
81
|
+
"mariadb": "^3.5.4",
|
|
82
82
|
"mysql": "^2.18.1",
|
|
83
|
-
"pg": "^8.
|
|
84
|
-
"prettier": "^3.9.
|
|
83
|
+
"pg": "^8.23.0",
|
|
84
|
+
"prettier": "^3.9.8",
|
|
85
85
|
"reflect-metadata": "^0.2.2",
|
|
86
86
|
"rimraf": "^6.1.3",
|
|
87
87
|
"standard-version": "^9.5.0",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"tsconfig-paths": "^4.2.0",
|
|
90
90
|
"typeorm": "^0.3.29",
|
|
91
91
|
"typescript": "^5.9.3",
|
|
92
|
-
"typescript-eslint": "^8.
|
|
92
|
+
"typescript-eslint": "^8.70.0"
|
|
93
93
|
},
|
|
94
94
|
"peerDependencies": {
|
|
95
95
|
"typeorm": "^0.3.29"
|