m (Complete the rsync step) |
m (Add note about mock configs) |
||
Line 31: | Line 31: | ||
== Build for applicable releases == | == Build for applicable releases == | ||
With a source RPM created, it's time to '''build''' updated packages for any existing ''stable'' repositories. This includes {{FedoraVersion|long|current}}, {{FedoraVersion|long|previous}} and, depending on the time of release, potentially {{FedoraVersion|long|previous2}}. Traditionally, this step would be handled by running the {{command|koji build --tag dist-f{{FedoraVersionNumber|current}}-updates path/to/src.rpm}} command. However, since {{package|autoqa}} is not yet packaged and available in Fedora repositories, updates are built locally using {{command|mock}}. | With a source RPM created, it's time to '''build''' updated packages for any existing ''stable'' repositories. This includes {{FedoraVersion|long|current}}, {{FedoraVersion|long|previous}} and, depending on the time of release, potentially {{FedoraVersion|long|previous2}}. Traditionally, this step would be handled by running the {{command|koji build --tag dist-f{{FedoraVersionNumber|current}}-updates path/to/src.rpm}} command. However, since {{package|autoqa}} is not yet packaged and available in Fedora repositories, updates are built locally using {{command|mock}}. | ||
{{admon/note|Update your mock configuration|You will need to update the mock configuration files in {{filename|/etc/mock}} so that the autoqa package repositories are included. Information on autoqa package repositories is available at [[Install_and_configure_AutoQA]].}} | |||
# Build packages using mock for Fedora, specify version using <code>RELEASEVER</code> variable {{#tag:pre|make mock-fedora RELEASEVER={{FedoraVersionNumber|current}} }} | # Build packages using mock for Fedora, specify version using <code>RELEASEVER</code> variable {{#tag:pre|make mock-fedora RELEASEVER={{FedoraVersionNumber|current}} }} |
Revision as of 19:49, 30 June 2011
This page describes the process for tagging, building and deploying a new version of autoqa. This page assumes a basic understanding of rpm spec
file syntax and commands such as git
, mock
and yum
.
Update autoqa.spec
Once the decision has been made to release a new version of autoqa, the first step is to update the rpm spec
file with the newer version.
- Checkout the master branch of autoqa
git clone ssh://git.fedorahosted.org/git/autoqa.git && cd autoqa
- Edit
autoqa.spec
by incrementing theVersion
and updating the%changelog
- Locally commit the changes
git commit autoqa.spec
- Push your changes to the remote git repository (requires gitautoqa membership)
git push ssh://git.fedorahosted.org/git/autoqa.git master
Cherry-pick and tag
Next, we'll cherry-pick the autoqa.spec
change into the stable git branch and tag the release.
- Change to the stable branch
git checkout -b stable origin/stable || git checkout stable
- Cherry pick the updated
autoqa.spec
changegit cherry-pick origin/master
- Tag the release
git tag vX.Y.X-1,2,3 stable
- Push your changes (requires gitautoqa membership)
git push --tags ssh://git.fedorahosted.org/git/autoqa.git stable
Upload tarball
Like many projects, the appropriate method to release a new version is by tarball. Once you have tagged the release, upload a new tarball using the following commands.
- Change to the stable branch
git checkout -b stable origin/stable || git checkout stable
- Upload a new release tarball
make upload
Build a source RPM
With the tarball uploaded, it's time to package the new release as an RPM.
- Change to the stable branch
git checkout -b stable origin/stable || git checkout stable
- Build a source package from the current stable branch
make srpm
Build for applicable releases
With a source RPM created, it's time to build updated packages for any existing stable repositories. This includes Fedora 41, Fedora 40 and, depending on the time of release, potentially Fedora 39. Traditionally, this step would be handled by running the koji build --tag dist-f41-updates path/to/src.rpm
command. However, since autoqa
is not yet packaged and available in Fedora repositories, updates are built locally using mock
.
- Build packages using mock for Fedora, specify version using
RELEASEVER
variablemake mock-fedora RELEASEVER=41
- Repeat the build procedure for all desired releases
Create updates
With packages built, it's time to submit them as updates. Traditionally, this step would be handled by using the bodhi update tool. However, since autoqa
is not yet packaged and available in official Fedora repositories, a custom package repository is used to deliver updates.
- Mirror the autoqa package repository locally
rsync -avz fedorapeople.org:/srv/repos/fedora-qa/autoqa ~/public_html/ ; cd autoqa/
- Add locally built packages to the repositories
./move-pkgs.sh -r testing path/to/autoqa.git/rpm-build/MOCK/*/*.rpm
- Update the yum repo metadata
./update-repos.sh
- Update remote repository with changes
rsync -avz ~/public_html/autoqa fedorapeople.org:/srv/repos/fedora-qa/