Hi,

I wonder if the missing package in question may be keyrings.cryptfile: 
https://pypi.org/project/keyrings.cryptfile/ 
I seem to recall ages ago that this resolved my issues with the github 
integration.

> On 11 Aug 2022, at 11:48, Jakob Schiøtz <[email protected]> wrote:
> 
> 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]
> 


-- 
Terje Kvernes
Head sysadmin
Department of Mathematics
University of Oslo




Reply via email to