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
Copy file name to clipboardExpand all lines: docs/contribute-docs.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,6 +74,7 @@ Some pages in the MyST documentation include executable code cells that demonstr
74
74
75
75
This will execute all `{code-cell}` directives in the documentation and include their outputs in the built site.
76
76
77
+
(docs:update-mystmd.org)=
77
78
## How to update the live website at mystmd.org
78
79
79
80
When you change the content here or in most other MyST repositories, it will _not_ automatically update mystmd.org. We use [a custom MyST theme](#about:mystmd.org) that aggregates content from several MyST repositories into a single website. The content for the live website mystmd.org is hosted by Curvenote. To update the content of `mystmd.org`, [dispatch the action on `main`](https://github.com/jupyter-book/mystmd/actions/workflows/docs.yml).
Copy file name to clipboardExpand all lines: docs/developer.md
+66-38Lines changed: 66 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -524,80 +524,108 @@ And to see a list of available templates that can be resolved for Typst, you can
524
524
525
525
https://api.mystmd.org/templates/typst
526
526
527
+
(howto:release)=
527
528
## How to make a release
528
529
529
-
:::{important} Release Coordination
530
-
We use the [`#release_coordination`](https://discord.com/channels/1083088970059096114/1384242935645737141) Discord channel to coordinate and collaborate on releases. For example, to ensure that features are not half-shipped, additional PRs can make it into a release, or other release responsibilities that can be shared among the team (e.g. release notes, theme deployments, social media posts, documentation updates).
531
-
:::
530
+
This process follows the general steps of making a release in the Jupyter Book community. Here are the basic steps to follow for any project:
532
531
533
-
### Make a release of `mystmd`
532
+
1.[Tell others about the upcoming release](#release:coordination).
533
+
2. Publish the release in the package repository for the tool. For example:
534
+
-[How to publish a release of `mystmd`](#release:mystmd).
535
+
-[How to publish a release of `myst-theme`](#release:myst-theme).
536
+
3.[Make a release on GitHub](#release:github).
537
+
4.[Update the documentation](release:docs).
538
+
5. (optionally) [Create and share a blog post](#release:share).
534
539
535
-
To publish a new release of `mystmd`, we do two things:
540
+
(release:coordination)=
541
+
### Coordinating the release with the team
536
542
537
-
1.[Publish to NPM](#release-npm).
538
-
2.[Publish a GitHub release](#release-github).
543
+
We use the [`#release_coordination`](https://discord.com/channels/1083088970059096114/1384242935645737141) Discord channel to coordinate and collaborate on releases.
544
+
This is a way to generate excitement and get any last-second work in before shipping.
545
+
It also gives others a heads-up that some new functionality is about to go live.
539
546
540
-
We describe each below.
547
+
### Publish a release for the repository
541
548
542
-
(release-npm)=
549
+
When you publish a release, you upload a new version of the tool for package managers to use. The specifics depend on the toolchain for your package (in particular, it is different for Python vs. JavaScript tools). Here are a few specifics for the `mystmd` repository.
543
550
551
+
(release:mystmd)=
544
552
#### Publish a `mystmd` release to NPM
545
553
554
+
`mystmd` is published to NPM via a GitHub Action. Here's how to publish a release.
555
+
546
556
- Find the **changesets** PR. This contains a list of the version updates that will be included with this release. [Here's an example of a release PR](https://github.com/jupyter-book/mystmd/pull/1896).
547
557
- Double-check the changes that have been merged to `main` and make sure nothing particularly complex or breaking has been merged. Bias towards action, but use your best judgment on whether to move forward.
548
558
- After merging that PR, [this GitHub action will make a release](https://github.com/jupyter-book/mystmd/blob/main/.github/workflows/release.yml).
549
559
- It calls `npm run version` to generate the changelog (to review the changelog, you can run that command locally too).
550
560
- It then publishes the updated packages to the [`mystmd` npm registry](https://www.npmjs.com/package/mystmd) (it calls `npm run publish:ci`, which calls `changeset publish`).
551
561
- It creates a git version tag (which you'll use in making the GitHub release).
552
-
- Next, [make a release on GitHub](#release-github).
553
562
554
-
(release-github)=
563
+
You're done!
564
+
565
+
(release:myst-theme)=
566
+
#### Publish a release of `myst-theme`
567
+
568
+
The process for releasing `myst-theme` infrastructure is similar to the release process for `mystmd`. Here's a brief overview:
569
+
570
+
- Find the changesets PR in `myst-theme` and merge it, similar to [the `mystmd` release process](#release:mystmd).
571
+
[Here's an example PR in `myst-theme`](https://github.com/jupyter-book/myst-theme/pull/574).
572
+
- Double-check the changes that have been merged to `main` and make sure nothing particularly complex or breaking has been merged.
573
+
Bias towards action, but use your best judgment on whether to move forward.
574
+
- Merge that PR. This will trigger the release process by running our release action. [Here's an example run of that action](https://github.com/jupyter-book/myst-theme/actions/runs/15005221275).
575
+
- The action will build the latest version of the theme infrastructure, and update the template files in the [`myst-templates` GitHub organization](https://github.com/myst-templates). [Here are the lines that update this template](https://github.com/jupyter-book/myst-theme/blob/8283e4505fdb418355ca25ae114ba7bea3cec956/.github/workflows/release.yml#L39-L50).
576
+
577
+
You're done!
555
578
556
-
#### Automated releases on GitHub
579
+
(release:github)=
580
+
### Automated releases on GitHub
557
581
558
-
After a successful NPM release, our [`release.yml` workflow](https://github.com/jupyter-book/mystmd/blob/main/.github/workflows/publish-github-release.yml) will automatically create a new GitHub Release. The release notes are generated using [`github-activity`](https://github.com/cheukting/github-activity) and include a summary of all merged PRs and commits since the previous release.
582
+
After a successful NPM release, our [`release.yml` workflow](https://github.com/jupyter-book/mystmd/blob/main/.github/workflows/publish-github-release.yml) will automatically create a new GitHub Release.
583
+
The release notes are generated using [`github-activity`](https://github.com/cheukting/github-activity) and include a summary of all merged PRs and commits since the previous release.
559
584
560
-
**Maintainers are encouraged to review the new GitHub Release and edit the description as needed.** For example, you may want to add an executive summary, highlight important changes, or clarify upgrade instructions for users.
585
+
**Maintainers are encouraged to review the new GitHub Release and edit the description as needed.**
586
+
For example, you may want to add an executive summary, highlight important changes, or clarify upgrade instructions for users.
561
587
562
588
You can find the latest releases at: https://github.com/jupyter-book/mystmd/releases
563
589
564
-
When you've confirmed the release has been made, consider sharing it for others to discover!
590
+
(release:docs)=
591
+
### Update documentation
565
592
566
-
:::{note} Here's an announcement snippet you can copy/paste
567
-
:class: dropdown
593
+
When we make a release we should ensure that the documentation is up-to-date with the latest version. This will depend on the tool that you're using.
568
594
569
-
```md
570
-
TITLE: 🚀 Release: MySTMD v1.3.26
595
+
**For tools hosted at mystmd.org**, follow these [instructions to update the content at mystmd.org](#docs:update-mystmd.org).
571
596
572
-
BODY:
573
-
The [Jupyter Book project](https://compass.jupyterbook.org) recently made a new release! 👇
597
+
**For most other tools**, the documentation should auto-update with new releases (e.g., via a GitHub action).
See the link above for the release notes on GitHub! Many thanks to the [Jupyter Book team](https://compass.jupyterbook.org/team) for stewarding our development and this release.
578
-
```
602
+
Feel free to use the blog to post release notes as well.
603
+
This should be as simple and quick as possible, don't over-think it. Here are some simple steps:
579
604
580
-
:::
605
+
1. Copy and paste the [release notes you generated](#release:notes) into a new file [on our blog repository](https://github.com/jupyter-book/blog).
606
+
2. Use the following YAML header metadata for the post:
581
607
582
-
**Here are a few Jupyter-adjacent spaces to share with** (you can just copy/paste the same text into each):
608
+
```yaml
609
+
---
610
+
date: <release-date>
611
+
author: The Jupyter Book Team
612
+
title: <title from GitHub release>
613
+
tags: release
614
+
---
615
+
616
+
<content from GitHub release>
617
+
```
618
+
3. Self-merge the blog post.
619
+
620
+
Feel free to celebrate new releases and share the news publicly so that others know about new enhancements in our projects.
621
+
622
+
**Spaces to publicize releases**. Here are a few places that are worth sharing (you can just copy/paste the same text into each):
The process for releasing `myst-theme` infrastructure is similar to the release process for `mystmd`. Here's a brief overview:
594
-
595
-
- Find the changesets PR in `myst-theme` and merge it, similar to [the `mystmd` release process](#release-npm). [Here's an example PR in `myst-theme`](https://github.com/jupyter-book/myst-theme/pull/574).
596
-
- Double-check the changes that have been merged to `main` and make sure nothing particularly complex or breaking has been merged. Bias towards action, but use your best judgment on whether to move forward.
597
-
- Merge that PR. This will trigger the release process by running our release action. [Here's an example run of that action](https://github.com/jupyter-book/myst-theme/actions/runs/15005221275).
598
-
- The action will build the latest version of the theme infrastructure, and update the template files in the [`myst-templates` GitHub organization](https://github.com/myst-templates). [Here are the lines that update this template](https://github.com/jupyter-book/myst-theme/blob/8283e4505fdb418355ca25ae114ba7bea3cec956/.github/workflows/release.yml#L39-L50).
599
-
- Make a release on GitHub, by following the same process in [](#release-github).
0 commit comments