talkatu/talkatu

Update a bunch of stuff for releasing
v0.1.0
20 months ago, Gary Kramlich
1ed0cf26a431
Parents 1d60961e07d4
Children c7bfb7b62a24
Update a bunch of stuff for releasing

Testing Done:
Ran `ninja dist`

Reviewed at https://reviews.imfreedom.org/r/1691/
  • +3 -3
    AUTHORS
  • +1 -1
    ChangeLog
  • +3 -0
    HACKING
  • +9 -1
    INSTALL
  • +3 -4
    README.md
  • +66 -25
    RELEASE.md
  • +2 -2
    meson.build
  • --- a/AUTHORS Tue Aug 30 00:13:04 2022 -0500
    +++ b/AUTHORS Tue Aug 30 01:38:30 2022 -0500
    @@ -1,7 +1,7 @@
    -Jefferson Carpenter (negatratoron): logo.png
    -ivanhoe <ivanhoe@fiscari.de>
    +Elliott Sales de Andrade <quantum.analyst@gmail.com>
    Gary Kramlich <grim@reaperworld.com>
    +ivanhoe <ivanhoe@fiscari.de>
    +Jefferson Carpenter (negatratoron)
    Mike Ruprecht <cmaiku@gmail.com>
    -Elliott Sales de Andrade <quantum.analyst@gmail.com>
    Sorvival <sorvival@tutanota.com>
    --- a/ChangeLog Tue Aug 30 00:13:04 2022 -0500
    +++ b/ChangeLog Tue Aug 30 01:38:30 2022 -0500
    @@ -1,2 +1,2 @@
    -0.1.0: (????-??-??)
    +0.1.0: 2022/08/29
    * Initial release
    --- a/HACKING Tue Aug 30 00:13:04 2022 -0500
    +++ b/HACKING Tue Aug 30 01:38:30 2022 -0500
    @@ -2,3 +2,6 @@
    available on [keep.imfreedom.org](https://keep.imfreedom.org/talkatu/talkatu).
    All contributions are provided via review requests at [reviews.imfreedom.org](https://reviews.imfreedom.org/).
    +
    +See our [contributors guide](https://docs.imfreedom.org/contributors-guide/) for
    +additional information.
    --- a/INSTALL Tue Aug 30 00:13:04 2022 -0500
    +++ b/INSTALL Tue Aug 30 01:38:30 2022 -0500
    @@ -9,5 +9,13 @@
    ```
    meson build
    cd build
    -ninja install
    ```
    +
    +To test Talkatu without installing, you can run the following command from the
    +build directory.
    +
    +```
    +meson devenv talkatu-demo
    +```
    +
    +To install you can use `ninja install` from the build directory.
    --- a/README.md Tue Aug 30 00:13:04 2022 -0500
    +++ b/README.md Tue Aug 30 01:38:30 2022 -0500
    @@ -4,13 +4,13 @@
    [ ![Issues](https://img.shields.io/badge/Issues-YouTrack-ee3b8b.svg) ](https://issues.imfreedom.org/issues/TALKATU)
    -Talkatu is a collection of Gtk+ widgets that are useful for chat applications.
    +Talkatu is a collection of GTK4 widgets that are useful for chat applications.
    It was started as a rewrite of the GtkIMHTML widget found in Pidgin, but
    quickly expanded to include most things related to conversation windows.
    This is highly experimental right now and might eat babies, we're not sure
    -yet. So proceed with caution :-D
    +yet. So proceed with caution :-D
    ## Name
    @@ -22,9 +22,8 @@
    Currently Talkatu depends on
    * glib-2.0 >= 2.40.0
    - * gtk+-3.0 >= 3.10.0
    + * gtk-4.0 >= 4.6.0
    * gladeui-2.0 >= 3.0.0
    - * gspell-1 >= 1.2
    * gumbo >= 0.10
    * libcmark
    --- a/RELEASE.md Tue Aug 30 00:13:04 2022 -0500
    +++ b/RELEASE.md Tue Aug 30 01:38:30 2022 -0500
    @@ -9,59 +9,100 @@
    The release manager will need access to a few things to perform their duties.
    - * Push access to the official repository
    + * Push access to the canonical repository
    * Transifex
    - * Package Cloud
    +
    +# Updating translations
    +
    +Like nearly all tasks, this should be done via a review request. So in a
    +development working copy, we want to update the translations to what is
    +currently on Transifex.
    +
    +To do this, you need to run the following command from the project root:
    +
    +```
    +tx pull --minimum-perc 50 --all --parallel
    +```
    -The release manager will need to update translations as part of the release
    -process. This is done via `tx pull --minimum-perc 1 --all` in the root of the
    -project. This will update all `.po`'s in the `po/` directory to what's
    -currently on Transifex and have at least 1 percent translated. These should
    -be committed at this point.
    +This will update any existing `.po` files and pull in any new ones that are
    +atleast 50% translated. Any new `.po` files will need to be added to `hg` and
    +have their language code added to the file `po/LINGUAS`.
    +
    +Once you have verified all of that, run a build to make sure there are no
    +immediate issues with the `.po` files. Then post the review request like you
    +normally would.
    -# Preparing the Release Commit
    +# Preparing the Release
    -Make sure you are on the `default` branch!!!
    +Again, we will be creating a review request for the commit that changes the
    +version number and release date.
    -Make sure that the date is correct in ChangeLog and that ChangeLog has been
    -updated to reflect what is new in this release.
    +For starters, make sure that the date is correct in the ChangeLog and that the
    +ChangeLog has been updated to reflect what is new in this release.
    Update the version number in `meson.build` being sure to remove any extra
    version like `-dev` which is not part of the release.
    -# Making the Release Commit
    +Run a test build via `ninja dist`.
    -Make sure you are on the `default` branch!!!
    +If everything is fine, go ahead and post your review request.
    +
    +# Landing the Release Commit
    -Verify that everything in `Preparing the Release Commit` is actually completed.
    +Once the above review request for the release has been approved, make sure you
    +are on the `default` branch and land the review request like any other.
    -Verify that `hg status` looks sane.
    -
    -Create a commit with a message of "Releasing version ${VERSION}"
    +Do a sanity build using `ninja dist`, if everything is good, go ahead and tag
    +the new release with `hg tag v${VERSION}`.
    # Releasing
    -At this point, you just need to `hg push ${UPSTREAM}` and CI/CD will take care of the rest.
    +Update your working copy to the new tag you just created above with
    +`hg up v${VERSION}`. `cd` to the build directory and run `ninja dist`. This will
    +create the files `talkatu-${VERSION}.tar.xz` and
    +`talkatu-${VERSION}.tar.xz.sha256sum` in the `meson-dist` directory inside the
    +build directory.
    +
    +Next, `cd` to the `meson-dist` directory so we can sign the files. Signing the
    +files is easy, just use the following commands.
    +
    +```
    +gpg --armor --detach-sign talkatu-${VERSION}.tar.xz
    +gpg --armor --detach-sign talkatu-${VERSION}.tar.xz.sha256sum
    +```
    +
    +Once the signatures are created, you can can `scp` the files up to SourceForge.
    +Note you will need to create a folder for the version on the SourceForge website
    +before this.
    +
    +Make sure you are in the `meson-dist` directory and run the follow command.
    +
    +```
    +scp * frs.sourceforge.net:/home/frs/projects/pidgin/talkatu/${VERSION}/
    +```
    +
    +Finally, update back to the default branch with `hg up default` and publish
    +the commits with `hg phase --public`. You can now push the release via
    +`hg push`.
    +
    +Verify the files show up in SourceForge and you're done!
    # Post Release
    Once you've pushed the release commit, you need to updated a few more things
    for the next round of development.
    -First determine what the next version will be. Most likely it'll be a micro
    -release.
    +First make sure you are in a development check out. Next determine what the next
    +version will be. Most likely it'll be a micro release.
    Next add a new line to `ChangeLog` with the following
    ```
    -${NEW_VERSION}: (????-??-??)
    +${NEW_VERSION}: ????/??/??
    * Nothing yet, be the first!
    ```
    Next, update `meson.build` for the new version and append a `-dev` on the end
    of it.
    -Finally commit those changes on `default` with a commit message along the lines
    -of "Bumping version for the next round of development."
    -
    -Finally, push to the main repository.
    +Finally submit these changes as a review request.
    --- a/meson.build Tue Aug 30 00:13:04 2022 -0500
    +++ b/meson.build Tue Aug 30 01:38:30 2022 -0500
    @@ -1,7 +1,7 @@
    ###############################################################################
    # Project Info
    ###############################################################################
    -project('talkatu', 'c', version : '0.1.0-dev',
    +project('talkatu', 'c', version : '0.1.0',
    license : 'GPL-2.0-or-later',
    meson_version : '>=0.56.0',
    default_options : ['c_std=c99'])
    @@ -37,7 +37,7 @@
    GLIB = dependency('glib-2.0', version : '>=2.52.0')
    GOBJECT = dependency('gobject-2.0')
    -GTK4 = dependency('gtk4', version : '>=4.0.0')
    +GTK4 = dependency('gtk4', version : '>=4.6.0')
    GUMBO = dependency('gumbo', version : '>=0.10')