Skip to content

Commit 9efb0eb

Browse files
authored
Expand README for src/ghes-releases (#58899)
1 parent 828ca5a commit 9efb0eb

1 file changed

Lines changed: 79 additions & 1 deletion

File tree

src/ghes-releases/README.md

Lines changed: 79 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,82 @@ Templates in `src/ghes-releases/lib/release-templates` are Markdown, YAML frontm
5353

5454
## GHES deprecations
5555

56-
Every day a workflow runs to check whether it's time to create new deprecation tracking issues. New deprecation tracking issues get opened 7 days before the deprecation date. There is only one template used to generate the deprecation tracking issue (`src/ghes-releases/lib/deprecation-steps.md`).
56+
Every day a workflow runs to check whether it's time to create new deprecation tracking issues. New deprecation tracking issues get opened 7 days before the deprecation date. There is only one template used to generate the deprecation tracking issue (`src/ghes-releases/lib/deprecation-steps.md`).
57+
58+
## Script Commands
59+
60+
### Running scripts
61+
62+
The following scripts are available for manual execution:
63+
64+
| Script | Description |
65+
|-------------------------------|--------------------------------------------------|
66+
| `npm run create-enterprise-issue` | Create new release tracking issues for GHES. |
67+
| `npm run deprecate-ghes` | Create new deprecation tracking issues for GHES. |
68+
| `npm run deprecate-ghes-archive` | Archive deprecation tracking issues. |
69+
| `npm run release-banner` | Update the release banner. |
70+
| `npm run update-enterprise-dates` | Update enterprise release dates. |
71+
72+
For example, to create new release tracking issues, run:
73+
```bash
74+
npm run create-enterprise-issue
75+
```
76+
77+
Run tests:
78+
```bash
79+
npm run test -- src/ghes-releases/tests
80+
```
81+
82+
### Manual operations
83+
84+
The scripts in `src/ghes-releases/scripts/` support manual execution for:
85+
- Creating release tracking issues
86+
- Creating deprecation tracking issues
87+
- Validating release dates
88+
- Testing issue generation
89+
90+
## Connection to Related Subjects
91+
92+
### `src/versions`
93+
94+
The GHES release process is tightly coupled with versioning:
95+
- Release numbers in `src/versions/lib/enterprise-server-releases.ts`
96+
- New releases add to `supported` array
97+
- Deprecated releases move to `deprecated` array
98+
- Version detection logic uses these arrays
99+
100+
### `src/archives`
101+
102+
When a GHES version is deprecated:
103+
1. Content is archived from `docs-internal` to `docs-ghes-X.XX` repos
104+
2. Archive middleware proxies requests to archived content
105+
3. See `src/archives/` for archival process
106+
107+
Release and deprecation are coordinated:
108+
- Release: Add new version to supported list
109+
- Deprecation: Move old version to deprecated, trigger archival
110+
- Both processes have tracking issues with checklists
111+
112+
## Known Limitations
113+
114+
### Automated workflow timing
115+
- Workflows check daily for release/deprecation dates
116+
- Issues created on code freeze date (releases) or 7 days before (deprecations)
117+
- No manual trigger for early issue creation
118+
119+
### Template system
120+
- Liquid variables are custom (not same as content Liquid)
121+
- Template changes require understanding of issue linking
122+
- No preview mode for template rendering
123+
124+
### Coordination requirements
125+
- Multiple teams involved (Docs, Enterprise, Release Engineering)
126+
- Manual checklist completion required
127+
- Dependencies between issues must be manually tracked
128+
129+
### Release schedule changes
130+
- Dates in `enterprise-dates.json` must be manually updated
131+
- No automated sync with Enterprise release calendar
132+
- Changes require code update and deployment
133+
134+
We are not expecting significant new investment here, but we will continue to support GHES releases as needed.

0 commit comments

Comments
 (0)