Hi,

It is a long time since I had a similar problem, in that case the problem was a 
missing python package in the system Python installation used to handle 
cryptographic tokens safely.  Unfortunately, I cannot remember what package it 
was, nor how I made EasyBuild print more details about what was wrong when it 
tried to read the token.

Best regards

Jakob

--
Jakob Schiøtz, professor, Ph.D.
Department of Physics
Technical University of Denmark
DK-2800 Kongens Lyngby, Denmark




> On 9 Aug 2022, at 11.52, Loris Bennett <[email protected]> wrote:
> 
> Loris Bennett <[email protected]> writes:
> 
>> Loris Bennett <[email protected]> writes:
>> 
>>> Hi Kenneth,
>>> 
>>> Kenneth Hoste <[email protected]> writes:
>>> 
>>>> Hi Loris,
>>>> 
>>>> Two things are needed in order for --new-pr to work:
>>>> 
>>>> 1) You need a GitHub token available, which allows EasyBuild to take care 
>>>> of
>>>> actually opening the pull request for you (it basically avoids having to 
>>>> use the
>>>> GitHub web interface for doing that);
>>>> 
>>>> 2) You need to have an SSH key available that allows you to push a branch 
>>>> in
>>>> your fork of the easybuild-easyconfigs GitHub repository.
>>>> 
>>>> In your case, 2) is fine, 1) is not (as shown by --check-github).
>>>> 
>>>> 
>>>> There's a variety of reasons why the token may not be available:
>>>> 
>>>> Do you have 'keyring' Python package installed? Check with "python -c 
>>>> 'import
>>>> keyring'.
>>> 
>>> This works.
>>> 
>>>> Is the token installed in this account? (if not, use "eb
>>>> --install-github-token")
>>> 
>>> Yes.
>>> 
>>>> Is keyring able to access the saved token?
>>>> If your keyring installation is recent enough, you can try getting the 
>>>> saved
>>>> token using:
>>>> 
>>>>    python -m keyring get github_token GITHUB_USER
>>>> 
>>>> (where you replace GITHUB_USER_NAME with, you guessed it, your GitHub user 
>>>> name)
>>> 
>>> That gave the error
>>> 
>>>  /usr/bin/python: No module named keyring.__main__; 'keyring' is a package 
>>> and cannot be directly executed
>>> 
>>> but was able to do the following (which you sent me last time I was
>>> struggling with the Github integration):
>>> 
>>>  [build@admin ~]$ python
>>>  Python 2.7.5 (default, Nov 16 2020, 22:23:17) 
>>>  [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
>>>  Type "help", "copyright", "credits" or "license" for more information.
>>>>>> import getpass, keyring
>>>>>> keyring.get_password("github_token", "tardigradus")
>>>  Please enter password for encrypted keyring: 
>>>  u'my_secret_token'
>>> 
>>>> Note: if you share the results of these tests, be careful to not 
>>>> accidentally
>>>> share your GitHub token... ;)
>>> 
>>> So everything seems to work.  Even the new PR was created, but I just
>>> seem to be getting spurious error messages.  Very odd.
>> 
>> So I am still have problem that EasyBuild misleadingly claims that
>> GitLab integration is not set up.  I had forgotten that this problem had
>> occurred quite recently and thought that GitHub had somehow disabled my
>> token.  So I created a new one and registered it (which required me to
>> install 'keyring' and 'pycrypto' for Python 3).  Registration went
>> fine, but --check-github says
>> 
>>  * GitHub user...tardigradus => OK
>>  Please enter password for encrypted keyring: 
>>  * GitHub token...(no token found) => FAIL
>>  * git command...OK ("git version 1.8.3.1; ")
>>  * GitPython module...OK (GitPython version 1.0.2)
>>  * push access to tardigradus/easybuild-easyconfigs repo @ GitHub...OK
>>  * creating gists...FAIL (gist_url: None)
>>  * location to Git working dirs... OK (/trinity/home/build/easyconfigs/~/git)
>> 
>> However, --new-pr sort of works.  I just had to log into GitHub and
>> click on a button labelled something like "Create pull request" to
>> actually complete the process.
>> 
>> Is maybe the ancient version of Git to blame?
> 
> Same error with a more recent versio:
> 
> * GitHub token...(no token found) => FAIL
> * git command...OK ("git version 2.33.0; ")
> 
>> Cheers,
>> 
>> Loris
>> 
>>> Cheers,
>>> 
>>> Loris
>>> 
>>>> 
>>>> 
>>>> regards,
>>>> 
>>>> Kenneth
>>>> 
>>>> On 08/06/2022 15:18, Loris Bennett wrote:
>>>>> Hi,
>>>>> In the past I have successfully submitted new PRs.  However, when I tried
>>>>> today, I got:
>>>>>   [build@admin ~]$ eb --new-pr --git-working-dirs-path=~/git
>>>>> --github-user=tardigradus --pr-commit-msg="{data}[foss-2021b] RStan 
>>>>> v2.21.5 w/
>>>>> R 4.1.2" ~/easyconfigs/RStan-2.21.5-foss-2021b-R-4.1.2.eb
>>>>>   == Temporary log file in case of crash 
>>>>> /tmp/eb-mp19jq6s/easybuild-_u_eolj6.log
>>>>>   == found valid index for 
>>>>> /trinity/shared/easybuild/software/EasyBuild/4.5.5/easybuild/easyconfigs, 
>>>>> so using it...
>>>>>   == found valid index for 
>>>>> /trinity/shared/easybuild/software/EasyBuild/4.5.5/easybuild/easyconfigs, 
>>>>> so using it...
>>>>>   == fetching branch 'develop' from 
>>>>> https://github.com/easybuilders/easybuild-easyconfigs.git>>    == copying 
>>>>> files to /tmp/eb-mp19jq6s/git-working-dir9yzypblw/easybuild-easyconfigs...
>>>>>   == pushing branch '20220608140722_new_pr_RStan2215' to remote 
>>>>> 'github_tardigradus_SbVOR' 
>>>>> ([email protected]:tardigradus/easybuild-easyconfigs.git)
>>>>>   ERROR: GitHub token for user 'tardigradus' must be available to open a 
>>>>> pull request
>>>>> Running
>>>>>   eb --check-github  --github-user=tardigradus
>>>>> gave
>>>>>   == Temporary log file in case of crash
>>>>> /tmp/eb-qoptphw6/easybuild-t_h6dk5i.log
>>>>>   Checking status of GitHub integration...
>>>>>   Making sure we're online...OK
>>>>>   * GitHub user...tardigradus => OK
>>>>>   * GitHub token...(no token found) => FAIL
>>>>>   * git command...OK ("git version 1.8.3.1; ")
>>>>>   * GitPython module...OK (GitPython version 1.0.2)
>>>>>   * push access to tardigradus/easybuild-easyconfigs repo @ GitHub...OK
>>>>>   * creating gists...FAIL (gist_url: None)
>>>>>   * location to Git working dirs... not found (suboptimal)
>>>>> I thought the token was needed primarily for the push, which worked.  To
>>>>> actually create the PR I had to press a button in Github, which I don't
>>>>> remember having done in the past.
>>>>> Does anyone know what the issue might be?
>>>>> Cheers,
>>>>> Loris
>>>>> 
> -- 
> Dr. Loris Bennett (Herr/Mr)
> ZEDAT, Freie Universität Berlin         Email [email protected]

Reply via email to