Skip to content

Commit 9cef213

Browse files
committed
docs: add checklist
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na ---
1 parent ee524d3 commit 9cef213

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

docs/contributing/moving_packages.md

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -255,13 +255,13 @@ There are three packages where we do **not** want to update `require` paths.
255255
To dismiss any changes made to the above, run the following command
256256

257257
```bash
258-
git checkout -- ./lib/node_modules/@stdlib/path/to/original/package && git checkout -- ./lib/node_modules/@stdlib/error && git checkout -- ./lib/node_modules/@stdlib/repl && git status
258+
git checkout -- ./lib/node_modules/@stdlib/path/to/original/package && git checkout -- ./lib/node_modules/@stdlib/error && git checkout -- ./lib/node_modules/@stdlib/repl/**/data && git status
259259
```
260260

261261
For example,
262262

263263
```bash
264-
git checkout -- ./lib/node_modules/@stdlib/stats/base/dmax && git checkout -- ./lib/node_modules/@stdlib/error && git checkout -- ./lib/node_modules/@stdlib/repl && git status
264+
git checkout -- ./lib/node_modules/@stdlib/stats/base/dmax && git checkout -- ./lib/node_modules/@stdlib/error && git checkout -- ./lib/node_modules/@stdlib/repl/**/data && git status
265265
```
266266

267267
After running the above, double-check the results of `git status` to check that the list of changed files matches expectation.
@@ -346,14 +346,34 @@ If you made these changes on a fork, you should open a pull request against the
346346

347347
- A pull request should **only** migrate a single package. Please do **not** open pull request which attempts to migrate multiple packages at the same time.
348348
- Notice that every commit includes a `Ref:` link back to the RFC issue on the main project repository. This is useful for providing additional context regarding changes, especially those involving deprecations.
349-
- Provided you have properly setup your local repository (see the [contributing][stdlib-contributing] and [development][stdlib-development] guides), linting will be performed after every commit, and, prior to pushing changes to a remote repository, affected unit tests, examples, and benchmarks should automatically run. Depending on how widely used the original package was throughout stdlib, these quality control steps may take considerable time, and it is possible that unrelated lint errors may be flagged. If possible, address any failures, restage the changes, and attempt to commit or push again.
349+
- Provided you have properly setup your local repository (see the [contributing][stdlib-contributing] and [development][stdlib-development] guides), linting will be performed after every commit, and, prior to pushing changes to a remote repository, affected unit tests, examples, and benchmarks should automatically run. Depending on how widely used the original package was throughout stdlib, these quality control steps may take considerable time, and it is possible that unrelated lint errors may be flagged. If possible, address any failures, restage the changes, and attempt to commit or push again. Note that resolution of failures, may require amending previous commits.
350350
- As mentioned above, be **very careful** when performing global find-and-replace. It can be easy to mistakenly update non-applicable paths, thus breaking packages and all downstream dependents. You've been warned.
351351

352352
* * *
353353

354354
## Checklist
355355

356-
356+
The following is a checklist you can use when performing a package migration:
357+
358+
- [ ] Established a clean repository and created a migration branch based on the latest changes on the upstream `develop`.
359+
- [ ] Copied the existing package to the desired location.
360+
- [ ] Updated require paths in the new package.
361+
- [ ] Updated include directories in the new package.
362+
- [ ] Updated header guards in the new package.
363+
- [ ] Compiled native code and ran unit tests for the new package.
364+
- [ ] Committed the new package to the migration branch.
365+
- [ ] Removed the export of the original package from its parent namespace (if applicable).
366+
- [ ] Committed the changes to the parent namespace (if applicable).
367+
- [ ] Updated `require` paths across the project to refer to the new package.
368+
- [ ] Discarded any path changes to the original package.
369+
- [ ] Discarded any path changes to the `@stdlib/error` namespace.
370+
- [ ] Discarded any path changes to the `@stdlib/repl/**/data` database files.
371+
- [ ] Committed path updates.
372+
- [ ] Removed the original package.
373+
- [ ] Committed removal of the original package.
374+
- [ ] Resolved any encountered lint errors or test failures when committing and/or pushing changes.
375+
- [ ] Opened a pull request which performs one and only one package migration.
376+
- [ ] The pull request includes at most `4` commits.
357377

358378
* * *
359379

0 commit comments

Comments
 (0)