Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Rishabh Budhouliya
    @rishabhBudhouliya
    @arpoch if you're putting Default in GitTool gitTool = Jenkins.get().getDescriptorByType(GitTool.DescriptorImpl.class).getInstallation(requiredTool); then isn't this line essentially
    GitTool.getDefaultInstallation() ?
    I am assuming that there is way to get the user decided GitTool from the context where the credentials are working, if that is not the case please feel free to correct me.
    1 reply
    Harshit Chopra
    @arpoch
    I changed the code, so now its
    default String gitToolName(TaskListener listener) {
            String requiredToolByName = "Default";
            String actualToolByPath = null;
    
            GitTool gitTool = Jenkins.get().getDescriptorByType(GitTool.DescriptorImpl.class).getInstallation(requiredToolByName);
            if (gitTool == null) {
                listener.getLogger().println("Selected Git installation does not exist. Using Default");
                gitTool = GitTool.getDefaultInstallation();
            }
            if(gitTool!=null) {
                try {
                    gitTool = gitTool.forNode(Jenkins.get(), listener);
                    actualToolByPath = FilenameUtils.getBaseName(gitTool.getGitExe());
                } catch (IOException | InterruptedException e) {
                    listener.getLogger().println("Failed to get git tool");
                }
            }
    
            return actualToolByPath;
        }
    Harshit Chopra
    @arpoch
    I have created a commit regarding alot of changes today, things got messy in between and as of now some test are not passing I must have missed something, will be more care full next time. And will make the changes.
    @rishabhBudhouliya, @justinharringa:matrix.org , @MarkEWaite , I will be mailing regarding my University exam dates.
    Rishabh Budhouliya
    @rishabhBudhouliya
    @arpoch Do we have the deliverables for this coding phase defined somewhere? Can we update them according to the recent developments + anticipation of your exams so that we all know how we want to proceed?
    1 reply
    Justin Harringa
    @justinharringa
    Howdy @arpoch @rishabhBudhouliya @MarkEWaite ! I've moved the office hours meet to Jun 16th @ 7.30 AM IST - I wasn't able to edit the original invite so I created a new one
    1 reply
    Harshit Chopra
    @arpoch
    @justinharringa , @rishabhBudhouliya , @MarkEWaite, if possible we shift the meeting to Jun 17th @ 7:30 AM IST or could reduce the meeting time to half hour instead of an hour?
    Justin Harringa
    @justinharringa:matrix.org
    [m]
    @arpochare you thinking just for this week or regularly?
    1 reply
    Justin Harringa
    @justinharringa:matrix.org
    [m]
    Do you just have a conflict at the beginning or end? Certainly want to make sure you get the time you need. 😀
    Justin Harringa
    @justinharringa:matrix.org
    [m]
    Is 30 minutes sufficient for you or would it be better to move? I can take a look at the zoom tomorrow morning my time
    Harshit Chopra
    @arpoch
    I think it would be better to move.
    Harshit Chopra
    @arpoch
    Will go with the time that suits all the mentors best.
    Justin Harringa
    @justinharringa:matrix.org
    [m]
    @rishabhBudhouliya any preference?
    4 replies
    Harshit Chopra
    @arpoch
    Hey @MarkEWaite , @justinharringa:matrix.org , @rishabhBudhouliya, found something interesting while working on test cases code, the script permissions wont be set using chmod in windows so the the script will have default permission.
    Mark Waite
    @MarkEWaite
    As far as I understand it, there is no concept of execute permission on Windows. Execute permission for a batch file is based on the file name ending with a .bat suffix. Likewise for PowerShell scripts with the .ps1 suffiix
    There are some requirements for specific permissions on private key files, even on Windows, but those specific permissions are set in the git client plugin code that writes the private key file before using it
    Harshit Chopra
    @arpoch
    Project page update:jenkins-infra/jenkins.io#4423
    Justin Harringa
    @justinharringa:matrix.org
    [m]
    Hey folks I may be a few minutes late but you should be able to join if so. Hoping to make it in on time though.
    Mark Waite
    @MarkEWaite
    I should be available as well. See you then
    Harshit Chopra
    @arpoch
    @MarkEWaite , @justinharringa:matrix.org , @rishabhBudhouliya , added the help html, will be changing the image in project page as well.
    Mark Waite
    @MarkEWaite
    Thanks @arpoch . I've built a local copy of your help file addition and uploaded it to my Jenkins installation for some quick tests.
    Harshit Chopra
    @arpoch
    @MarkEWaite , @justinharringa:matrix.org , @rishabhBudhouliya, I have developed the code to solve the gitTool problem, just made a PR, although couldn't test using agents over ssh, but still pretty sure that it would work. I will make the documentation changes by this weeks end.
    Harshit Chopra
    @arpoch
    @rishabhBudhouliya would you like to share some insight, that you gained while investigating the usage of sshj library or something new that you might have learned, making git ssh binding impl more clean.
    12 replies
    Mark Waite
    @MarkEWaite
    Thanks @arpoch . I am running the git client plugin with your help addition. I've seen it. I think users will ask that a detailed example be included inside the help. I'll suggest the detailed example as part of the PR review process.
    Rishabh Budhouliya
    @rishabhBudhouliya
    @arpoch I still have to re-review your PR once (will do it during the weekend), Mark and Justin have already given great comments, would like to understand the progress made on the PR myself.
    Rishabh Budhouliya
    @rishabhBudhouliya
    @arpoch this is the reply I got from the bouncy-castle team for the question on decryption of passphrase protected openssh keys:
    I think we'd need a sample key/password. The issue sounds like it's that
    the key is encrypted - we'd need to add a seperate utility class for
    doing the decryption and recovering the key spec for translation.
    
    Regards,
    
    David
    Harshit Chopra
    @arpoch
    @rishabhBudhouliya @MarkEWaite @justinharringa:matrix.org do we have a meeting today?
    Mark Waite
    @MarkEWaite
    I assume we do. Sorry, but I'm running late in another meeting.
    Harshit Chopra
    @arpoch
    I thought it was scheduled for every Wednesday
    Mark Waite
    @MarkEWaite
    That may be correct. Sorry, I may have failed to remove from the calendar
    If Rishabh and Justin aren't in the meeting, then let's assume it is every Wednesday as you thought it was. I'll remove the Tuesday meeting from the Jenkins calendar
    Rishabh Budhouliya
    @rishabhBudhouliya
    @arpoch @MarkEWaite I saw the invite but I assumed we are defaulting to the Wednesday office hours
    Justin Harringa
    @justinharringa:matrix.org
    [m]
    Wednesday works for everyone at the currently scheduled time? I believe Harshit had perhaps another conflict but maybe only one?
    Mark Waite
    @MarkEWaite
    Wednesday works for me at the currently scheduled time
    Harshit Chopra
    @arpoch
    @MarkEWaite, I test the freestyle project with and without parameter expression using command git fetch --all, it worked as expected no issues. Will check my config.xml with the one you send.
    Mark Waite
    @MarkEWaite
    Very interesting @arpoch . I assume that the repository you were using in your test was a private repository and that if you remove the credentials binding, then the git fetch --all fails. I'll need to explore further after my working day today.
    Rishabh Budhouliya
    @rishabhBudhouliya
    @arpoch will you be presenting the GSoC project in the summit tomorrow?
    Harshit Chopra
    @arpoch
    I added my name under ignite talks, I will be showing a small demo of git username and password binding.
    Harshit Chopra
    @arpoch
    @MarkEWaite, @rishabhBudhouliya , @justinharringa:matrix.org, should credential storage be a concern as credentials will be locally cached if credential.helper is set to store or cache on the system, as mentioned here.
    Harshit Chopra
    @arpoch
    From my point of view I think it could be a concern, because if a user performs a git checkout using credentials and then performs batch/shell build step to perform git fetch --all then it will work even if not using git credential binding, I missed this case since I was not storing my credentials.
    Mark Waite
    @MarkEWaite

    @arpoch the git plugin has always assumed that cached credentials were not enabled on the agent. If a user enables credential caching on an agent, they do so at their own risk. I think it is enough to document that assumption without taking active measures to disable cached credentials.

    Jenkins users are very creative. I would not want to actively disable credential caching because I fear it would break some existing configurations where users intentionally enabled credential caching and rely on it.

    Agent information latency (repository on disc during the build, credentials on disc during the build, repository left after the build, job configuration left after the build, etc.) happens with Jenkins as soon as someone allows themselves to reuse an agent or allows more than one job to run on the same agent concurrently.

    1 reply
    Harshit Chopra
    @arpoch
    @MarkEWaite, I went through the config.xml of JENKINS-28335-freestyle-parameterized-credential-binding, I found that the credentialsId under buildWrappers was already expanded, your parameter name was MY_USERNAME_PASSWORD_CREDENTIAL, but the credentialsId was given as MarkEWaite-github-token-2019-05-25, should not it be ${MY_USERNAME_PASSWORD_CREDENTIAL}?
    Harshit Chopra
    @arpoch
    @MarkEWaite , @justinharringa:matrix.org , @rishabhBudhouliya , the Set Username as secret checkbox that we can set to hide the username while selecting credentials, is handled as a string in credential binding plugin here-https://github.com/jenkinsci/credentials-binding-plugin/blob/b6250417116ead0f4079b4c5759fbc7151d29933/src/main/java/org/jenkinsci/plugins/credentialsbinding/impl/UsernamePasswordMultiBinding.java#L77
    and not as a Secret as I thought.
    Harshit Chopra
    @arpoch
    @MarkEWaite , @justinharringa:matrix.org , @rishabhBudhouliya , today I was test the git username password binding on an Ubuntu agent using ssh and windows as a controller, and I got some unexpected result , the script created to carry out git auth operation is alway created in windows even if the agent is linux based.
    Did this binding worked for you all over different agents using ssh?
    Mark Waite
    @MarkEWaite
    I haven't tested a Jenkins controller, but the results you are seeing match with what James Nord predicted. The newline constant is computed on the controller (Windows) but is then used on Linux
    3 replies
    Mark Waite
    @MarkEWaite
    It appears that git lfs is no longer available on the agents connected to ci.jenkins.io. It will likely be Monday before we're able to identify the issue and resolve it. We may need to disable the LFS tests in the git client plugin or make them conditional on the existence of the git lfs command so that we don't delay @arpoch with failing tests that are related to infrastructure
    1 reply
    Harshit Chopra
    @arpoch
    @MarkEWaite , @rishabhBudhouliya , @justinharringa:matrix.org, just a reminder I won't be able to contribute much for the upcoming week due to my examinations but will keep you all update if I make any progress during the week.
    Mark Waite
    @MarkEWaite
    Thanks @arpoch . All the best with your examinations. We'll use the time for more review and more testing of the implementation
    Justin Harringa
    @justinharringa:matrix.org
    [m]
    Hope your exams go well. Should we adjust our meetings for this week?
    1 reply
    Rishabh Budhouliya
    @rishabhBudhouliya
    @arpoch all the best for you exams