googleapis / googleapis/google-cloud-cpp

renovate.sh ignores real failures in `generate-libraries.sh`

Open
#14,099 2 comments 0 reactions 0 assignees View on GitHub
cpp: operator type: cleanup
Dominant language
C++
Stars
659
Forks
462
Avg merge
1d 2h
Merged PRs (30d)
89

Description

We use `renovate.sh` to update the googleapis SHA. It automatically updates the generated code too:

https://github.com/googleapis/google-cloud-cpp/blob/682e0657e270533675163dca54a722526aaae145/external/googleapis/renovate.sh#L72-L75

The `|| true` is needed because `generate-libraries.sh` is intended as a CI script. It is supposed to fail if the code does not match what would happen if we generated the code, and in this case we always generate new code.

It seems we need a way to tell `generate-libraries.sh` to expect code diffs. Or maybe we should refactor the code such that both `renovate.sh` and `generate-libraries.sh` call some shell functions.

Contributor guide

Open the contributing guide

Research direction

Start by reading renovate.sh around lines 72-75 and then inspect generate-libraries.sh to understand how its CI failure status is produced. Reproduce the generation flow and ensure expected generated-code differences do not hide unrelated failures, while the CI validation behavior remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, shell
Domain
build-system, ci-cd
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.