| |
@@ -0,0 +1,155 @@
|
| |
+ # New release howto
|
| |
+
|
| |
+ ## Preparation
|
| |
+
|
| |
+ Have a GPG key.
|
| |
+ Your git knows about your GPG key.
|
| |
+ Find the latest released version with:
|
| |
+
|
| |
+ ```sh
|
| |
+ git tag
|
| |
+ ```
|
| |
+
|
| |
+ Or go to: https://pagure.io/standard-test-roles/releases
|
| |
+
|
| |
+ ## Upstream release
|
| |
+
|
| |
+ Mark git commit with release tag. For example, to make a new release based on
|
| |
+ current `master` do:
|
| |
+
|
| |
+ ```sh
|
| |
+ git pull
|
| |
+ git tag -s 3.2 -u 9A82842F -m "version 3.2" master
|
| |
+ git push origin 3.2
|
| |
+ ```
|
| |
+
|
| |
+ Release .tar.gz archive with:
|
| |
+
|
| |
+ ```sh
|
| |
+ GIT_DIR=~/path/to/standard-test-roles/.git/ git archive \
|
| |
+ --format=tar.gz \
|
| |
+ --prefix standard-test-roles-3.2/ \
|
| |
+ -o standard-test-roles-3.2.tar.gz \
|
| |
+ -v 3.2
|
| |
+ ```
|
| |
+
|
| |
+ Upload standard-test-roles-3.2.tar.gz to
|
| |
+ [pagure](https://pagure.io/standard-test-roles/upload "pagure").
|
| |
+
|
| |
+
|
| |
+
|
| |
+ ## Fedora package
|
| |
+
|
| |
+ Starting from Fedora 30 STR ships as a module. However, you can have a personal
|
| |
+ COPR build as a bare-package.
|
| |
+
|
| |
+ ### Module build
|
| |
+
|
| |
+ Clone dist-git from
|
| |
+ [package](https://src.fedoraproject.org/rpms/standard-test-roles/ "package") and
|
| |
+ [module](https://src.fedoraproject.org/modules/standard-test-roles/ "module").
|
| |
+
|
| |
+ Change directory to dist-git for package:
|
| |
+
|
| |
+ ```sh
|
| |
+ cd standard-test-roles
|
| |
+ fedpkg switch-branch 3.0
|
| |
+ ```
|
| |
+
|
| |
+ In the example above `3.0` - is the module stream name.
|
| |
+ *Note*: it is OK that stream with name `3.0` has package with version `3.2`.
|
| |
+ This is OK until STR version `3.2` provides API compatible with `3.0`.
|
| |
+
|
| |
+ Update .spec file: Version, Release, changelog. Use next command:
|
| |
+
|
| |
+ ```sh
|
| |
+ rpmdev-bumpspec \
|
| |
+ --comment='Build with the latest merged PRs.' \
|
| |
+ --userstring='Andrei Stepanov <astepano@redhat.com>' \
|
| |
+ standard-test-roles.spec
|
| |
+ ```
|
| |
+
|
| |
+ Add new .tar.gz release and save changes to dist-git.
|
| |
+
|
| |
+ ```sh
|
| |
+ kinit astepano@FEDORAPROJECT.ORG
|
| |
+ fedpkg new-sources standard-test-roles-3.2.tar.gz
|
| |
+ git add standard-test-roles.spec sources
|
| |
+ git commit -s -m "Sync with upstream release 3.2"
|
| |
+ fedpkg push
|
| |
+ ```
|
| |
+
|
| |
+ Change directory to dist-git for module.
|
| |
+ Create a new commit. You cannot send a new module build without a new commit.
|
| |
+
|
| |
+ ```sh
|
| |
+ fedpkg switch-branch 3.0
|
| |
+ git commit --allow-empty -s -m "Pick up STR 3.2"
|
| |
+ fedpkg push
|
| |
+ ```
|
| |
+
|
| |
+ Send module build to MBS.
|
| |
+
|
| |
+ ```sh
|
| |
+ > fedpkg module-build
|
| |
+ Submitting the module build...
|
| |
+ The builds 3700, 3701, 3702 and 3703 were submitted to the MBS
|
| |
+ ```
|
| |
+
|
| |
+ Where 3700 3701 3702 3703 - are modules builds for Fedora28, 29, 30, Rawhide
|
| |
+
|
| |
+ Check info with:
|
| |
+
|
| |
+ ```sh
|
| |
+ fedpkg module-build-info 3703
|
| |
+ ```
|
| |
+
|
| |
+ Using WEB:
|
| |
+ [MBS](https://mbs.fedoraproject.org/module-build-service/1/module-builds/3703 "MBS") or
|
| |
+ [MBSWEB](https://release-engineering.github.io/mbs-ui/modules "MBSWEB")
|
| |
+
|
| |
+ ## Bare package build for Fedora 28, 29
|
| |
+
|
| |
+ Because Fedora 28, 29 doesn't have `module defaults` for STR we need to
|
| |
+ build bare package.
|
| |
+ [module-default](https://pagure.io/releng/fedora-module-defaults)
|
| |
+
|
| |
+ ```
|
| |
+ fedpkg switch-branch f29
|
| |
+ fedpkg new-sources standard-test-roles-3.2.tar.gz
|
| |
+ rpmdev-bumpspec --comment='Build with the latest merged PRs.' --userstring='Andrei Stepanov <astepano@redhat.com>' standard-test-roles.spec
|
| |
+ # vim standard-test-roles.spec # edit Version, Release, Changelog
|
| |
+ git add standard-test-roles.spec sources
|
| |
+ git commit -s -m "Sync with upstream release 3.2"
|
| |
+ fedpkg push
|
| |
+ fedpkg build --skip-nvr-check
|
| |
+ ```
|
| |
+
|
| |
+ ```
|
| |
+ fedpkg switch-branch f28
|
| |
+ git merge f29
|
| |
+ fedpkg push
|
| |
+ fedpkg build --skip-nvr-check
|
| |
+ ```
|
| |
+
|
| |
+ ## Push new build to testing and to stable
|
| |
+
|
| |
+ [Koji web interface](https://koji.fedoraproject.org/koji/userinfo?userID=4024)
|
| |
+
|
| |
+
|
| |
+ For each (module) build send it to testing:
|
| |
+
|
| |
+ ```
|
| |
+ bodhi updates new --request=testing --notes="Update to 3.2" --type=enhancement --user astepano standard-test-roles-3.2-1.fc28
|
| |
+ bodhi updates new --request=testing --notes="Update to 3.2" --type=enhancement --user astepano standard-test-roles-3.0-2920190319161255.6c81f848
|
| |
+ ```
|
| |
+
|
| |
+ For each build:
|
| |
+
|
| |
+ 1. Raise karma at [Bodhi web interface](https://bodhi.fedoraproject.org/users/astepano)
|
| |
+ 2. Send it to stable:
|
| |
+
|
| |
+ ```
|
| |
+ bodhi updates request --user=astepano standard-test-roles-3.2-1.fc28 stable
|
| |
+ bodhi updates new --request=testing --notes="Update to 3.0" --type=enhancement --user astepano standard-test-roles-3.0-2820190114142648.9c690d0e
|
| |
+ ```
|
| |
Signed-off-by: Andrei Stepanov astepano@redhat.com