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

Improve build coverage for Linux and Darwin #7625

Merged
merged 1 commit into from
Jun 15, 2021

Conversation

bzbarsky-apple
Copy link
Contributor

Two changes here:

  1. Pass target_os="all" to the existing Linux builds, so it will build
    the various "linux" versions of things like tv-app.

  2. Stand up build coverage of the same sort on Darwin.

Problem

It turned out we had no CI building the "linux" versions of things like tv-app on Darwin, and possibly not on Linux either.

Change overview

Run the "build" task on Darwin as well, and change the "build" task to do target_is="all".

The latter required bumping up the build and test timeouts on the Linux tests. Basically, the opt gcc builds now take 20-25 mins and the debug gcc tests take 7-10 minutes. The sum of the build and test times for both seems to be in the ~23 minute range.

Testing

  1. Verified that before the most recent fixes on tip (Fix minimal mdns test #7608, Fix tv-app build on darwin #7607) the Darwin CI being added here fails.
  2. Verified that after those changes the build CI passes on both Darwin and Linux.

@todo
Copy link

todo bot commented Jun 14, 2021

Log Upload #2227

# TODO Log Upload https://github.com/project-chip/connectedhomeip/issues/2227
# TODO https://github.com/project-chip/connectedhomeip/issues/1512
# - name: Run Code Coverage
# if: ${{ contains('main', env.BUILD_TYPE) }}
# run: scripts/tools/codecoverage.sh
# - name: Upload Code Coverage
# if: ${{ contains('main', env.BUILD_TYPE) }}
# run: bash <(curl -s https://codecov.io/bash)


This comment was generated by todo based on a TODO comment in 25fdda8 in #7625. cc @bzbarsky-apple.

@todo
Copy link

todo bot commented Jun 14, 2021

#1512

# TODO https://github.com/project-chip/connectedhomeip/issues/1512
# - name: Run Code Coverage
# if: ${{ contains('main', env.BUILD_TYPE) }}
# run: scripts/tools/codecoverage.sh
# - name: Upload Code Coverage
# if: ${{ contains('main', env.BUILD_TYPE) }}
# run: bash <(curl -s https://codecov.io/bash)


This comment was generated by todo based on a TODO comment in 25fdda8 in #7625. cc @bzbarsky-apple.

@mspang
Copy link
Contributor

mspang commented Jun 14, 2021

This is going to build with clang in the "gcc" build and gcc in the "clang" build, etc. Currently CI is building the configs separately while the "unified" configuration tries to build them together.

(Admittedly this does mean we get different coverage unless we work to keep them in sync)

Should we perhaps instead augment examples-linux-standalone.yaml instead ? (and also run that on Mac)

@bzbarsky-apple
Copy link
Contributor Author

Should we perhaps instead augment examples-linux-standalone.yaml instead ?

Excellent, this is just the sort of info I needed. ;) Let me look into that. I suspect on Mac I'll still want to do the thing I am doing now, because that matches what people run in practice to get an "up to date" Mac build, but I was hoping there was a less-expensive way to do the Linux bits.

@bzbarsky-apple
Copy link
Contributor Author

bzbarsky-apple commented Jun 15, 2021

@mspang please take a look? I went through the things the "default" build builds and looks like tv-app was the only one missing from examples-linux-standalone.

Two changes here:

1) Build the tv-app example on Linux, in the examples-linux-standalone job.

2) Stand up build coverage equivalent to the "default" (i.e. including all the jobs that can be built on the OS) unified build on Darwin.
@woody-apple
Copy link
Contributor

@woody-apple woody-apple merged commit f034fc6 into project-chip:master Jun 15, 2021
@bzbarsky-apple bzbarsky-apple deleted the darwin-build-ci branch June 15, 2021 20:26
nikita-s-wrk pushed a commit to nikita-s-wrk/connectedhomeip that referenced this pull request Sep 23, 2021
Two changes here:

1) Build the tv-app example on Linux, in the examples-linux-standalone job.

2) Stand up build coverage equivalent to the "default" (i.e. including all the jobs that can be built on the OS) unified build on Darwin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants