Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jobs/build-development: make development streams build daily #973

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dustymabe
Copy link
Member

Over time I'm thinking the build on every push to the git repo is a bit heavy. Often times the changes will be insignificant to warrant building, testing, and pushing all that we do. On the other hand, if there is a change we want we can easily click a button and start a build if we don't want to wait.

Over time I'm thinking the build on every push to the git repo is
a bit heavy. Often times the changes will be insignificant to warrant
building, testing, and pushing all that we do. On the other hand, if
there is a change we want we can easily click a button and start a
build if we don't want to wait.
pipelineTriggers(pipeutils.get_push_trigger()),
pipelineTriggers([
// run every 24h only for now
cron("H H * * *")
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I imagine this timer wouldn't coincide/run at exactly the same time each day as build-mechanical right? Otherwise we'd want to do something different.

Copy link
Contributor

@jbtrystram jbtrystram Apr 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jenkins have a built-in feature to randomize the start hours while respecting the periodicity, when you write H
https://www.jenkins.io/doc/book/pipeline/syntax/#cron-syntax

So from my understanding this should be good

@dustymabe
Copy link
Member Author

This ticket is meant more to be a discussion about the change. If we agree we can merge this, but let's have the conversation first.

@dustymabe dustymabe marked this pull request as draft March 26, 2024 19:44
@travier
Copy link
Member

travier commented Mar 28, 2024

This is about testing-devel and next-devel builds right? I already though that was a nightly build and not a per push one so I'm +1 if my understanding is correct.

@dustymabe
Copy link
Member Author

This is about testing-devel and next-devel builds right?

correct

@jlebon
Copy link
Member

jlebon commented Mar 28, 2024

Had a chat with Dusty about this. Things we mentioned:

  • we're currently not building multiple times per day very often
  • part of that though is probably due to Dusty manually intervening with the build job
  • until we have multi-arch CI, this would mean that multi-arch bugs in newly introduced code/tests will not be found until e.g. the next day, vs a few hours later
  • on promotion day, the latest testing-devel that we'd promote might not have been built and tested at all yet
  • a good compromise would be to leave it to trigger on git pushes, but still force a rate-limit of e.g. 20h in the job itself

@jbtrystram
Copy link
Contributor

jbtrystram commented Apr 2, 2024

a good compromise would be to leave it to trigger on git pushes, but still force a rate-limit of e.g. 20h in the job itself

@jlebon just to make sure i understand that correctly, you mean the job wouldn't start if it haven't been idle for at least 20 hours ?

@jlebon
Copy link
Member

jlebon commented Apr 5, 2024

a good compromise would be to leave it to trigger on git pushes, but still force a rate-limit of e.g. 20h in the job itself

@jlebon just to make sure i understand that correctly, you mean the job wouldn't start if it haven't been idle for at least 20 hours ?

When the job starts, it would check when the last build on that stream was. If it's less than X hours ago, then we no-op.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants