• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

uber / cadence / 018d8f3c-d989-4284-bc5e-6eb6797f6ff4
63%
master: 72%

Build:
Build:
LAST BUILD BRANCH: fixit
DEFAULT BRANCH: master
Ran 09 Feb 2024 07:29PM UTC
Jobs 1
Files 658
Run time 53s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Jan 2024 02:27AM UTC coverage: 62.64% (-0.02%) from 62.662%
018d8f3c-d989-4284-bc5e-6eb6797f6ff4

push

buildkite

web-flow
Submodules step 2/2: draw the rest of the owl (#5609)

# What

Step 1 was in PR #5597

This second commit essentially:
1. splits the gcloud-only dependencies into a submodule which imports the main `github.com/uber/cadence` module, and not the reverse
2. also splits the "main" server build (`cmd/server`) into a submodule which imports the gcloud plugin and the main module (so that binary is unchanged)
3. removes `cloud.google.com/*` dependencies from the main `go.mod` (requires both 1 and 2)
4. adjusts things to work like they did before

Ultimately reducing our "main" (truly required) dependencies, while not making major changes to using or developing Cadence.

# Why

Part on principle, and part due to internal version conflicts.

In principle, "plugins" are "optional" and we should not be forcing _all_ optional dependencies on _all_ users of _any_ of Cadence.  
Splitting dependencies into choose-your-own-adventure submodules is simply good library design for the ecosystem, and it's something we should be doing more of.

In practice, this is essentially being forced because the gcloud archiver plugin pulls in some `cloud.google.com/*` stuff, which we upgraded, which forces breaking `google.golang.org/genproto` upgrades, which conflicts with other things in our internal monorepo.  
Removing this requirement (we do not use the gcloud archiver internally) allows us to continue using these incompatible libraries elsewhere, unblocking us while we wait for them to upgrade.  
This may also be true for [waves in the direction of The Internet] all of You, so rejoice!  Our pain is your gain.  We now no longer force you to use these libraries.

We will likely be doing this with more submodules in the future, this is just the first proof-of-concept and establishes a pattern to follow for the others.  
The client library will very likely also be doing this (or possibly in other repos) to separate out some of its more problematic dependenci... (continued)

91804 of 146558 relevant lines covered (62.64%)

2311.54 hits per line

Jobs
ID Job ID Ran Files Coverage
1 018d8f3c-d989-4284-bc5e-6eb6797f6ff4.1 09 Feb 2024 07:29PM UTC 658
62.64
Source Files on build 018d8f3c-d989-4284-bc5e-6eb6797f6ff4
  • Tree
  • List 658
  • Changed 261
  • Source Changed 0
  • Coverage Changed 34
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 08d5994a on github
  • Prev Build on master (#018D32C6...)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc