From 16039fe676fec87b48b55fd329bbde2dbef494fa Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Wed, 12 Oct 2022 16:50:40 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=93=96=20Add=20missing=20case=20insen?= =?UTF-8?q?sitivity=20fix=20to=20CHANGELOG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added reference to the fix for no case insensitivity when searching through rofi added in ec90201 which was so far still missing in changelog. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe720ef..1a65db0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Custom default command is only executed when no command option given +- Results are matched case insensitively when using rofi picker to match other pickers From dc6888709117ef5598c7e43999576c1d827a67f8 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 10 Nov 2022 14:58:16 +0100 Subject: [PATCH 2/2] =?UTF-8?q?=E2=9C=A8=20Add=20automated=20tagged=20rele?= =?UTF-8?q?ases?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using woodpecker ci most of the release process is now automated. That means as soon as a new version tag (e.g. `v0.2.3`) is pushed the release process is started and will (if versions have been bumped correctly) set up a new release on Gitea and Github simultaneously. The release process will fail if changelog and program versions mismatch, or the version has not been bumped in general. The release contains the executable and some documentation, including the README as a manpage-formatted gzip file which can be included in the correct directory to enable a simple manpage for the program. --- .woodpecker.yml | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/.woodpecker.yml b/.woodpecker.yml index 0adf009..60e18dc 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -3,3 +3,76 @@ pipeline: image: bats/bats commands: - /opt/bats/bin/bats test + + release-prep: # prepare changelog and version information for release candidate + when: + event: tag + tag: v* + image: alpine + commands: + - sed -ne 's/bm_version=\(.*\)/\1/p' bemoji > NEWEST_VERSION.txt + - awk '/^## \[\d/{p++} p==2{print; exit} p>=1' CHANGELOG.md | head -n -1 | tail -n+3 > NEWEST_CHANGES.txt + + versioncompare: # ensure we correctly bumped versions + when: + event: tag + tag: v* + image: alpine + secrets: [ github_release_token, github_repo ] + commands: + - apk add jq curl + - "lastversion=$(curl -X GET -H \"Accept: application/vnd.github.v3+json\" -H \"Authorization: Bearer $GITHUB_RELEASE_TOKEN\" https://api.github.com/repos/$GITHUB_REPO/releases/latest | jq -r '.name')" + - "programversion=$(cat NEWEST_VERSION.txt)" + - changelogversion=$(sed -ne 's/^## \[\([0-9].*\)\].*$/\1/p' CHANGELOG.md | head -n1) + - echo "Last version - $lastversion" + - echo "New version - $programversion" + - echo "Changelog version - $changelogversion" + - "if [ \"$changelogversion\" != \"$programversion\" ]; then { echo \"VERSION MISMATCH: Changelog - $changelogversion, Program - $programversion\" && exit 1; }; fi" + - "if [ \"$lastversion\" = \"$programversion\" ]; then { echo \"RELEASE DUPLICATE: Last release already had version - $programversion\" && exit 1; }; fi" + + build: + when: + event: tag + tag: v* + image: savant/md2man + commands: + - apk update && apk add zip + - BM_VERSION=$(cat NEWEST_VERSION.txt) + - mkdir -p build/doc dist + - cp bemoji build + - md2man -in README.md -out bemoji.1 && gzip bemoji.1 + - cp LICENSE README.md bemoji.1.gz build/doc + - tar -czvf bemoji-$BM_VERSION.tar.gz build/* + - zip -r bemoji-$BM_VERSION.zip build/* + - mv bemoji-$BM_VERSION.tar.gz bemoji-$BM_VERSION.zip dist + + release-gitea: + group: release + when: + event: tag + tag: v* + image: plugins/gitea-release + settings: + api_key: + from_secret: gitea_release_token + base_url: https://git.martyoeh.me + files: dist/* + title: NEWEST_VERSION.txt + note: NEWEST_CHANGES.txt + + release-github: + when: + event: tag + tag: v* + image: alpine + secrets: [ github_release_token, github_repo ] + commands: + - apk add file jq curl + - BM_VERSION=$(cat NEWEST_VERSION.txt) + - BM_CHANGED=$(sed -e 's|#||g' -e 's|^.*$|\0
|' NEWEST_CHANGES.txt) # display newlines workaround + - echo "{\"tag_name\":\"$BM_VERSION\",\"target_commitish\":\"main\",\"name\":\"$BM_VERSION\",\"body\":\"$BM_CHANGED\",\"draft\":false,\"prerelease\":false,\"generate_release_notes\":false}" > data.json + - "response=$(curl -X POST -H \"Accept:\\ application/vnd.github+json\" -H \"Authorization:\\ Bearer $GITHUB_RELEASE_TOKEN\" https://api.github.com/repos/$GITHUB_REPO/releases -d \"@data.json\")" + - "uploadurl=$(echo $response | jq -r '.upload_url' | cut -d'{' -f1)" + - "[ $uploadurl = null ] && { echo $response; exit 1; }" + - "curl -X POST -H \"Accept:\\ application/vnd.github.v3+json\" -H \"Authorization:\\ Bearer $GITHUB_RELEASE_TOKEN\" -H \"Content-Type:\\ $(file -b --mime-type dist/bemoji-$BM_VERSION.zip)\" -H \"Content-Length:\\ $(wc -c