Skip to content

Commit ef4c18a

Browse files
authored
Merge branch 'googleapis:main' into fix/bigquery-12885-retry-503
2 parents a11da9f + 058efbb commit ef4c18a

666 files changed

Lines changed: 307256 additions & 10624 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/librarian_generation_check.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
14-
name: Librarian generate diff check on pull requests
14+
name: Librarian - Generate diff check on pull requests
1515
on:
1616
pull_request:
1717

@@ -57,12 +57,16 @@ jobs:
5757
- name: Run librarian install
5858
run: |
5959
librarian install
60-
echo "$HOME/java_tools/bin" >> $GITHUB_PATH
60+
echo "$HOME/.cache/librarian/bin/java_tools/bin" >> $GITHUB_PATH
6161
- name: Run librarian generate
6262
env:
6363
PYTHONPATH: ${{ github.workspace }}/sdk-platform-java/hermetic_build/library_generation/owlbot
6464
run: |
6565
librarian generate --all
6666
- name: Check for generated code changes
6767
run: |
68-
git diff --exit-code
68+
if [ -n "$(git status --porcelain)" ]; then
69+
git status
70+
echo "Regeneration produced code changes! Please run 'librarian generate --all' to update the generated files."
71+
exit 1
72+
fi

.github/workflows/showcase-version-check.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
name: Showcase Version Check
15+
name: Librarian - Showcase Version Check
1616

1717
on:
1818
schedule:

.github/workflows/update_generation_config.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
# downstream client libraries before they are released.
1616
name: Update generation configuration
1717
on:
18-
schedule:
19-
- cron: '0 2 * * *'
2018
workflow_dispatch:
2119
jobs:
2220
update-generation-config:

.github/workflows/update_librarian_googleapis.yaml

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
name: Update librarian googleapis commitish
15+
name: Librarian - Update googleapis commitish and generate all
1616
on:
1717
schedule:
1818
- cron: '0 3 * * *' # Run once a day at 3:00 AM UTC
@@ -85,6 +85,7 @@ jobs:
8585
echo "has_changes=true" >> $GITHUB_OUTPUT
8686
fi
8787
- name: Install protoc
88+
if: steps.detect_librarian.outputs.has_changes == 'true'
8889
run: |
8990
set -e
9091
VERSION="33.2"
@@ -93,42 +94,37 @@ jobs:
9394
sudo unzip -o /tmp/protoc.zip
9495
protoc --version
9596
- uses: actions/setup-java@v4
97+
if: steps.detect_librarian.outputs.has_changes == 'true'
9698
with:
9799
java-version: "17"
98100
distribution: "temurin"
99101
cache: "maven"
100102
- name: Verify Java and Maven installation
103+
if: steps.detect_librarian.outputs.has_changes == 'true'
101104
run: |
102105
java -version
103106
if ! command -v mvn &> /dev/null; then
104107
sudo apt-get update && sudo apt-get install -y maven
105108
fi
106109
mvn -version
107110
- uses: actions/setup-python@v5
111+
if: steps.detect_librarian.outputs.has_changes == 'true'
108112
with:
109113
python-version: "3.12"
110114
cache: 'pip'
111115
- name: Run librarian install
116+
if: steps.detect_librarian.outputs.has_changes == 'true'
112117
run: |
113118
go run github.com/googleapis/librarian/cmd/librarian@latest install
114-
echo "$HOME/java_tools/bin" >> $GITHUB_PATH
119+
echo "$HOME/.cache/librarian/bin/java_tools/bin" >> $GITHUB_PATH
115120
env:
116121
PYTHONPATH: ${{ github.workspace }}/sdk-platform-java/hermetic_build/library_generation/owlbot
117122
- name: Generate Libraries
118123
if: steps.detect_librarian.outputs.has_changes == 'true'
119-
id: generate
120124
run: |
121125
go run github.com/googleapis/librarian/cmd/librarian@latest generate --all
122-
git add .
123-
changed_files=$(git diff --cached --name-only)
124-
if [[ "${changed_files}" == "" ]]; then
125-
echo "has_changes=false" >> $GITHUB_OUTPUT
126-
echo "No changes in libraries"
127-
else
128-
echo "has_changes=true" >> $GITHUB_OUTPUT
129-
fi
130126
- name: Commit and Create PR
131-
if: steps.detect_librarian.outputs.has_changes == 'true' || steps.generate.outputs.has_changes == 'true'
127+
if: steps.detect_librarian.outputs.has_changes == 'true'
132128
env:
133129
GH_TOKEN: ${{ secrets.CLOUD_JAVA_BOT_GITHUB_TOKEN }}
134130
PR_TITLE: "chore: update googleapis commitish to ${{ steps.commit.outputs.short_commit }}"
@@ -139,7 +135,7 @@ jobs:
139135
if [ "${{ github.event_name }}" = "pull_request" ]; then
140136
echo "=== PR Test: DRY RUN MODE ACTIVE ==="
141137
echo "Would have checked out branch: update-librarian-googleapis-main"
142-
echo "Would have committed with title: $PR_TITLE"
138+
echo "Would have committed configs with title: $PR_TITLE"
143139
echo "Would have pushed branch and created PR."
144140
exit 0
145141
fi
@@ -153,8 +149,22 @@ jobs:
153149
# Create and switch to the branch (force checkout -B to discard any local state on this branch name if it existed)
154150
git checkout -B "${current_branch}"
155151
156-
# Commit the changes (they are already staged by the Detect Changes step!)
157-
git commit -m "${PR_TITLE}"
152+
# 1. Commit Config Changes
153+
# Ensure they are staged
154+
git add librarian.yaml generation_config.yaml
155+
if ! git diff --cached --quiet; then
156+
git commit -m "${PR_TITLE}"
157+
else
158+
echo "No config changes to commit"
159+
fi
160+
161+
# 2. Commit Generated Code
162+
git add .
163+
if ! git diff --cached --quiet; then
164+
git commit -m "chore: generate libraries"
165+
else
166+
echo "No generated code changes to commit"
167+
fi
158168
159169
# Push to remote (force push to overwrite any stale branch on remote)
160170
git remote add remote_repo https://cloud-java-bot:"${GH_TOKEN}@github.com/${{ github.repository }}.git" || git remote set-url remote_repo https://cloud-java-bot:"${GH_TOKEN}@github.com/${{ github.repository }}.git"

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ feat(storage): add new storage bucket feature
124124
125125
A new feature is added to storage.
126126
127-
Fixes \#238
127+
Fixes #238
128128
```
129129

130130
### First line

DEVELOPMENT.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Monorepo Scoped Development Guide
22

3-
This document outlines development workflows and build strategies when working with specific client libraries or modules in the `google-cloud-java` monorepo.
3+
This document outlines development workflows, build strategies, and code generation processes when working with or managing client libraries in the `google-cloud-java` monorepo.
44

55
---
66

@@ -51,3 +51,20 @@ mvn compile
5151
```
5252

5353
Your IDE such as Intellij should also be able to import all the upstream dependencies at this moment. You can perform the same operations as you would in a normal project such as running unit tests, debugging and so on.
54+
55+
---
56+
57+
## 3. Code Generation (Librarian)
58+
59+
This repository uses **[Librarian](https://github.com/googleapis/librarian)** to generate code from API specifications.
60+
61+
The configuration for Librarian in this repository is defined in the [librarian.yaml](librarian.yaml) file at the root.
62+
63+
### Documentation & Guides
64+
65+
For more information on how to use Librarian, configure generation, or troubleshoot issues, refer to the following guides:
66+
67+
* **[Librarian GitHub Repository](https://github.com/googleapis/librarian)**: The main repository for the Librarian tool.
68+
* **[Librarian Command Reference](https://pkg.go.dev/github.com/googleapis/librarian/cmd/librarian)**: Detailed documentation of `librarian` CLI commands.
69+
* **[Librarian Configuration Schema](https://github.com/googleapis/librarian/blob/main/doc/config-schema.md)**: Guide to the structure and options available in `librarian.yaml`.
70+
* **[go/g3doc-sdk-librarian](https://go/g3doc-sdk-librarian)** (Internal): Internal documentation for code generation schedules and local development workflows.

0 commit comments

Comments
 (0)