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

[CI/nightly] Build ALL components during nightly build #840

Merged
merged 1 commit into from
Jul 10, 2019

Conversation

stevendanna
Copy link
Contributor

We periodically find that components no longer build because of
dependency changes. We typically find out that these components don't
build when developers are doing cleanup or maintenance work such as
updating dependencies. Only finding build problems during such tasks
increases the cost of starting such tasks and means that we discover
the problems long after the change that produced the problem, making
it harder to debug.

Currently, the nightly builds only rebuild whatever changed in the
latest commit to master, using the same changed components logic that
the rest of our verify pipelines use.

This changes the nightlies to build all components, which should allow
us to discover build issues more promptly, divorced from any
particular change.

Signed-off-by: Steven Danna steve@chef.io

🔩 Description

👍 Definition of Done

👟 Demo Script / Repro Steps

⛓️ Related Resources

✅ Checklist

  • Necessary tests added/updated?
  • Necessary docs added/updated?
  • Code actually executed?
  • Vetting performed (unit tests, lint, etc.)?

@stevendanna stevendanna requested a review from a team as a code owner July 10, 2019 08:25
else
mapfile -t changed_components < <(./scripts/changed_components.rb)
if [[ ${#changed_components[@]} -ne 0 ]]; then
cat << EOF | buildkite-agent annotate --style "info"
Copy link
Contributor

Choose a reason for hiding this comment

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

[nit] Let's free that cat:

Suggested change
cat << EOF | buildkite-agent annotate --style "info"
buildkite-agent annotate --style "info" <<EOF

(I'm aware that this was just moved, feel free to ignore. 😉 )

@@ -227,22 +227,6 @@ function rebuild() {
return $err
}

document "build_all" <<DOC
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This function could not have been working for people since many of the packages it would have built do not build. Thus, I've removed it since it implies people don't use it.

We periodically find that components no longer build because of
dependency changes. We typically find out that these components don't
build when developers are doing cleanup or maintenance work such as
updating dependencies. Only finding build problems during such tasks
increases the cost of starting such tasks and means that we discover
the problems long after the change that produced the problem, making
it harder to debug.

Currently, the nightly builds only rebuild whatever changed in the
latest commit to master, using the same changed components logic that
the rest of our verify pipelines use.

This changes the nightlies to build all components, which should allow
us to discover build issues more promptly, divorced from any
particular change.

Signed-off-by: Steven Danna <steve@chef.io>
@stevendanna
Copy link
Contributor Author

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.

3 participants