Skip to content

Commit 1fe38be

Browse files
committed
docs: add RELEASING.md onboarding guide
1 parent e895e89 commit 1fe38be

1 file changed

Lines changed: 63 additions & 0 deletions

File tree

packages/bigframes/RELEASING.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Releasing BigQuery DataFrames (BigFrames) on GitHub
2+
3+
This onboarding documentation describes how to release a new version of the `bigframes` package.
4+
5+
---
6+
7+
## Why is this a manual step?
8+
By default in this monorepo, BigQuery DataFrames releases are marked with `skip_release: true`. This prevents automatic release pipelines from triggering on every commit. Instead, a library maintainer must explicitly trigger the release staging process using the `legacylibrarian` tool.
9+
10+
---
11+
12+
## Quick Onboarding Checklist (First Time Only)
13+
14+
1. **Install the legacylibrarian CLI tool**:
15+
```bash
16+
go install github.com/googleapis/librarian/cmd/legacylibrarian@latest
17+
```
18+
*(Ensure `~/go/bin` is in your system `PATH`)*.
19+
20+
2. **Authenticate with GitHub CLI**:
21+
Ensure the `gh` tool is installed and logged in:
22+
```bash
23+
gh auth login
24+
```
25+
26+
---
27+
28+
## How to Trigger a Release
29+
30+
Follow these general steps to release a new version (e.g., `X.X.X`):
31+
32+
1. **Set your GitHub Auth Token**:
33+
```bash
34+
export LIBRARIAN_GITHUB_TOKEN=$(gh auth token)
35+
```
36+
37+
2. **Checkout the main branch**:
38+
```bash
39+
git fetch origin main && git checkout origin/main
40+
```
41+
42+
3. **Run the staging command with push**:
43+
```bash
44+
legacylibrarian release stage \
45+
--repo=https://github.com/googleapis/google-cloud-python \
46+
--library=bigframes \
47+
--library-version=X.X.X \
48+
--push
49+
```
50+
* This automatically clones the repo in a temp folder, updates version references, creates a commit, pushes the release branch, and generates a Pull Request on GitHub.
51+
* Review the generated PR on GitHub, verify the `release:pending` label, and squash-merge it once tests pass.
52+
53+
---
54+
55+
## Detailed Step-by-Step & Troubleshooting
56+
57+
For the detailed step-by-step cheatsheet, including troubleshooting common errors like:
58+
* Context-Aware Access (CAA) credential blocks
59+
* Git `insteadOf` redirection errors in `~/.gitconfig`
60+
* `go-git` cleanliness errors caused by local `.vscode/` or `venv` directories
61+
62+
Refer to the cheat-sheet document:
63+
👉 **[packages/bigframes/release-procedure.md](file:///usr/local/google/home/shuowei/src/google-cloud-python/google-cloud-python/packages/bigframes/release-procedure.md)**

0 commit comments

Comments
 (0)