diff --git a/CHANGELOG.md b/CHANGELOG.md index 3dafb86..4083702 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. -## [2.1.0](https://github.com/Antiz96/arch-update/releases/tag/v2.1.0) - 2024-06-20 +## [v2.1.0](https://github.com/Antiz96/arch-update/releases/tag/v2.1.0) - 2024-06-20 ### Features @@ -14,7 +14,7 @@ All notable changes to this project will be documented in this file. - Assign the STATE_FILE var before it is accessed in arch-update-tray.py script by @Antiz96 in -## [2.0.2](https://github.com/Antiz96/arch-update/releases/tag/v2.0.2) - 2024-05-19 +## [v2.0.2](https://github.com/Antiz96/arch-update/releases/tag/v2.0.2) - 2024-05-19 ### Features @@ -30,14 +30,14 @@ All notable changes to this project will be documented in this file. - Fix wording in Makefile by @Antiz96 in - Fix typos in READMEs by @Antiz96 in -## [2.0.1](https://github.com/Antiz96/arch-update/releases/tag/v2.0.1) - 2024-05-13 +## [v2.0.1](https://github.com/Antiz96/arch-update/releases/tag/v2.0.1) - 2024-05-13 ### Improvements/Fixes - Fix a typo in the FR documentation by @Antiz96 in - Make systray applet also searching in XDG_DATA_HOME & XDG_DATA_DIRS when looking for the .desktop file by @Antiz96 and @trigg in -## [2.0.0](https://github.com/Antiz96/arch-update/releases/tag/v2.0.0) - 2024-05-10 +## [v2.0.0](https://github.com/Antiz96/arch-update/releases/tag/v2.0.0) - 2024-05-10 ### Features @@ -58,25 +58,25 @@ All notable changes to this project will be documented in this file. - For people installing Arch-Update [from source](https://github.com/Antiz96/arch-update?tab=readme-ov-file#from-source): First uninstall the current version running on your system (via `sudo make uninstall`) before downloading this release's archive (or pulling the repo locally) and re-installing Arch-Update (via `sudo make install`), otherwise you'll keep unnecessary residues of the previous version on your system. Also make sure to install the newly required dependencies listed in the installation instructions. -## [1.15.0](https://github.com/Antiz96/arch-update/releases/tag/v1.15.0) - 2024-05-01 +## [v1.15.0](https://github.com/Antiz96/arch-update/releases/tag/v1.15.0) - 2024-05-01 ### Features - Introduce the `--gen-config` option that allows to generate an example configuration file by @Antiz96 in -## [1.14.4](https://github.com/Antiz96/arch-update/releases/tag/v1.14.4) - 2024-04-18 +## [v1.14.4](https://github.com/Antiz96/arch-update/releases/tag/v1.14.4) - 2024-04-18 ### Improvements - Add an explicit message that the script is looking for updates by @Antiz96 in -## [1.14.3](https://github.com/Antiz96/arch-update/releases/tag/v1.14.3) - 2024-04-14 +## [v1.14.3](https://github.com/Antiz96/arch-update/releases/tag/v1.14.3) - 2024-04-14 ### Improvements/Fixes - Explicitly set color option of wrapped tools in the main script by @Antiz96 in -## [1.14.2](https://github.com/Antiz96/arch-update/releases/tag/v1.14.2) - 2024-04-13 +## [v1.14.2](https://github.com/Antiz96/arch-update/releases/tag/v1.14.2) - 2024-04-13 ### Improvements @@ -86,7 +86,7 @@ All notable changes to this project will be documented in this file. - Fix a typo in ZSH completions by @Antiz96 in -## [1.14.1](https://github.com/Antiz96/arch-update/releases/tag/v1.14.1) - 2024-03-24 +## [v1.14.1](https://github.com/Antiz96/arch-update/releases/tag/v1.14.1) - 2024-03-24 ### Improvement @@ -96,7 +96,7 @@ All notable changes to this project will be documented in this file. - [Release Prep] v1.14.1 by @Antiz96 in -## [1.14.0](https://github.com/Antiz96/arch-update/releases/tag/v1.14.0) - 2024-03-22 +## [v1.14.0](https://github.com/Antiz96/arch-update/releases/tag/v1.14.0) - 2024-03-22 ### Features @@ -106,7 +106,7 @@ All notable changes to this project will be documented in this file. - [Release Prep] v1.14.0 by @Antiz96 in -## [1.13.0](https://github.com/Antiz96/arch-update/releases/tag/v1.13.0) - 2024-03-21 +## [v1.13.0](https://github.com/Antiz96/arch-update/releases/tag/v1.13.0) - 2024-03-21 ### Features @@ -122,7 +122,7 @@ All notable changes to this project will be documented in this file. - [Release Prep] v1.13.0 by @Antiz96 in -## [1.12.2](https://github.com/Antiz96/arch-update/releases/tag/v1.12.2) - 2024-03-12 +## [v1.12.2](https://github.com/Antiz96/arch-update/releases/tag/v1.12.2) - 2024-03-12 ### Features @@ -132,7 +132,7 @@ All notable changes to this project will be documented in this file. - [Release Prep] v1.12.2 by @Antiz96 in -## [1.12.1](https://github.com/Antiz96/arch-update/releases/tag/v1.12.1) - 2024-02-29 +## [v1.12.1](https://github.com/Antiz96/arch-update/releases/tag/v1.12.1) - 2024-02-29 ### Features @@ -142,7 +142,7 @@ All notable changes to this project will be documented in this file. - [Release Prep] v1.12.1 by @Antiz96 in -## [1.12.0](https://github.com/Antiz96/arch-update/releases/tag/v1.12.0) - 2024-02-25 +## [v1.12.0](https://github.com/Antiz96/arch-update/releases/tag/v1.12.0) - 2024-02-25 ### Features @@ -158,7 +158,7 @@ All notable changes to this project will be documented in this file. - [Release Prep] v1.12.0 by @Antiz96 in -## [1.11.0](https://github.com/Antiz96/arch-update/releases/tag/v1.11.0) - 2024-02-09 +## [v1.11.0](https://github.com/Antiz96/arch-update/releases/tag/v1.11.0) - 2024-02-09 ### Features @@ -175,7 +175,7 @@ All notable changes to this project will be documented in this file. - Licensing: Precise that Arch-Update is licensed under GPL3+ by @Antiz96 in - [Release Prep] v1.11.0 by @Antiz96 in -## [1.10.1](https://github.com/Antiz96/arch-update/releases/tag/v1.10.1) - 2024-01-14 +## [v1.10.1](https://github.com/Antiz96/arch-update/releases/tag/v1.10.1) - 2024-01-14 ### Fixes @@ -187,7 +187,7 @@ All notable changes to this project will be documented in this file. - Harmonize name as 'Arch-Update' everywhere by @Antiz96 in - [Release Prep] v1.10.1 by @Antiz96 in -## [1.10.0](https://github.com/Antiz96/arch-update/releases/tag/v1.10.0) - 2024-01-06 +## [v1.10.0](https://github.com/Antiz96/arch-update/releases/tag/v1.10.0) - 2024-01-06 ### Features @@ -209,7 +209,7 @@ All notable changes to this project will be documented in this file. - [Release Prep] v1.10.0 by @Antiz96 in - Improve readability of documentation in README by @Antiz96 in -## [1.9.1](https://github.com/Antiz96/arch-update/releases/tag/v1.9.1) - 2023-12-04 +## [v1.9.1](https://github.com/Antiz96/arch-update/releases/tag/v1.9.1) - 2023-12-04 ### Fixes @@ -219,7 +219,7 @@ All notable changes to this project will be documented in this file. - [Release Prep] Bump the script to v1.9.1 by @Antiz96 in -## [1.9.0](https://github.com/Antiz96/arch-update/releases/tag/v1.9.0) - 2023-12-03 +## [v1.9.0](https://github.com/Antiz96/arch-update/releases/tag/v1.9.0) - 2023-12-03 ### Features @@ -233,7 +233,7 @@ All notable changes to this project will be documented in this file. - [Release Prep] Bump the script to v1.9.0 by @Antiz96 in -## [1.8.0](https://github.com/Antiz96/arch-update/releases/tag/v1.8.0) - 2023-12-01 +## [v1.8.0](https://github.com/Antiz96/arch-update/releases/tag/v1.8.0) - 2023-12-01 ### Features @@ -250,42 +250,42 @@ All notable changes to this project will be documented in this file. - Restructuring the functions' calls in the script to make it more readable and easier to evolve/work with by @Antiz96 in - [Release Prep] Bump the script to v1.8.0 by @Antiz96 in -## [1.7.0](https://github.com/Antiz96/arch-update/releases/tag/v1.7.0) - 2023-11-24 +## [v1.7.0](https://github.com/Antiz96/arch-update/releases/tag/v1.7.0) - 2023-11-24 - Only send desktop notification if the list of available updates differs from the last check by @Antiz96 in -## [1.6.2](https://github.com/Antiz96/arch-update/releases/tag/v1.6.2) - 2023-11-21 +## [v1.6.2](https://github.com/Antiz96/arch-update/releases/tag/v1.6.2) - 2023-11-21 - Make showing the version changes the default behaviour when listing available updates by @Antiz96 in - Make vim an optional dependency by @Antiz96 in -## [1.6.1](https://github.com/Antiz96/arch-update/releases/tag/v1.6.1) - 2023-11-10 +## [v1.6.1](https://github.com/Antiz96/arch-update/releases/tag/v1.6.1) - 2023-11-10 - Bugfix: Only print "No Flatpak unused package found" if flatpak is actually installed by @Antiz96 in -## [1.6.0](https://github.com/Antiz96/arch-update/releases/tag/v1.6.0) - 2023-11-10 +## [v1.6.0](https://github.com/Antiz96/arch-update/releases/tag/v1.6.0) - 2023-11-10 - Add Flatpak packages support (both for update and remove unused packages) by @Antiz96 in - Add styling to differentiate each steps of the main script more easily by @Antiz96 in -## [1.5.7](https://github.com/Antiz96/arch-update/releases/tag/v1.5.7) - 2023-07-16 +## [v1.5.7](https://github.com/Antiz96/arch-update/releases/tag/v1.5.7) - 2023-07-16 - Show more relevant info in a more readable way during the print of a news by @Antiz96 in - Add a '[NEW]' tag to each Arch news that are newer than 15 days by @Antiz96 in - Update documentation with the recently added features by @Antiz96 in - Bump the main script's version by @Antiz96 in -## [1.5.6](https://github.com/Antiz96/arch-update/releases/tag/v1.5.6) - 2023-06-24 +## [v1.5.6](https://github.com/Antiz96/arch-update/releases/tag/v1.5.6) - 2023-06-24 - Add codespell to the test suite ran by GH action by @Antiz96 in - Typo fixes by @Antiz96 in - Bump the main script version by @Antiz96 in -## [1.5.5](https://github.com/Antiz96/arch-update/releases/tag/v1.5.5) - 2023-06-14 +## [v1.5.5](https://github.com/Antiz96/arch-update/releases/tag/v1.5.5) - 2023-06-14 - Filter all special characters/symbols when parsing the Arch news urls to avoid ending with a wrong url by @Antiz96 in -## [1.5.4](https://github.com/Antiz96/arch-update/releases/tag/v1.5.4) - 2023-06-13 +## [v1.5.4](https://github.com/Antiz96/arch-update/releases/tag/v1.5.4) - 2023-06-13 - Add a GitHub action to run shellcheck on pull requests by @Antiz96 in - Add basic but useful information at the top of the main script by @Antiz96 in @@ -295,19 +295,19 @@ All notable changes to this project will be documented in this file. - Switch from hq to htmlq to print Arch news during the update operation by @Antiz96 in - Bump the script to v1.5.4 by @Antiz96 in -## [1.5.3](https://github.com/Antiz96/arch-update/releases/tag/v1.5.3) - 2023-04-04 +## [v1.5.3](https://github.com/Antiz96/arch-update/releases/tag/v1.5.3) - 2023-04-04 - Revert the required fix for the 'checkupdate' issue when using yay (implemented in #22) as it has been fixed/reverted by upstream () -## [1.5.2](https://github.com/Antiz96/arch-update/releases/tag/v1.5.2) - 2023-04-03 +## [v1.5.2](https://github.com/Antiz96/arch-update/releases/tag/v1.5.2) - 2023-04-03 - Fix the 'checkupdate' issue when using yay by @Antiz96 in -## [1.5.1](https://github.com/Antiz96/arch-update/releases/tag/v1.5.1) - 2023-02-10 +## [v1.5.1](https://github.com/Antiz96/arch-update/releases/tag/v1.5.1) - 2023-02-10 - Make use of pacdiff to search for pacnew files by @Antiz96 in -## [1.5.0](https://github.com/Antiz96/arch-update/releases/tag/v1.5.0) - 2023-02-09 +## [v1.5.0](https://github.com/Antiz96/arch-update/releases/tag/v1.5.0) - 2023-02-09 - Add removing orphan packages support by @Antiz96 in - Make searching and processing orphan packages and pacnew files independent from updates by @Antiz96 in @@ -315,21 +315,21 @@ All notable changes to this project will be documented in this file. - Various improvements/optimisation to the main script, the README and the documentation by @Antiz96 in - Bump the script to v1.5.0 by @Antiz96 in -## [1.4.2](https://github.com/Antiz96/arch-update/releases/tag/v1.4.2) - 2022-11-30 +## [v1.4.2](https://github.com/Antiz96/arch-update/releases/tag/v1.4.2) - 2022-11-30 - Bump the script's version to v1.4.2 by @Antiz96 in -## [1.4.1](https://github.com/Antiz96/arch-update/releases/tag/v1.4.1) - 2022-11-28 +## [v1.4.1](https://github.com/Antiz96/arch-update/releases/tag/v1.4.1) - 2022-11-28 - Corrected the arch-update.svg default icon by @Antiz96 in -## [1.4.0](https://github.com/Antiz96/arch-update/releases/tag/v1.4.0) - 2022-11-26 +## [v1.4.0](https://github.com/Antiz96/arch-update/releases/tag/v1.4.0) - 2022-11-26 - Add support for doas by @Antiz96 in - Add support for pacdiff to be able to process pacnew/pacsave files after an update by @Antiz96 in - Add a feature to read the latest Arch Linux news before updating the system by @Antiz96 in -## [1.3.2](https://github.com/Antiz96/arch-update/releases/tag/v1.3.2) - 2022-09-15 +## [v1.3.2](https://github.com/Antiz96/arch-update/releases/tag/v1.3.2) - 2022-09-15 - The repo has been restructured to better suit best practices. - New install/uninstall method: The install.sh and uninstall.sh scripts have been removed in favor of a Makefile; which is cleaner, more standard and way easier to maintain. @@ -337,12 +337,12 @@ All notable changes to this project will be documented in this file. - The "dependencies" (and overall) documentation has been improved. - A LICENSE file has been added to the repo (GLP3). -## [1.3.1](https://github.com/Antiz96/arch-update/releases/tag/v1.3.1) - 2022-06-29 +## [v1.3.1](https://github.com/Antiz96/arch-update/releases/tag/v1.3.1) - 2022-06-29 - Added some information to the man page/documentation. - Typo fixes. -## [1.3.0](https://github.com/Antiz96/arch-update/releases/tag/v1.3.0) - 2022-06-27 +## [v1.3.0](https://github.com/Antiz96/arch-update/releases/tag/v1.3.0) - 2022-06-27 ### New features @@ -362,23 +362,23 @@ All notable changes to this project will be documented in this file. - The man page is now zipped during the installation process (automatically done by pacman for the [AUR package](https://aur.archlinux.org/packages/arch-update)) instead of being already zipped in the archive. - The versions number now follows the [semantic versioning principles](https://semver.org/). -## [1.2.4](https://github.com/Antiz96/arch-update/releases/tag/v1.2.4) - 2022-04-29 +## [v1.2.4](https://github.com/Antiz96/arch-update/releases/tag/v1.2.4) - 2022-04-29 - Minor fixes -## [1.2.3](https://github.com/Antiz96/arch-update/releases/tag/v1.2.3) - 2022-04-21 +## [v1.2.3](https://github.com/Antiz96/arch-update/releases/tag/v1.2.3) - 2022-04-21 - Minor fixes -## [1.2.2](https://github.com/Antiz96/arch-update/releases/tag/v1.2.2) - 2022-03-31 +## [v1.2.2](https://github.com/Antiz96/arch-update/releases/tag/v1.2.2) - 2022-03-31 - Corrected and added some info in the man page -## [1.2.1](https://github.com/Antiz96/arch-update/releases/tag/v1.2.1) - 2022-03-31 +## [v1.2.1](https://github.com/Antiz96/arch-update/releases/tag/v1.2.1) - 2022-03-31 - Corrected and added some info in the man page -## [1.2](https://github.com/Antiz96/arch-update/releases/tag/v1.2) - 2022-03-30 +## [v1.2](https://github.com/Antiz96/arch-update/releases/tag/v1.2) - 2022-03-30 - Added correlation between "pkgver" and "source" in the PKGBUILD - The archive is now uploaded as a release and not directly in the git repo diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..32330a1 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,50 @@ +# Creating a release + +- Make sure that `git-cliff` is installed and `arch-update` is up to date on your system. + +- Export a `TAG` variable containing the new tag for the release: + +```bash +export TAG="X.Y.Z" +``` + +- Bump version in where necessary: + +```bash +sed -i "s/$(arch-update -V | cut -f2 -d " ")/${TAG}/g" doc/man/arch-update.* doc/man/fr/arch-update.* po/* src/script/arch-update.sh +``` + +- Update changelog: + +```bash +git-cliff -up CHANGELOG.md +sed -i "s|\[unreleased\]|\[v${TAG}\](https://github.com/Antiz96/arch-update/releases/tag/v${TAG})\ -\ $(date '+%Y-%m-%d')|g" CHANGELOG.md +``` + +- Commit, sign and push changes directly to the **main branch** *(we want the tagged commit to be signed with the [OpenPGP Key](https://keyserver.ubuntu.com/pks/lookup?search=D33FAA16B937F3B2&fingerprint=on&op=index) listed in [MAINTAINERS.md](https://github.com/Antiz96/arch-update/blob/main/MAINTAINERS.md) and not with the GitHub signature key automatically used when merging a pull request; this implies **temporarily** allowing administrators to bypass branch protections rules)*: + +```bash +git add . +git commit -SD33FAA16B937F3B2 -m "chore(release): v${TAG}" +git push +``` + +- Create, sign and push the new tag: + +```bash +git tag v${TAG} -u D33FAA16B937F3B2 -m "v${TAG}" +git push origin v${TAG} +``` + +- Create a release on GitHub, copy/paste release notes from the changelog and sign the auto-generated source tarball: + +```bash +cd ~/Downloads +curl https://github.com/Antiz96/arch-update/archive/refs/tags/v${TAG}.tar.gz -o arch-update-${TAG}.tar.gz +gpg --local-user D33FAA16B937F3B2 --armor --detach-sign arch-update-${TAG}.tar.gz +sha256sum arch-update-${TAG}.tar.gz > arch-update-${TAG}.tar.gz.sha256 +gpg --local-user D33FAA16B937F3B2 --armor --detach-sign arch-update-${TAG}.tar.gz.sha256 +rm -f arch-update-${TAG}.tar.gz +``` + +- Upload the 3 produced files as assets in the release and re-enable the branch protection rules on the main branch for administrators. diff --git a/cliff.toml b/cliff.toml index 10fb51f..87aa2da 100644 --- a/cliff.toml +++ b/cliff.toml @@ -27,7 +27,7 @@ body = """ {% endmacro -%} {% if version %}\ - ## [{{ version | trim_start_matches(pat="v") }}]\ + ## [{{ version }}]\ ({{ self::remote_url() }}/releases/tag/{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }} {% else %}\ ## [unreleased]