Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
81fe7f5
chore: add monorepo migration script
meltsufin Dec 22, 2025
2e08f3a
chore: fix path
meltsufin Dec 22, 2025
bce3be9
chore: refine migration script for atomic commits and isolation
meltsufin Dec 22, 2025
87f9105
chore: remove pom.xml update logic from migration script
meltsufin Dec 23, 2025
39579a7
chore: implement GitHub Actions workflow migration using paths-filter
meltsufin Dec 23, 2025
7186888
chore: skip redundant workflows and update generation_config.yaml
meltsufin Dec 23, 2025
195a721
chore: expand workflow skip list to include samples, release, and more
meltsufin Dec 23, 2025
ebb120c
chore: make workflow transformation logic a permanent script and rena…
meltsufin Dec 23, 2025
d89a6f9
chore: refine versions.txt consolidation to only append data lines
meltsufin Dec 23, 2025
e42ce8f
chore: remove clirr job from workflow transformation
meltsufin Dec 23, 2025
f4d37b6
chore: add copyright header fix to migration script
meltsufin Dec 23, 2025
77ca28b
impl: automate reporting removal, build verification, and dynamic par…
meltsufin Dec 24, 2025
1d0d4cc
feat: add CLI binary checks to migrate.sh
chingor13 Jan 5, 2026
dac897b
chore: allow setting SOURCE_REPO_URL via environment variable in migr…
chingor13 Jan 6, 2026
9733293
feat: add guard for checking if the repository is already migrated
chingor13 Jan 6, 2026
982964d
feat: add environment variable for specifying codeowner team to migrate
chingor13 Jan 6, 2026
afa909d
feat: insert new module in root pom.xml
chingor13 Jan 7, 2026
842b607
chore: exclude common files from source root in migration script
chingor13 Jan 7, 2026
dfb9b5c
refactor: extract inline python to a .py file
chingor13 Jan 8, 2026
17cebe7
chore: add license headers
chingor13 Jan 8, 2026
0d41cab
fix: use 2026 when fixing copyright headers
chingor13 Jan 8, 2026
a0d0309
refactor: extract fix copyright inline python into .py file
chingor13 Jan 8, 2026
dd6fbdb
feat: update urls in the migrated pom.xml
chingor13 Jan 8, 2026
2c0b86c
fix: preserve explicilty declared versions in pom.xml
chingor13 Jan 8, 2026
66d7b1c
fix: also preserve explicit google-cloud-x dependency versions
chingor13 Jan 8, 2026
efcf08c
feat: prompt for CODEOWNERS value
chingor13 Jan 8, 2026
490c1bd
feat: prompt for SOURCE_REPO_URL value
chingor13 Jan 8, 2026
ada0b97
feat: merge generator config yaml
chingor13 Jan 12, 2026
d8b8d5b
chore: read root CODEOWNER entry from source
chingor13 Jan 14, 2026
a226a1a
migrate .OwlBot-hermetic.yaml
chingor13 Jan 14, 2026
8616d31
migrate existing owlbot.py file and replace the template excludes
chingor13 Jan 15, 2026
bb67452
skip .kokoro folder
chingor13 Jan 15, 2026
c3cb968
remove more unnecessary files
chingor13 Jan 15, 2026
849a00e
remove only kokoro configs and clean up generation config
chingor13 Jan 15, 2026
50a861d
disable java17 profile for split repo's java8 test
chingor13 Jan 15, 2026
852dc6c
add git config for longpaths on windows build
chingor13 Jan 16, 2026
bc67a4b
fix working directory for longpaths
chingor13 Jan 16, 2026
de61f6b
allow running root ci scripts in BUILD_SUBDIR
chingor13 Jan 16, 2026
8024b13
modernize the bom pom.xml
chingor13 Jan 16, 2026
077747f
allow specifying target branch
chingor13 Jan 21, 2026
6032b41
fix s.move
chingor13 Jan 21, 2026
2a7ad17
use BUILD_SUBDIR env variable
chingor13 Jan 21, 2026
7fa38dd
skip kokoro files
chingor13 Jan 21, 2026
3395079
fix windows build file
chingor13 Jan 21, 2026
93c958e
optionally squash commits
chingor13 Jan 22, 2026
f1894ab
fix CODEOWNERS detection
chingor13 Jan 23, 2026
353f926
fix owlbot template excludes
chingor13 Jan 23, 2026
162741a
configurable base branch, defaults to main
chingor13 Jan 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion .kokoro/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,17 @@ if [ -f "${KOKORO_GFILE_DIR}/secret_manager/java-bigqueryconnection-samples-secr
source "${KOKORO_GFILE_DIR}/secret_manager/java-bigqueryconnection-samples-secrets"
fi

if [[ -n "${BUILD_SUBDIR}" ]]
then
echo "Running in subdir: ${BUILD_SUBDIR}"
pushd "${BUILD_SUBDIR}"
fi

RETURN_CODE=0

case ${JOB_TYPE} in
test)
echo "SUREFIRE_JVM_OPT: ${SUREFIRE_JVM_OPT}"
retry_with_backoff 3 10 \
mvn test \
-B -ntp \
Expand All @@ -48,7 +55,7 @@ case ${JOB_TYPE} in
-Dflatten.skip=true \
-Danimal.sniffer.skip=true \
-Dmaven.wagon.http.retryHandler.count=5 \
-T 1C
-T 1C ${SUREFIRE_JVM_OPT}
RETURN_CODE=$?
echo "Finished running unit tests"
;;
Expand Down Expand Up @@ -125,6 +132,12 @@ case ${JOB_TYPE} in

esac

if [[ -n "${BUILD_SUBDIR}" ]]
then
echo "restoring directory"
popd
fi

if [ "${REPORT_COVERAGE}" == "true" ]; then
bash ${KOKORO_GFILE_DIR}/codecov.sh
fi
Expand Down
12 changes: 12 additions & 0 deletions .kokoro/dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@ function determineMavenOpts() {

export MAVEN_OPTS=$(determineMavenOpts)

if [[ -n "${BUILD_SUBDIR}" ]]
then
echo "Running in subdir: ${BUILD_SUBDIR}"
pushd "${BUILD_SUBDIR}"
fi

# this should run maven enforcer
retry_with_backoff 3 10 \
mvn install -B -V -ntp \
Expand All @@ -57,3 +63,9 @@ retry_with_backoff 3 10 \
-Dclirr.skip=true

mvn -B dependency:analyze -DfailOnWarning=true

if [[ -n "${BUILD_SUBDIR}" ]]
then
echo "Leaving subdir: ${BUILD_SUBDIR}"
popd
fi
4 changes: 4 additions & 0 deletions generation/check_non_release_please_versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ for pomFile in $(find . -mindepth 2 -name pom.xml | sort ); do
echo "Skipping version check for java-samples directory"
continue
fi
if [[ "${pomFile}" =~ .*/samples/.* ]]; then
echo "Skipping version check for samples directory"
continue
fi

if grep -n '<version>.*</version>' "$pomFile" | grep -v 'x-version-update'; then
echo "Found version declaration(s) without x-version-update in: $pomFile"
Expand Down
53 changes: 53 additions & 0 deletions monorepo-migration/fix_copyright_headers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env python3
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import os
import re
import sys

def fix_copyright(path):
if os.path.isfile(path):
if path.endswith(".java"):
_fix_file(path)
elif os.path.isdir(path):
for root, _, files in os.walk(path):
for file in files:
if file.endswith(".java"):
_fix_file(os.path.join(root, file))

def _fix_file(file_path):
with open(file_path, 'r') as f:
content = f.read()

# Replace "Copyright [Year] Google LLC" or "Copyright [Year] Google Inc."
# with "Copyright 2026 Google LLC"
new_content = re.sub(
r'Copyright \d{4} Google (Inc\.|LLC)',
'Copyright 2026 Google LLC',
content
)

if new_content != content:
with open(file_path, 'w') as f:
f.write(new_content)
print(f"Updated copyright in {file_path}")

if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: fix_copyright_headers.py <file_or_directory_path> ...")
sys.exit(1)

for arg in sys.argv[1:]:
fix_copyright(arg)
Loading
Loading