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

Dynamic CI jobs for examples #2677

Merged
merged 6 commits into from May 16, 2020
Merged

Dynamic CI jobs for examples #2677

merged 6 commits into from May 16, 2020

Conversation

rnorth
Copy link
Member

@rnorth rnorth commented May 7, 2020

Intended to apply our dynamic approach for GitHub Actions jobs to the examples. This includes use of the remote Gradle cache so that we only run an optimal subset of the example jobs.

Two things irk me about this PR:

  • Extensive duplication between ci.yml and ci-examples.yml. I considered trying to set up a matrix arrangement to avoid this, but I suspect it would become an even more complicated arrangement. We've probably already used up all our 'cleverness budget' with the existing dynamic job discovery. I think that on balance duplicating lots of the workflow file may be inelegant but is at least much clearer.

  • I could not find a way to share the Gradle cache configuration between the ./settings.gradle and ./examples/settings.gradle. Extracting this to a custom script plugin failed: even a working setup would break when --scan was enabled, and I've not yet had the energy to investigate why.

I think that, unless I've missed something very obvious, I'd like to proceed with the PR despite both of these annoyances. Happy to hear feedback to the contrary though :)

@@ -1,4 +1,4 @@
name: in-container
name: CI-DinD
Copy link
Member

Choose a reason for hiding this comment

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

we're not running "Docker-in-Docker", but mount the socket, hence "in-container" :) Maybe we can use "wormhole" or similar...

Copy link
Member Author

Choose a reason for hiding this comment

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

Good point

Co-authored-by: Sergei Egorov <bsideup@gmail.com>
@rnorth rnorth changed the title WIP: Dynamic CI jobs for examples Dynamic CI jobs for examples May 7, 2020
@rnorth rnorth marked this pull request as ready for review May 7, 2020 10:49
@rnorth rnorth requested a review from kiview as a code owner May 7, 2020 10:49
@@ -13,6 +13,25 @@ buildscript {
apply plugin: 'ch.myniva.s3-build-cache'
apply plugin: 'com.gradle.enterprise'

rootProject.name = 'testcontainers-java'
Copy link
Member

Choose a reason for hiding this comment

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

Just to be sure - you just moved these lines without changing them, right? Or was it done by accident and we should probably revert it? :)

Copy link
Member Author

Choose a reason for hiding this comment

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

Moved deliberately; I'm not sure why but it feels right to have these elements near the top of the file, and leave the cache/buildscan related parts at the bottom.

@rnorth rnorth merged commit 8c7c769 into master May 16, 2020
@rnorth rnorth deleted the examples-dynamic-ci-jobs branch May 16, 2020 19:43
quincy pushed a commit to quincy/testcontainers-java that referenced this pull request May 28, 2020
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.

None yet

2 participants