Skip to content

Fix OpenWhisk experiments: update tasks and disable generateProto caching#190

Merged
ribafish merged 6 commits intomainfrom
gk/fix-openwhisk-cache-miss
Mar 24, 2026
Merged

Fix OpenWhisk experiments: update tasks and disable generateProto caching#190
ribafish merged 6 commits intomainfrom
gk/fix-openwhisk-cache-miss

Conversation

@ribafish
Copy link
Copy Markdown
Member

@ribafish ribafish commented Mar 19, 2026

Summary

Two fixes for Apache OpenWhisk experiment workflows:

  1. Replace infra-dependent taskstestCoverageLean (160/163 suites fail without Docker/CouchDB/Ansible) and reportCoverage (needs Ansible-generated whisk.properties) replaced with compileScala and compileTestScala to exercise dependency resolution and Scala compilation caching. testSwaggerCodegen (pure codegen, no infra) kept.

  2. Disable caching for GenerateProtoTask — The pekko-grpc Gradle plugin passes an absolute path (logfile_enc) as a protoc plugin option, which protobuf-gradle-plugin registers as a task input. This breaks cache relocatability in experiment 3 (same commit, different checkout directories). Added a doNotCacheIf post-checkout hook.

Upstream issue

apache/pekko-grpc#661

Test plan

  • Run all 3 experiments and verify green results
  • Verify exp3 no longer has generateProto cache misses

…hing

Replace infra-dependent test tasks (testCoverageLean, reportCoverage) with
compileScala/compileTestScala to exercise caching without Docker/CouchDB.

Add doNotCacheIf hook for GenerateProtoTask — pekko-grpc's logfile_enc
option contains an absolute path that breaks cache relocatability in exp3.

Upstream: apache/pekko-grpc#661

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ribafish ribafish force-pushed the gk/fix-openwhisk-cache-miss branch from 8dfe169 to e60d77e Compare March 19, 2026 09:49
@ribafish ribafish changed the title Fix OpenWhisk exp3 cache miss: disable caching for generateProto Fix OpenWhisk experiments: update tasks and disable generateProto caching Mar 19, 2026
ribafish added a commit that referenced this pull request Mar 19, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The protobuf plugin class was referenced directly in root build.gradle
where it isn't applied, causing Groovy to fail resolving 'com' as a
project property. Wrap with pluginManager.withPlugin to defer class
resolution, matching the pattern used by the Solr workflow.
@ribafish
Copy link
Copy Markdown
Member Author

@ribafish ribafish requested review from a team and Copilot March 19, 2026 10:32
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Apache OpenWhisk experiment workflow to (1) run Gradle tasks that don’t depend on external infrastructure and (2) work around a cache relocatability issue in generateProto caused by an absolute-path protoc plugin option.

Changes:

  • Replace infra-dependent coverage tasks with Scala compilation tasks while keeping Swagger codegen.
  • Add a post-checkout git hook to disable caching for generateProto to avoid cache misses across different checkout directories.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Copy link
Copy Markdown
Member

@jprinet jprinet left a comment

Choose a reason for hiding this comment

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

LGTM


allprojects {
tasks.matching { it.name == 'generateProto' }.configureEach {
outputs.doNotCacheIf('pekko-grpc logfile_enc option is not cache relocatable') { true }
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

just nitpicking but your upstream PR link could be part of the not cacheable reason

Updated the disable caching script for generateProto to include a link to the related pull request.

Signed-off-by: Gašper Kojek <gkojek@gradle.com>
@ribafish ribafish merged commit 1e6aff2 into main Mar 24, 2026
2 checks passed
@ribafish ribafish deleted the gk/fix-openwhisk-cache-miss branch March 24, 2026 14:21
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