aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
Commit message (Collapse)AuthorAgeFilesLines
* contrib: add linter to check for panic handler in goroutinesRobin Jarry2023-01-061-0/+128
| | | | | | | | | | | | | | | | | If log.PanicHandler() is not installed in a goroutine and a panic occurs, the terminal state is not restored. This causes the panic trace to be unreadable since the terminal is broken. Add a custom analyzer that parses our code and ensures that: defer log.PanicHandler() is the first statement of all functions that are executed in goroutines. Include that linter in golangci config. Signed-off-by: Robin Jarry <robin@jarry.cc> Tested-by: Bence Ferdinandy <bence@ferdinandy.com>
* sendemail-validate: fix compat with older git versionsRobin Jarry2023-01-041-6/+6
| | | | | | | | | | Seen with git 2.34: error: unknown option `empty=drop' Check the patch file manually instead and abort early. Signed-off-by: Robin Jarry <robin@jarry.cc>
* sendemail-validate: ignore empty patches from cover letterRobin Jarry2022-12-211-1/+5
| | | | | | Avoid errors by checking cover letters as regular patches. Signed-off-by: Robin Jarry <robin@jarry.cc>
* ci: move check-patches at the end of pipelinesRobin Jarry2022-12-201-1/+1
| | | | | | | This is less important than reporting actual coding errors. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* check-patches: ignore .mailmap for author and s-o-b trailer checkRobin Jarry2022-12-201-1/+1
| | | | | | | We don't care that they are known in .mailmap as long as both match. Reported-by: Moritz Poldrack <moritz@poldrack.dev> Signed-off-by: Robin Jarry <robin@jarry.cc>
* sendemail-validate: add human readable recommendationsRobin Jarry2022-12-151-3/+11
| | | | | | | | | | | | When the patch fails to apply, users may get an obscure error from git: error: sha1 information is lacking or useless (commands/msg/reply.go). error: could not build fake ancestor Add explicit error messages indicating what happened and what should be done. Signed-off-by: Robin Jarry <robin@jarry.cc>
* contributing: add tooling for git send-emailRobin Jarry2022-12-142-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | Add a gitconfig target in the Makefile to configure a new clone with sane defaults: - set subject prefix - set correct mailing list address - enable sendemail.validate - install sendemail-validate hook The sendemail-validate hook will make a shallow clone of the current upstream repo, apply every patch on it and run some checks (a stripped down version of what is run by the upstream CI). Add a new check-patches script that verifies that the commit message actually contains something and that the Signed-off-by trailer from the patch author is present. Call check-patches in both the CI and the sendemail-validate hook. Update CONTRIBUTING.md accordingly. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Tim Culverhouse <tim@timculverhouse.com>
* git-stats: add reviewer statsRobin Jarry2022-12-071-0/+14
| | | | | | Process shortlog stats for Acked-by, Reviewed-by and Tested-by trailers. Signed-off-by: Robin Jarry <robin@jarry.cc>
* git-stats.sh: strip trailing white spaceRobin Jarry2022-10-201-1/+2
| | | | Signed-off-by: Robin Jarry <robin@jarry.cc>
* contrib: add git-stats.shRobin Jarry2022-10-202-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git shortlog -sn is nice but it does not display the number of changed files and the amount of changed lines. $ git shortlog -sn 0.12.0.. 46 Tim Culverhouse 28 Robin Jarry 14 Koni Marti 9 Moritz Poldrack 2 Ben Cohen 2 Bence Ferdinandy 2 Julian Pidancet 2 inwit 1 Jason Cox 1 Jason Stewart 1 John Gebbie 1 Tobias Wölfel 1 kt programs Add a simple bash script that adds extra information: $ ./contrib/git-stats.sh 0.12.0.. Author Commits Changed Files Insertions Deletions Tim Culverhouse 46 134 +973 -1090 Robin Jarry 28 70 +671 -358 Koni Marti 14 47 +437 -205 Moritz Poldrack 9 18 +178 -44 Ben Cohen 2 2 +16 -2 Bence Ferdinandy 2 6 +104 +0 Julian Pidancet 2 9 +149 -2 inwit 2 3 +11 -1 Jason Cox 1 7 +106 -6 Jason Stewart 1 1 +4 -2 John Gebbie 1 3 +118 -1 Tobias Wölfel 1 3 +3 -3 kt programs 1 3 +37 -6 Use the script to generate the release tag and email. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-on-irc-by: Tim Culverhouse <tim@timculverhouse.com>
* lint: check for bad white space habitsRobin Jarry2022-10-191-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A little coding hygiene cannot hurt. Add a simple awk script to check all source files for bad white space habits: - trailing white space - trailing new lines at the end of files - missing new line at the end of files - spaces followed by tabs The script outputs color when the terminal supports it. It exits with a non-zero code when there was at least one white space issue found. Call the script in the lint step. Example output of the awk script: config/default_styleset:1:# <-- trailing whitespace config/default_styleset:3:# <-- trailing whitespace doc/aerc.1.scd:78: Executes an arbitrary command in the background. Aerc will set the <-- trailing whitespace doc/aerc.1.scd:234: <-- trailing whitespace doc/aerc.1.scd:237: <-- trailing whitespace worker/types/thread_test.go:74: // return ErrSkipThread<-- space(s) followed by tab(s) worker/lib/testdata/message/invalid/hexa: trailing new line(s) Fix issues reported by the script. NB: The ENDFILE match is a GNU extension. It will be ignored on BSD-awk and trailing new lines will not be detected. The lint make target is only invoked on alpine linux which has GNU awk anyway. NB: Empty cells in scdoc tables require trailing white space... Avoid this by setting content in these cells. I don't really see a use for empty cells. Signed-off-by: Robin Jarry <robin@jarry.cc> Tested-by: Moritz Poldrack <moritz@poldrack.dev>
* Add changelogRobin Jarry2022-07-261-5/+9
| | | | | | | | | | | | Git history is not for everyone. Let's introduce a user-oriented change log. Ideally, this file should be updated incrementally when adding a new feature. I have added contributors guidelines in README.md. Update release.sh to automatically generate the release tag message with the unreleased changes from the changelog. Link: https://keepachangelog.com/en/1.0.0/ Signed-off-by: Robin Jarry <robin@jarry.cc>
* release.sh: fine tuningRobin Jarry2022-07-231-3/+5
| | | | | | | | | | | | | | | | | | Shuffle the To/Cc/Bcc headers to avoid people from doing reply all to ~sircmpwn/aerc@lists.sr.ht. Also add Cc: aerc-devel so that the lists archives all have the base message. Unfortunately, there is no way to prevent people from doing reply all and trying to send emails to aerc-announce. Putting aerc-announce in Bcc sounds very ugly. Include the person doing the release as Bcc. sendmail -t does not have a copy-to=Sent option. Use base32 and a shorter suffix for Message-ID. base64 is ugly. Use 'vi' if $EDITOR is unset. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* contrib: update script to release new versionRobin Jarry2022-06-272-4/+54
| | | | Signed-off-by: Robin Jarry <robin@jarry.cc>
* contrib: fix desktop fileMoritz Poldrack2022-03-071-11/+1
| | | | | | | | | | A Gentoo user found that the .desktop file was failing validation. Bug: https://bugs.gentoo.org/834145 Link: https://834145.bugs.gentoo.org/attachment.cgi?id=765905 Fixes: 5abc3cab96b7 ("contrib: add xdg desktop entry") Signed-off-by: Moritz Poldrack <git@moritz.sh> Acked-by: Robin Jarry <robin@jarry.cc>
* contrib: add xdg desktop entryMoritz Poldrack2022-02-191-0/+26
| | | | | | | | Add an XDG desktop file to handle mailto: links, to make it easier to reply to mailing list threads and compose emails with aerc in general. Signed-off-by: Moritz Poldrack <git@moritz.sh> Signed-off-by: Robin Jarry <robin@jarry.cc>
* Add contrib/_incr_versionDrew DeVault2020-05-191-0/+4
|
* Move contrib -> filtersDrew DeVault2019-06-273-62/+0
|
* Make awk filters more portableDrew DeVault2019-06-132-2/+0
|
* Fix hldiff regex for short statsDrew DeVault2019-06-072-1/+3
|
* Use #!/usr/bin/env -S awk -f for awk scriptsDrew DeVault2019-06-072-2/+2
|
* plaintext filter: Match against start of lineDrew DeVault2019-06-071-1/+1
|
* Rewrite Python filters in awkDrew DeVault2019-06-074-57/+52
|
* Move ANSI stripping from filters to GoDrew DeVault2019-06-072-4/+0
|
* Ignore encoding errors in filtersDrew DeVault2019-06-072-0/+2
| | | | Fixes #161
* hldiff.py: don't highlight -/+ in filenamesDrew DeVault2019-06-021-2/+2
|
* Add script for sandboxing w3mDrew DeVault2019-03-311-0/+10
|
* Improve plaintext.pyDrew DeVault2019-03-311-2/+2
|
* Add plaintext highlighter, escape ANSI in sourceDrew DeVault2019-03-312-1/+25
|
* Actually, git uses cyan for line markersDrew DeVault2019-03-301-1/+1
|
* Update hldiff.py to match git more closelyDrew DeVault2019-03-301-2/+10
|
* Add basic message viewer mockupDrew DeVault2019-03-301-0/+27