This page describes how stable grimoire is updated regularly.
1. On the 1st of each month, the grimoire version currently in the test (master) branch is branched to the next stable-rc:
git checkout -b stable-rc-$STABLE_RC_VERSION mastersed -i 's/-test/-rc/' VERSIONgit commit -m "VERSION: $(cat VERSION)" VERSIONgit push origin stable-rc-$STABLE_RC_VERSION:refs/heads/stable-rc-$STABLE_RC_VERSION2. At the same time, test gets its VERSION incremented as well; normally this means bumping the minor version; major version updates are at the discretion of the Grimoire Lead:
git checkout mastersed -i 's/$OLD_TEST_VERSION/$NEW_TEST_VERSION/' VERSIONgit commit -m "VERSION: $(cat VERSION)" VERSIONgit push origin master3. A new page is created for the new release by using Grimoire/Release/Template to make Grimoire/stable/$STABLE_RC_VERSION page.
/Grimoire/stable/0.624. The release testing proceeds as described on the release page, with the following additions:
-rc branch must be frozen for 72 hours before it can be released as stable. This means no new commits on this branch. Exceptions are security updates and any other commits which meet the criteria for an out of cycle stable update, since they are already in stable anyway.sorcery system-update and/or full rebuilds using the stable-rc candidate and note any remaining or newly introduced gating bugs.5. When the release is complete, the new stable is branched from stable-rc:
git checkout -b stable-$STABLE_RC_VERSION origin/stable-rc-$STABLE_RC_VERSIONsed -i 's/-rc/-0/' VERSIONgit commit -m "VERSION: $(cat VERSION)" VERSIONgit push origin stable-$STABLE_RC_VERSION:refs/heads/stable-$STABLE_RC_VERSIONgit branch --set-upstream-to "origin/stable-$STABLE_RC_VERSION"6. A release tag and tarball are generated as described in tarball update.
7. After the release, any fixed bugs against this stable-rc or the previous stable need to be closed.
8. If the new release is not done when the 1st of the next month arrives, that branch is abandoned and a new -rc is created and the process starts over.
This section described how to update a grimoire tarball.
1. Get a local grimoire checkout to push updates from; this should usually be different from the one you do work in, because the branch it's on will change behind your back and will usually not even be a real branch.
2. Get the script at distro.sourcemage.org:/usr/local/sbin/update-grimoire and edit the top section with your local information (key ids, paths, etc.). If you are not using devel Sorcery, be sure you have the latest /usr/local/sbin/generate-grimoire-version-cache in the same location as your update-grimoire script.
Note: currently the stable key is shared (key ID 0xB6632F2E), while stable-rc uses per-developer keys found in the grimoire-stable-rc keyring.
1. Verify the stable or stable-rc version at the top of the local update-grimoire script is current.
— if updating stable only —
2. In your normal edit grimoire:
git checkout stable-$STABLE_VERSIONVERSION (the part after the -)git commit -m "VERSION: $(cat VERSION)" VERSIONgit tag -m "stable-$(cat VERSION)" -u $STABLE_KEYID "stable-$(cat VERSION)"git push -v --tags ssh://scm.sourcemage.org/smgl/grimoire stable-$STABLE_VERSION:stable-$STABLE_VERSION— end if updating stable only —
3. update-grimoire $GRIMOIRE
4. Follow the prompts.
The newly uploaded tarball will show up on http://master.download.sourcemage.org at around 30 minutes past every 3 hours, US Central Time (12:30, 3:30, 6:30, etc.). Mirrors will update from there on their own schedules.
/$STABLE_RC_VERSION release page and put your name in as the Volunteer. Optionally add some spells to the Extra spells section, with your name as Volunteer.Notes column appropriately. Put an X in the Searched column so we know someone has done the search.scribe add stable-rc or just using the git branch directly.-rc.Notes column. File bugs as necessary, noting which new issues are gating and which aren't.X in the Signed-Off column (unless otherwise specified this applies to x86).It's up to you to define "gating" for your spells.
Keeping us informed of what you've found is more important than fixing everything yourself. If you run out of time someone else can pick up for you but only if they can tell what's going on.
If you're already running stable somewhere, you don't need to wait, just test with that. Otherwise, download the chroot/vm image.
Place an X in the signed off column once you have signed off on the spell. If you happen to test a full system-upgrade, feel free to put an X and your nick in the Alt Sign-Off column for any spells that work for you.
We release once all spells on the list have:
X in the Searched column indicating someone has at least searched the bug-tracker for known issues, even if they found nothing.Alt Sign-Off column if there are no gating bugs noted by the owner.Join the #sourcemage-grimoire on irc.freenode.net if you want to help or need help.