Skip to content

Commit 0baa8df

Browse files
suztomomeltsufin
andauthored
chore: rename bootstrap to merge_repository (#8832)
* chore: rename bootstrap to merge_repository * merge_repository.sh to copy itself * avoid conflicting repository name * Update generation/README.md Co-authored-by: Mike Eltsufin <meltsufin@google.com> * start with google-cloud-java monorepo * chore: allow-emtpy when committing * setting working directory google-cloud-java-merged Co-authored-by: Mike Eltsufin <meltsufin@google.com>
1 parent dda28ea commit 0baa8df

4 files changed

Lines changed: 31 additions & 155 deletions

File tree

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Bootstrap
1+
name: Merge Repository
22
on:
33
schedule:
44
- cron: '0 1 * * *' # nightly at 1 am UTC
@@ -19,19 +19,19 @@ jobs:
1919
steps:
2020
- uses: actions/checkout@v3
2121
- name: Generate
22-
run: ./generation/bootstrap.sh
22+
run: ./generation/merge_repository.sh
2323
env:
2424
USERNAME: ${{ github.actor }}
2525
- name: Compile
26-
working-directory: generation/monorepo/google-cloud-java
26+
working-directory: generation/monorepo/google-cloud-java-merged
2727
run: mvn compile -T C1 -B
2828
- name: Unit Tests
29-
working-directory: generation/monorepo/google-cloud-java
29+
working-directory: generation/monorepo/google-cloud-java-merged
3030
run: mvn test -T C1 -B
3131
- name: Push monorepo to branch
3232
if: ${{ github.event_name != 'pull_request' }}
3333
run: |
34-
cd generation/monorepo/google-cloud-java
34+
cd generation/monorepo/google-cloud-java-merged
3535
git remote add monorepo https://${{ github.actor }}:${{ github.token }}@github.com/${{ github.repository }}.git
3636
git push -f monorepo main:bootstrap_output
3737
- name: Push diff to branch

generation/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
## Using scripts independently
44

55
Most of the scripts in this directory can be used independently to do file updates across all modules.
6-
They are also used and tested by `bootstrap.sh`.
6+
They are also used and tested by `merge_repository.sh`.
77

8-
## Generating the monorepo
8+
## Merge repository into the monorepo
99

10-
Built by running [bootstrap.sh](bootstrap.sh).
10+
Built by running [merge_repository.sh](merge_repository.sh).
1111

12-
The script creates a new Git repository in `monorepo/google-cloud-java`.
12+
The script creates a new Git repository in `monorepo/google-cloud-java` by merging
13+
the repositories in the input.
1314
After running the script locally, you can `cd` into the generated repository and build the project.
1415

1516
```shell
Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ cd "$(dirname "$0")"
1212
rm -rf monorepo
1313
mkdir monorepo
1414

15-
cp bootstrap.sh monorepo
15+
cp merge_repository.sh monorepo
1616
cp repos.txt monorepo
1717

1818
cd monorepo
1919

2020
git clone https://github.com/newren/git-filter-repo.git
2121
export PATH=$PATH:`pwd`/git-filter-repo
2222

23-
mkdir google-cloud-java
23+
merged_repository=google-cloud-java-merged
24+
git clone https://github.com/googleapis/google-cloud-java "${merged_repository}"
2425

25-
cd google-cloud-java
26-
git init -b main
26+
cd "${merged_repository}"
2727

2828
cat ../repos.txt | while read service
2929
do
@@ -51,7 +51,7 @@ do
5151
git config --add secrets.allowed "dest.*src"
5252
git commit -am "chore: setup owlbot configuration"
5353

54-
cd ../google-cloud-java
54+
cd "../${merged_repository}"
5555
git remote add ${service} ../${service}
5656
git config --add secrets.allowed "dest.*src"
5757
git fetch ${service} #--tags
@@ -60,7 +60,7 @@ do
6060
rm -rf ../${service}
6161
done
6262

63-
# cwd: monorepo/google-cloud-java
63+
# cwd: monorepo/google-cloud-java-merged
6464
echo "Working directory: $(pwd)"
6565

6666
cp -R ../../../google-cloud-jar-parent google-cloud-jar-parent
@@ -72,52 +72,58 @@ git commit -m 'chore: add template files'
7272
../../generate_root_pom.sh
7373

7474
git add pom.xml
75-
git commit -am 'chore: create aggregator pom'
75+
git commit -am 'chore: create aggregator pom' --allow-empty
7676

7777
# Point modules poms and BOMs to the aggregator pom as parent
7878
bash ../../set_parent_pom.sh
7979

8080
git add --all
81-
git commit -am 'chore: point modules to the aggregator pom as parent'
81+
git commit -am 'chore: point modules to the aggregator pom as parent' \
82+
--allow-empty
8283

8384
../../consolidate_config.sh
8485

8586
git add --all
86-
git commit -am 'chore: consolidate config to parent'
87+
git commit -am 'chore: consolidate config to parent' \
88+
--allow-empty
8789

8890
../../generate_gapic_bom.sh
8991

9092
# add the gapic bom module to root pom.xml by regenerating aggregator pom
9193
../../generate_root_pom.sh
9294

9395
git add gapic-libraries-bom/pom.xml
94-
git commit -am 'chore: create gapic-libraries-bom'
96+
git commit -am 'chore: create gapic-libraries-bom' \
97+
--allow-empty
9598

9699
cp ../../gapic_bom_versions.txt gapic-libraries-bom/versions.txt
97100

98101
../../delete_non_generated_samples.sh
99102

100103
git add --all
101-
git commit -am 'chore: delete non-auto-generated samples'
104+
git commit -am 'chore: delete non-auto-generated samples' \
105+
--allow-empty
102106

103107
../../generate_root_versions_txt.sh
104108
../../update_versions.sh -s
105109
../../apply_current_versions.sh
106110

107111
git add --all
108-
git commit -am 'chore: update versions to latest in maven'
112+
git commit -am 'chore: update versions to latest in maven' \
113+
--allow-empty
109114

110115
../../update_owlbot_postprocessor_config.sh
111116

112117
git add --all
113-
git commit -am 'chore: remove and disable owlbot postprocessor templates'
118+
git commit -am 'chore: remove and disable owlbot postprocessor templates' \
119+
--allow-empty
114120

115121
for F in `find . -maxdepth 2 -name '.OwlBot.yaml'`; do sh ../../set_owlbot_config.sh $F; done
116122
git commit -am 'chore: set owlbot copy config' --allow-empty
117123

118124
# create a monorepo/diff repo
119125
cd ..
120-
cp -R google-cloud-java split
126+
cp -R "${merged_repository}" split
121127
rm -rf split/.git
122128
git clone -b main --single-branch https://github.com/googleapis/google-cloud-java.git shadow
123129
cp -R shadow/.git split/.git

generation/repos.txt

Lines changed: 1 addition & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -1,132 +1 @@
1-
java-accessapproval
2-
java-accesscontextmanager
3-
java-aiplatform
4-
java-analytics-admin
5-
java-analytics-data
6-
java-api-gateway
7-
java-apigee-connect
8-
java-apigee-registry
9-
java-apikeys
10-
java-appengine-admin
11-
java-area120-tables
12-
java-artifact-registry
13-
java-asset
14-
java-assured-workloads
15-
java-automl
16-
java-bare-metal-solution
17-
java-batch
18-
java-beyondcorp-appconnections
19-
java-beyondcorp-appconnectors
20-
java-beyondcorp-appgateways
21-
java-beyondcorp-clientconnectorservices
22-
java-beyondcorp-clientgateways
23-
java-bigquery-data-exchange
24-
java-bigqueryconnection
25-
java-bigquerydatatransfer
26-
java-bigquerymigration
27-
java-bigqueryreservation
28-
java-billing
29-
java-billingbudgets
30-
java-binary-authorization
31-
java-certificate-manager
32-
java-channel
33-
java-cloudbuild
34-
java-cloudcommerceconsumerprocurement
35-
java-compute
36-
java-contact-center-insights
37-
java-container
38-
java-containeranalysis
39-
java-data-fusion
40-
java-datacatalog
41-
java-dataflow
42-
java-dataform
43-
java-datalabeling
44-
java-dataplex
45-
java-dataproc
46-
java-dataproc-metastore
47-
java-datastream
48-
java-debugger-client
49-
java-deploy
50-
java-dialogflow
51-
java-dialogflow-cx
52-
java-dlp
53-
java-dms
54-
java-dns
55-
java-document-ai
56-
java-domains
57-
java-errorreporting
58-
java-essential-contacts
59-
java-eventarc
60-
java-eventarc-publishing
61-
java-filestore
62-
java-functions
63-
java-game-servers
64-
java-gke-backup
65-
java-gke-connect-gateway
66-
java-gke-multi-cloud
67-
java-gkehub
68-
java-grafeas
69-
java-gsuite-addons
70-
java-iam-admin
71-
java-iamcredentials
72-
java-ids
73-
java-iot
74-
java-kms
75-
java-language
76-
java-life-sciences
77-
java-managed-identities
78-
java-mediatranslation
79-
java-memcache
80-
java-monitoring
81-
java-monitoring-dashboards
82-
java-network-management
83-
java-network-security
84-
java-networkconnectivity
85-
java-notebooks
86-
java-notification
87-
java-optimization
88-
java-orchestration-airflow
89-
java-orgpolicy
90-
java-os-config
91-
java-os-login
92-
java-phishingprotection
93-
java-policy-troubleshooter
94-
java-private-catalog
95-
java-profiler
96-
java-recaptchaenterprise
97-
java-recommendations-ai
98-
java-recommender
99-
java-redis
100-
java-resource-settings
101-
java-resourcemanager
102-
java-retail
103-
java-run
104-
java-scheduler
105-
java-secretmanager
106-
java-security-private-ca
107-
java-securitycenter
108-
java-securitycenter-settings
109-
java-service-control
110-
java-service-management
111-
java-service-usage
112-
java-servicedirectory
113-
java-shell
114-
java-speech
115-
java-storage-transfer
116-
java-talent
117-
java-tasks
118-
java-texttospeech
119-
java-tpu
120-
java-trace
121-
java-translate
122-
java-video-intelligence
123-
java-video-live-stream
124-
java-video-stitcher
125-
java-video-transcoder
126-
java-vision
127-
java-vmmigration
128-
java-vpcaccess
129-
java-webrisk
130-
java-websecurityscanner
131-
java-workflow-executions
132-
java-workflows
1+
java-logging

0 commit comments

Comments
 (0)