Release notes #194
Release notes #194
Comments
|
Just a random note: rpm-ostree has some nice tooling, albeit targeted for the client side, surrounding the question "what changed?".
Definitely open to rework those to make them more accessible if they'd be useful in whatever workflow we establish. |
|
Discussed at last week's meeting. FAH release notes consist of an automated email and a followup. The latter can have handwritten content. These messages are sent only for stable releases, and aren't archived anywhere other than the mailing lists. Our release notes could have several sections:
We should have a permalink for each set of release notes. We might want to use several publication methods, as different users may have different preferences: mailing list, RSS, Twitter, etc. |
|
Any update on this? What are the plan for release notes? Can we at least start with something simple and build upon it? |
|
Re. authoritative source, one simple idea to get started is just a |
Not sure if we want to maintain a separate site from https://getfedora.org/en/coreos, so my vote is to keep it there. This argues for putting it in the stream metadata of course, but we're not necessarily tied to that either and could have the notes fetched from somewhere else. |
|
Until we figure out how changelogs are published, what is the recommended way to get a sense of what's new with any given release prior to taking an update? |
@zonggen is working on a redesign of the download page that will show the package list and package diff at least until we enhance it with nicer release notes. For now, you can do something like:
|
|
The newly re-worked release pages with the summaries of changed packages are a definite plus but I think the 'next' stream should be calling out the docker version change to 19.03.8 from 18.09.8 as a top-level change right now. Just like there are call outs for versions of ignition/podman etc. I'm not sure how this all comes together but I did do an |
|
@fifofonix The package you're looking for is |
|
Got it. And yes of course that is in the full list of packages. But I still think it deserves a more obvious call out. |
|
@zonggen - can we add |
|
@dustymabe Sure. For reference, we have a list of important packages to show in the build browser and the download page:
Filed https://pagure.io/fedora-web/websites/pull-request/118 EDIT: |
|
We discussed this in the meeting today. In general I think we agreed that we could use a file (probably yaml) in the tip of each production stream ( Another idea was that we come up with a way to add release notes as we merge in PRs. So something like a |
|
Does the following design sound feasible:
Though this sounds like a naive solution.. |
What do you mean by "build directory" here? Are you referring to having a file or directory in each branch of the fcos configs repo?
Yep. I'm thinking that when we take the contents from the Once we do the release we update the entry in the yaml to be the version number from the build we just put out. Example toplevel yaml:
Another thing to think about is the format of the yaml file. Would we accept markdown and then try to render it as html? |
Yes, I was thinking about adding
Parsing markdown into html and inject into Vue.js code is feasible however may require additional dependencies, but I do think markdown is much more readable so will experiment with the dependencies. Yaml and json parser is built into javascript so reading them should be straightforward. |
|
Further discussion with @dustymabe leads to the following design. The reason for separating out the release notes creation from FCOS pipeline is that when we want to make adjustment to the old release notes we've already published, we can manually update the Developement situation:
Note: In the case of overgrowing Proposal:Have a tool that runs independently of the pipeline like Git repository manipulation
Example
Intermediate processing to get into ideal form for website code consumption
Upload to place where website can consume
|
|
This script generates Fedora CoreOS release note from pre-mature release note snippets. Takes two arguments: --config-dir and --output-dir. The config_dir is the directory where a 'release-notes.d' directory resides, typically a fedora-coreos-config directory, which has pre-mature release notes yaml snippets. The output_dir is the directory where a 'release-notes.yaml' resides. If there's no such file then a new file will be created. If a 'release-notes.yaml' already exists, then checks if the 'next-release' field is present in the file. It inserts the 'next-release' field to the front of the file if none is present or updates the existing 'next-release' field if one already exists. Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
This directory stores the Fedora CoreOS release note yaml snippets which will be picked up by `fedora-coreos-releng-automation/coreos-release-note-generator` [1] script to produce the final `release-notes.yaml` for a release. After `release-notes.yaml` has been generated / updated, all snippets under `release-notes.d` are expected to be cleaned up for future release notes. Please name the yaml file with the corresponding project name, e.g. afterburn.yaml, since the project name is determined by the yaml file name. And the release notes for a specfic version will be sorted by different project sections on the FCOS download website. For example, in the FCOS download website: --- 32.20200715.3.0: - Afterburn: fix a bug that prevents xxx (coreos/fedora-coreos-tracker#789) (details) - Ignition: introduce a new feature that improves the yyy workflow (details) - coreos-assembler: add a new sub-command that automates zzz (details) --- _Note_: Clicking on the `details` button will show the body of the release note item. [1] https://github.com/coreos/fedora-coreos-releng-automation Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
This script generates Fedora CoreOS release note from pre-mature release
note snippets and updates with the corresponding build id. Two sub-commands
are currently available: {build, update}.
'build' command takes two arguments: --config-dir and --output-dir:
The config_dir is the directory where a 'release-notes.d' directory resides,
typically a fedora-coreos-config directory, which has pre-mature release
notes yaml snippets.
The output_dir is the directory where a 'release-notes.yaml' resides. If there's
no such file then a new file will be created. If a 'release-notes.yaml' already
exists, then checks if the 'next-release' field is present in the file. It inserts
the 'next-release' field to the front of the file if none is present or updates
the existing 'next-release' field if one already exists.
'update' command takes two required arguments: --release-notes-file and --build-id:
The sub-command updates the 'next-release' key in the release-notes file with the
specified build id and dump the output to stdout by default (or write to file through
--output-dir argument).
Related: coreos/fedora-coreos-tracker#194
Signed-off-by: Allen Bai <abai@redhat.com>
Adds a job for generating `release-notes.yaml` from `release-notes.d/` in `testing-devel` and `next-devel` and puts the output `release-notes.yaml` file to `testing` and `next` branch correspondingly. Also adds the functionality in `Jenkinsfile` such that after building the image, replaces the premature `next-release` placeholder key with the real build id. Then it uploads the final `release-notes.yaml` to the S3 bucket as well as pushing to `fedora-coreos-config` repo. Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
This directory stores the Fedora CoreOS release note yaml snippets which will be picked up by `fedora-coreos-releng-automation/coreos-release-note-generator` [1] script to produce the final `release-notes.yaml` for a release. After `release-notes.yaml` has been generated / updated, all snippets under `release-notes.d` are expected to be cleaned up for future release notes. Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
This directory stores the Fedora CoreOS release note yaml snippets which will be picked up by `fedora-coreos-releng-automation/coreos-release-note-generator` [1] script to produce the final `release-notes.yaml` for a release. Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
This directory stores the Fedora CoreOS release note yaml snippets which will be picked up by `fedora-coreos-releng-automation/coreos-release-note-generator` [1] script to produce the final `release-notes.yaml` for a release. Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
`coreos-release-note-generator` generates `release-notes.yaml` from `release-notes.d` yaml snippets using the specified build id using `--build-id` option. Supported options include: - `--build-id`(required): build id of the latest release note - `--config-dir`(required): path to the directory where `release-notes.d/` lives - `--release-notes-file`(optional): path to the input `release-notes.yaml` file for update, the script uses this option to determine whether to update an existing `release-notes.yaml` or to create a new one. By default create a new `release-notes.yaml` - `--output-dir`(optional): output directory for `release-notes.yaml`, by default outputs to STDOUT - `--json`(optional): output JSON format instead of YAML for easier consumption by Fedora CoreOS website (https://getfedora.org/en/coreos?stream=stable), by default uses YAML Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
`coreos-release-note-generator` generates `release-notes.yaml` from `release-notes.d` yaml snippets using the specified build id using `--build-id` option. Supported options include: - `--build-id`(required): build id of the latest release note - `--config-dir`(required): path to the directory where `release-notes.d/` lives - `--release-notes-file`(optional): path to the input `release-notes.yaml` file for update, the script uses this option to determine whether to update an existing `release-notes.yaml` or to create a new one. By default create a new `release-notes.yaml` - `--output-dir`(optional): output directory for `release-notes.yaml`, by default outputs to STDOUT - `--json`(optional): output JSON format instead of YAML for easier consumption by Fedora CoreOS website (https://getfedora.org/en/coreos?stream=stable), by default uses YAML Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
`coreos-release-notes-generator` generates `release-notes.yaml` from `release-notes.d` yaml snippets using the specified build id using `--build-id` option. Supported options include: - `--build-id`(required): build id of the latest release note - `--config-dir`(required): path to the directory where `release-notes.d/` lives - `--release-notes-file`(optional): path to the input `release-notes.yaml` file for update, the script uses this option to determine whether to update an existing `release-notes.yaml` or to create a new one. By default create a new `release-notes.yaml` - `--output-dir`(optional): output directory for `release-notes.yaml`, by default outputs to STDOUT - `--json`(optional): output JSON format instead of YAML for easier consumption by Fedora CoreOS website (https://getfedora.org/en/coreos?stream=stable), by default uses YAML Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
This directory stores the Fedora CoreOS release note yaml snippets which will be picked up by `fedora-coreos-releng-automation/coreos-release-note-generator` [1] script to produce the final `release-notes.yaml` for a release. Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
This directory stores the Fedora CoreOS release note yaml snippets which will be picked up by `fedora-coreos-releng-automation/coreos-release-note-generator` [1] script to produce the final `release-notes.yaml` for a release. Related: coreos/fedora-coreos-tracker#194 Signed-off-by: Allen Bai <abai@redhat.com>
|
It would be great if the team consider some improvements on the release notes, particularly on the CVEs. Visibility in CVEs allow us to choose to upgrade or hold on to a specific release. It's an important set of information for various compliance requirements. |
@egeturgay Could you expand on that a bit? Any CVEs that apply to a new release are likely to apply to previous releases as well, so when would CVE metadata cause you not to upgrade? |
|
@bgilbert we wouldn't upgrade to a newer release if the CVEs are attributed with a low score (low, moderate etc) and if they don't affect the services we run (e.g. cups, samba), we may choose to not upgrade until we come across a high risk fix. Sometimes regressions can be side effects of a newer version of the OS components, for example the recent systemd version upgrade broke fluentd systemd integration which stopped all logging. We may choose to test our dev systems for a longer period to ensure we don't experience such issues if the CVEs are low enough and reduce the number of re-deployments across our stacks. |
|
For the CVE case more specifically, support may come with coreos/rpm-ostree#1696 |
|
Re. CVEs, there's a draft PR in coreos/rpm-ostree#2695 which will make this much easier for whatever release notes tooling to query. |
In Container Linux we never really got release notes right:
We should design the release notes for Fedora CoreOS.
The text was updated successfully, but these errors were encountered: