coreos / fedora-coreos-streams

Stream metadata and overrides for Fedora CoreOS
Other
35 stars 20 forks source link

next: new release on 2024-04-01 (40.20240331.1.0) #872

Closed prestist closed 3 months ago

prestist commented 3 months ago

First, verify that you meet all the prerequisites

Edit the issue title to include today's date. Once the pipeline spits out the new version ID, you can append it to the title e.g. (31.20191117.1.0).

Pre-release

Promote next-devel changes to next

Manual alternative Sometimes you need to run the process manually like if you need to add an extra commit to change something in `manifest.yaml`. The steps for this are: - `git fetch upstream` - `git checkout next` - `git reset --hard upstream/next` - `/path/to/fedora-coreos-releng-automation/scripts/promote-config.sh next-devel` - Open PR against the `next` branch on https://github.com/coreos/fedora-coreos-config

Build

Sanity-check the build

Using the the build browser for the next stream:

⚠️ Release ⚠️

IMPORTANT: this is the point of no return here. Once the OSTree commit is imported into the unified repo, any machine that manually runs rpm-ostree upgrade will have the new update.

Run the release job

At this point, Cincinnati will see the new release on its next refresh and create a corresponding node in the graph without edges pointing to it yet.

Refresh metadata (stream and updates)

Rollout general guidelines |Risk|Day of the week|Rollout Start Time|Time allocation| | -------- | ------- | ------- | ------- | |risky| Tuesday | 2PM UTC | 72H | |common| Tuesday | 2PM UTC | 48H | |rapid| Tuesday | 2PM UTC | 24H | When setting a rollout start time ask "when would be the best time to react to any errors or regressions from updates?". Commonly we select 2PM UTC so that the rollout's start at 10am EST(±1 for daylight savings), but these can be fluid and adjust after talking with the fedora-coreos IRC. Note, this is impacted by the day of the week and holidays. The later in the week the release gets held up due to unforeseen issues the more likely the rollout time allocation will need to shrink or the release will need to be deferred.
Manual alternative - Make sure your `fedora-coreos-stream-generator` binary is up-to-date. From a checkout of this repo: - Update stream metadata, by running: ``` fedora-coreos-stream-generator -releases=https://fcos-builds.s3.amazonaws.com/prod/streams/next/releases.json -output-file=streams/next.json -pretty-print ``` - Add a rollout. For example, for a 48-hour rollout starting at 10 AM ET the same day, run: ``` ./rollout.py add next "10 am ET today" 48 ``` - Commit the changes and open a PR against the repo
Update graph manual check ``` curl -H 'Accept: application/json' 'https://updates.coreos.fedoraproject.org/v1/graph?basearch=x86_64&stream=next&rollout_wariness=0' curl -H 'Accept: application/json' 'https://updates.coreos.fedoraproject.org/v1/graph?basearch=aarch64&stream=next&rollout_wariness=0' curl -H 'Accept: application/json' 'https://updates.coreos.fedoraproject.org/v1/graph?basearch=ppc64le&stream=next&rollout_wariness=0' curl -H 'Accept: application/json' 'https://updates.coreos.fedoraproject.org/v1/graph?basearch=s390x&stream=next&rollout_wariness=0' ```

NOTE: In the future, most of these steps will be automated.

Housekeeping

dustymabe commented 3 months ago

Since we're now between beta and final we'll start building FCOS on the next stream weekly and this build will be run on Monday 04/01.

marmijo commented 3 months ago

Build jobs:

marmijo commented 3 months ago
AWS Azure GCP OpenStack
x86_64 ✔️ ✔️ ✔️ ✔️
aarch64 ✔️ ✔️ ✔️
marmijo commented 3 months ago

Release job: https://jenkins-fedora-coreos-pipeline.apps.ocp.fedoraproject.org/job/release/1243/

marmijo commented 3 months ago

Rollout PR: https://github.com/coreos/fedora-coreos-config/pull/2936