git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Christian Couder <christian.couder@gmail.com>
To: NSENGIYUMVA WILBERFORCE <nsengiyumvawilberforce@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Github actions failing
Date: Mon, 9 Jan 2023 10:22:01 +0100	[thread overview]
Message-ID: <CAP8UFD23ObbQaeQi2WsZ3oy0QTKiBxs3wExaHTU2QzJBPwKOmA@mail.gmail.com> (raw)
In-Reply-To: <CA+PPyiHOLUm87eHuxyhbqqML33Q6g-he_DKRxTEb2fu-2p3NSQ@mail.gmail.com>

On Mon, Jan 9, 2023 at 5:40 AM NSENGIYUMVA WILBERFORCE
<nsengiyumvawilberforce@gmail.com> wrote:

> Thanks, I missed the GPG flag. Now I get the following after forcing
> the push. I have been looking for the problem but I can't figure it
> out. I will be glad for any help
> >
> > git checkout -b signed &&
> > 1840 echo 1 >file && git add file &&
> > 1841 test_tick && git commit -S -m initial &&
> > 1842 git verify-commit signed 2>out &&
> > 1843 head -3 out >expected &&
> > 1844 tail -1 out >>expected &&
> > 1845 echo >>expected &&
> > 1846 git for-each-ref refs/heads/signed --format="%(signature)" >actual &&
> > 1847 test_cmp actual expected
> > 1848
> > 1849 + git checkout -b signed
> > 1850 Switched to a new branch 'signed'
> > 1851 + echo 1
> > 1852 + git add file
> > 1853 + test_tick
> > 1854 + test -z set
> > 1855 + test_tick=1112912113
> > 1856 + GIT_COMMITTER_DATE=1112912113 -0700
> > 1857 + GIT_AUTHOR_DATE=1112912113 -0700
> > 1858 + export GIT_COMMITTER_DATE GIT_AUTHOR_DATE
> > 1859 + git commit -S -m initial
> > 1860 [signed 4dc4b90] initial
> > 1861 Author: A U Thor <author@example.com>
> > 1862 1 file changed, 1 insertion(+)
> > 1863 create mode 100644 file
> > 1864 + git verify-commit signed
> > 1865 + head -3 out
> > 1866 + tail -1 out
> > 1867 + echo
> > 1868 + git for-each-ref refs/heads/signed --format=%(signature)
> > 1869 + test_cmp actual expected

I think in general we prefer "test_cmp expected actual" over "test_cmp
actual expected". I think it's easier to understand what happened with
the former.

Also most of the tests in t6300 are like "test_cmp expected actual":

$ grep -c 'test_cmp expect' t6300-for-each-ref.sh
67
$ grep -c 'test_cmp actual' t6300-for-each-ref.sh
1

> > 1870 + test 2 -ne 2
> > 1871 + eval diff -u "$@"
> > 1872 + diff -u actual expected
> > 1873 --- actual 2023-01-08 19:40:42.169214115 +0000
> > 1874 +++ expected 2023-01-08 19:40:42.121213837 +0000
> > 1875 @@ -1,4 +1,5 @@
> > 1876 gpg: Signature made Sun Jan 8 19:40:42 2023 UTC
> > 1877 gpg: using DSA key 13B6F51ECDDE430D
> > 1878 +gpg: checking the trustdb

The + before "gpg" means that the above line is in what we expect, but
not in what we actually get.

I think the reason might be that gpg's output could have changed
between different versions of gpg and it might just not be possible
and wise to rely on the exact output it emits.

In both t7510-signed-commit.sh t7528-signed-commit-ssh.sh for example,
we don't test the '%GG' format, and that might be the reason why.

So I see the following possibilities to overcome this issue:

  - just drop the test you added for the %(signature) format
  - find a way to require a specific version of gpg for that test
(unfortunately I don't think our test framework allows that, so you
would have to add custom code to the test, and this is likely to
bitrot as time passes and the required gpg version becomes unused)
  - find a way to make the test independent of the gpg version (this
might bitrot too as new gpg versions might further change their
output)

> > 1879 gpg: Good signature from "C O Mitter <committer@example.com>"
> > 1880
> > 1881 error: last command exited with $?=1
> > 1882 not ok 338 - test bare signature atom

  reply	other threads:[~2023-01-09  9:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-08 10:02 Github actions failing NSENGIYUMVA WILBERFORCE
2023-01-08 10:07 ` NSENGIYUMVA WILBERFORCE
2023-01-08 18:17 ` Christian Couder
2023-01-09  4:40   ` NSENGIYUMVA WILBERFORCE
2023-01-09  9:22     ` Christian Couder [this message]
2023-01-09 10:10       ` Andreas Schwab
2023-01-09 13:01       ` NSENGIYUMVA WILBERFORCE

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAP8UFD23ObbQaeQi2WsZ3oy0QTKiBxs3wExaHTU2QzJBPwKOmA@mail.gmail.com \
    --to=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=nsengiyumvawilberforce@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).