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] Expand the Nightly CI build coverage. #712

Merged
merged 1 commit into from
Mar 5, 2021

Conversation

youngar
Copy link
Member

@youngar youngar commented Mar 3, 2021

This PR expands the nightly builds to run more of our supported build
configurations. This adds (almost) all combinations of the following
variables:

CXX = [clang++, g++]
BUILD_SHARED_LIBS = [ON, OFF]
LLVM_ENABLE_ASSERTION = [ON, OFF]
CMAKE_BUILD_TYPE = [Release, Debug]

The gcc+sharedlibs combinations have been disabled (see issue #708).
This leads to a total of 12 builds. Every build shares the same cached
version of LLVM and should only take a couple of minutes for each to
complete.

Example build here: https://github.com/youngar/circt/actions/runs/617133108
Looks like its ~5 minutes per build, assuming LLVM is cached.

@teqdruid
Copy link
Contributor

teqdruid commented Mar 3, 2021

Another dimension we may want to add is non-capnp vs capnp builds. We've had problems with one broken but not the other. I don't think it's necessary to run non-capnp vs capnp with all the other combinations.

Copy link
Contributor

@teqdruid teqdruid left a comment

Choose a reason for hiding this comment

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

Really nice. Thanks!

@teqdruid
Copy link
Contributor

teqdruid commented Mar 3, 2021

Can you split the LLVM compile and cache into a separate job which all the other jobs depend on? It'll prevent waste when we bump the LLVM version. I think caches are not shared between workflows, so this pipeline will not pick up the cached version from the CI check.

@youngar
Copy link
Member Author

youngar commented Mar 4, 2021

I added a parent job to cache LLVM, test run here: https://github.com/llvm/circt/actions/runs/622293286
Edit: All green! I think this is good to go. If no one has any concerns, I'll merge this at the EOD.

Copy link
Contributor

@teqdruid teqdruid left a comment

Choose a reason for hiding this comment

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

LGTM! Thanks

.github/workflows/nightlyIntegrationTests.yml Show resolved Hide resolved
This PR expands the nightly builds to run more of our supported build
configurations.  This adds (almost) all combinations of the following
variables:

```
CXX = [clang++, g++]
BUILD_SHARED_LIBS = [ON, OFF]
LLVM_ENABLE_ASSERTION = [ON, OFF]
CMAKE_BUILD_TYPE = [Release, Debug]
```

The gcc+sharedlibs combinations have been disabled (see issue llvm#708).
This  leads to a total of 12 builds.  Every build shares the same cached
version of LLVM and should only take a couple of minutes for each to
complete.
@youngar
Copy link
Member Author

youngar commented Mar 4, 2021

Newest test run here: https://github.com/llvm/circt/actions/runs/622377130

@youngar youngar merged commit c3af64e into llvm:main Mar 5, 2021
@youngar youngar deleted the ci-expand-nightly branch March 5, 2021 05:11
@drom drom added this to the SiFive-1 milestone Mar 23, 2021
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