You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add cache-memory to track checked versions between runs
The workflow now persists state (last checked patch versions,
omitted features) across runs via cache-memory, avoiding redundant
re-evaluation of previously reviewed release notes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: .github/workflows/update-ghas-matrix.md
+27-6Lines changed: 27 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,7 @@ tools:
11
11
github:
12
12
toolsets: [default]
13
13
web-fetch:
14
+
cache-memory:
14
15
network:
15
16
allowed:
16
17
- github
@@ -30,39 +31,51 @@ Before making any changes, read the copilot instructions file at `.github/instru
30
31
31
32
## Your Task
32
33
33
-
### Step 1: Determine Current State
34
+
### Step 1: Load Previous State from Cache
35
+
36
+
Check cache-memory for a file named `ghas-matrix-state.json`. If it exists, read it. This file tracks:
37
+
-`last_checked`: Timestamp of the last run (use filesystem-safe format `YYYY-MM-DD-HH-MM-SS`)
38
+
-`latest_major_version`: The highest major GHES version already documented in the matrix
39
+
-`checked_patch_versions`: Object mapping each major version to the latest patch version already reviewed (e.g., `{"3.19": "3.19.4", "3.18": "3.18.6"}`)
40
+
-`omitted_features`: List of features previously seen but intentionally excluded (to avoid re-evaluation)
41
+
42
+
If the file does not exist, this is the first run — proceed without prior state.
43
+
44
+
### Step 2: Determine Current State
34
45
35
46
Read `GHAS-on-GHES-feature-matrix.md` and identify:
36
47
- The **latest major GHES version** currently documented (look at the column headers in the Release Notes table)
37
48
- The **oldest version** still in the matrix
38
49
- Any versions that have passed their deprecation date
39
50
40
-
### Step 2: Check for New GHES Versions
51
+
### Step 3: Check for New GHES Versions
41
52
42
53
Fetch the all-releases page to discover if any new GHES versions exist beyond what's documented:
Compare the versions listed on that page against the columns in the current matrix. If a new major version exists (e.g., 3.20 when the matrix only goes to 3.19), this is a **new version update**.
46
57
47
-
### Step 3: Check Minor/Patch Version Release Notes
58
+
### Step 4: Check Minor/Patch Version Release Notes
48
59
49
60
For each currently supported major version in the matrix, check the release notes for significant Advanced Security changes in recent patch releases:
If you have cache state from Step 1, only check patch versions **newer** than what was previously reviewed (e.g., if `checked_patch_versions["3.19"]` is `"3.19.4"`, only look at 3.19.5+). Also skip any features listed in `omitted_features` from cache — they were already evaluated and excluded.
64
+
52
65
Look specifically for:
53
66
- Features moving from Public Preview (☑️) to General Availability (✅)
54
67
- New Advanced Security capabilities being backported to existing versions
55
68
- Important deprecations or breaking changes
56
69
57
-
### Step 4: Evaluate Significance
70
+
### Step 5: Evaluate Significance
58
71
59
72
Apply the significance filter from the instructions file:
60
73
-**INCLUDE:** New functionality, major gaps addressed, Preview→GA transitions, new CodeQL toolcache versions, partner pattern count changes, new versions, counts
61
74
-**EXCLUDE:** Minor bug fixes, new language/framework version support (e.g., Go 1.25, Swift 6.2), simple renames, UI tweaks without functional impact
62
75
63
76
If there are no significant changes found, **do not create a PR**. Simply note that the matrix is up to date and exit.
64
77
65
-
### Step 5: Make Updates
78
+
### Step 6: Make Updates
66
79
67
80
If significant changes were found, follow the matrix update rules from the instructions:
68
81
@@ -74,7 +87,15 @@ For CodeQL toolcache versions, check: `https://docs.github.com/en/enterprise-ser
74
87
75
88
For secret scanning partner pattern counts, check: `https://docs.github.com/en/enterprise-server@<VERSION>/code-security/secret-scanning/introduction/supported-secret-scanning-patterns`
76
89
77
-
### Step 6: Create Pull Request
90
+
### Step 7: Save State to Cache
91
+
92
+
Before finishing (whether or not a PR was created), write the updated state to cache-memory as `ghas-matrix-state.json`:
93
+
-`last_checked`: Current timestamp in `YYYY-MM-DD-HH-MM-SS` format (no colons, no T, no Z)
94
+
-`latest_major_version`: The highest major GHES version now documented
95
+
-`checked_patch_versions`: Updated with the latest patch version reviewed for each major version
96
+
-`omitted_features`: Merge any newly omitted features with the previous list
97
+
98
+
### Step 8: Create Pull Request
78
99
79
100
Create a pull request with:
80
101
-**Title:** "Update GHAS feature matrix for GHES <version(s)>"
0 commit comments