How to start another build on CodeClimate after the initial build fails? - ruby-on-rails

Here's the first fail build. I forgot to configure file. So I added it again and recommit. Now it won't fire again.
Do I have to get a CI (using Travis CI) to first successfully test it first?

You can press the refresh button in the top right corner on your repo.

Support got back to me and told me it was a problem on their end.
Sorry that your repository got stuck in that weird "limbo" state.
Currently, we don't automatically install our webhook for open-source
repositories and without that we don't see any subsequent commits if
the first analysis errors. Our dev team plans to improve this
experience, but in the meantime, I'd recommend installing our webhook.
This hook is what notifies us of certain events happening in your
repository including commits made to your default branch.
To get that installed you'll need to run through steps 5-7 in this
help doc here: https://docs.codeclimate.com/docs/github#pull-requests.

Related

How to run a specific job with GithubActions

When some of my GithubActions jobs has failed, I don't have the possibility to re-run the specific failing job, only "Re-run all jobs". Is there any way to achieve this?
This is all working now in GitHub, the caveat is you can only run "specific jobs in a workflow run up to 30 days after its initial run."
https://docs.github.com/en/actions/managing-workflow-runs/re-running-workflows-and-jobs#reviewing-previous-workflow-runs
I’m the workflow file you want to be able to manually trigger, add workflow_dispatch to the “on:” clause. Then go to the actions tab on github, select the action and you should see the option to manually run it. Before asking this type of question, please use google next time. When looking for “triggger github workflow manually” the first result is a article written by github on how to do it. https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
Unfortunately, re-run a single job is not possible yet.
Their repository does have an Open Issue to implement this feature.
https://github.com/actions/runner/issues/432
The good news is it is officially in their roadmap and is scheduled for Q1 2022.
https://github.com/github/roadmap/issues/271

Gitea Jenkins plugin: discovering branches to build

Gitea recommends a separate Gitea Plugin for Jenkins. I'm puzzled why two identical builds are triggered when a PR is created.
I'm trying to achieve the following:
Without a PR, a push to a branch should NOT trigger a build
Every time a PR is requested in Gitea, a build is triggered for the PR.
If a new revision pushed to the branch for which a PR is created, another check build should be triggered
It's kinda working... But for some reasons two builds are created. Could someone please explain, what are these pipeline/head and pipeline/pr-master builds, and why there are two of them?
Here is the relevant part of my Jenkins configuration. I understand that this selection is a "legacy" one, however it's the only one that allows me to build only on PR. If I select the "recommended" one, then every push triggers a build, which is not what I want.
Thanks!
Answering my own question. Awwww what a silly sausage I am. The only thing that needed to be done was removing the "Discover branches" behaviour. And, naturally, it stops discovering "just branches" :) For some reasons I did not realise I can remove the default behaviours.

How to relaunch GitHub check without pushing new commits?

I'm currently using GitHub with a basic Jenkins integration (with the GitHub plugin): each time I push something, my Jenkins tests are triggered and the status is reported to GitHub.
For some dirty reasons (and I know the root cause is here), my tests could randomly fail and then report a failed status to GitHub (which blocked the possibility to merge the PR: and that's the expected behavior).
Do you know if it's possible to relaunch the tests without pushing a new commit? Because I know if I relaunch the tests, they will pass.
Update: you can also push an empty commit to your branch to re-trigger status checks: git commit -m "retrigger checks" --allow-empty and then git push <branchname>
You can do this by closing and then re-opening the Pull Request. This will cause all status checks to run again on the same commit.
Doing git commit --amend and force pushing makes github retrigger all checks. Not perfect but better than closing then reopening the PR.
There's now a button in the Github UI to rerun checks. Not sure if it works for Jenkins, but it worked for my situation.
If you open a PR that failed, under Checks tab you will see the list of all checks that were performed on your PR. Next to the failed ones, there will be a clickable text that says "Re-run"
Depending on how you have integrated Github with Jenkins and what plugin you have have used, the method might vary. But usually you have support for "magic"-sentences that will retrigger Jenkins if added as a comment on Github.
For example commenting "test this please" or "retest this please" in Github might retrigger Jenkins.
Seems like closing and re-opening the PR could be an option.

Integrating Jenkins with BitBucket Server

I have an Bitbucket Server that is running currently quite well.
I also have an Bamboo Server which crashed on me today so badly that I would need to reinstall the complete bamboo stuff again. (Plugins, Server etc.)
This was not the first time. The Atlassian team couldn't even help me, so I moved to Jenkins instead.
Everything works so far.
I checked on several posts on the Internet but didn't find anything really useful or up2date on my question.
Here is what I am planing to do:
Build every Branch on creation
If Build Succeeds notify BitBucket Server that Build was successful
Update Jira and start Code Review (already in place)
I'm currently missing only step 1 and 2 as step 3 is quite easy to do with the according plugins.
But I need step 1 and 2 as well as an pull request should not be mergeable if the branch itself was not successfully built.
If anybody already solved this, notify me and I will look into it right away
Thanks for your help :-)

Build every branch but only those newly pushed to

I want to have Jenkins CI test every branch but not all existing one, solely the ones which received a recent push.
I have set up a GitHub web hook which triggers new builds. This works fine for the branch specifier set to master. Now I tried ** so every branch is built.
The problem: on the first push it tries to build every branch, which is simply too much and would take ages. Is there a way to limit this?
There is no configuration which supports the feature you are requested and since it looks like there is no plugin yet. Your best shot would be to implement your own plugin that can specify a certain date threshold for branches.
Having said that, to solve your problem I would simply:
Empty the shell script for your job
Trigger a new build
Set your shell script again
This way all remote branches get checked out, run and marked as successful within no time due to the empty shell script. After re-enabling your actual shell script you are good to go.

Resources