-
Notifications
You must be signed in to change notification settings - Fork 48
Cloud Tools for Eclipse Release Instructions (old)
Currently, we follow a fairly manual process. We want to automate this and make it more robust.
-
Update the version number in these three files:
features/com.google.cloud.tools.eclipse.suite.feature/pom.xml
features/com.google.cloud.tools.eclipse.suite.feature/feature.xml
gcp-repo/metadata.product
Commit/push/review/merge. See #3003 for an example of the necessary changes. Make sure you delete the branch after merging, both locally and remotely, to avoid potential branch/tag naming conflicts.
-
Tag the release in github. This is just for source code. We don't publish the binaries or update site from Github. The tag name should be something like v1.0.1A. If we've had to do this multiple times before releasing we go v1.0.1B, v1.0.1C, and so forth.
-
In your local client, checkout the master branch:
git checkout master
-
Sync with origin/master:
git pull
-
Checkout the tag:
git checkout <tag>
. -
Use
git status
to verify there are no local changes. Make sure you see "nothing to commit, working directory clean". -
Drop the
.qualifier
ingcp-repo/metadata.product
(e.g.,version="1.3.0.qualifier"
toversion="1.3.0"
) and use the exact release version (rationale, rationale (#2211)). Do not commit.git status
should show thatgcp-repo/metadata.product
is the only file that changed. -
Build the binary with
xvfb-run mvn -Doauth.client.id=<OAuth client ID> \ -Doauth.client.secret=<OAuth client secret> \ -Dga.tracking.id=<Analytics tracking ID> \ clean verify
- Close any open Eclipse instance in case its auto-build interferes with the Maven build.
- Running with
xvfb-run
is optional but highly recommended. Without it, test Eclipse instances will pop up on the monitor during tests, and integration tests fail easily if such test Eclipse instances lose focus. - Builds are much faster and less flaky on Linux than other platforms.
- For the details about the system properties above, see Section Compile Time Constant Injection.
-
Run
gcloud auth login
in a terminal and login with your google.com credential. -
gcloud config set project google.com:gcloud-for-eclipse-testing
-
Delete everything in the gcloud-for-eclipse-testing bucket.
gsutil -m rm gs://gcloud-for-eclipse-testing/**
-
With gsutil upload the following files and folders you just built into the gcloud-for-eclipse-testing bucket in the the gcloud-for-eclipse-testing project:
gsutil cp gcp-repo/metadata.product gs://gcloud-for-eclipse-testing gsutil cp gcp-repo/metadata.p2.inf gs://gcloud-for-eclipse-testing gsutil cp gcp-repo/target/repository/index.html gs://gcloud-for-eclipse-testing gsutil cp gcp-repo/target/repository/artifacts.jar gs://gcloud-for-eclipse-testing gsutil cp gcp-repo/target/repository/content.jar gs://gcloud-for-eclipse-testing gsutil -m cp -r gcp-repo/target/repository/features gs://gcloud-for-eclipse-testing gsutil -m cp -r gcp-repo/target/repository/plugins gs://gcloud-for-eclipse-testing
-
(Optional) If you want to send out a testing link before signing the binaries you can share these files publicly and send the public link to trusted testers or team members.
gsutil -m acl ch -r -u AllUsers:R gs://gcloud-for-eclipse-testing
-
Grant kokoro read permissions to your newly uploaded files:
gsutil -m acl ch -r -u kokoro-dedicated@system.gserviceaccount.com:READ gs://gcloud-for-eclipse-testing
-
Run kokoro "Build with parameters" on the google-cloud-eclipse project using your release branch (which is the tag name you created earlier).
-
Wait for kokoro to complete successfully. (This doesn't usually take long.)
-
Run
release/release_after_kokoro.sh
. (You need to set$ECLIPSE_HOME
to your local Eclipse installation directory to run it.)- When asked to enter the Kokoro GCS bucket URL, copy and paste the URL of the GCS bucket link found on the Kokoro build page.
- For the details about what the script does, consult the section Steps Covered by
release/release_after_kokoro.sh
.
-
Verify that you can install the plugin into Eclipse from the public link. This looks like https://storage.googleapis.com/cloud-tools-for-eclipse/*version*/. Links that begin with https://storage.cloud.google.com/ do not work.
-
Update Lorry.
- Search for "google-cloud-eclipse".
- Clone the approved version of the link.
- If it's a beta release, update the /eclipse/google-cloud-eclipse/beta URL to point to the new version.
- If it's a stable release, update the /eclipse/google-cloud-eclipse/stable URL to point to the new version.
- Update the target in the cloned entry.
- Update the embargo date in the cloned entry. Generally, we only release Monday-Thursday between 10:00 AM and 3:00 PM so someone will be around if the release goes sideways.
-
Send the direct URL of the update site and the URL of the newly created Lorry entry to the teammate who will follow the qualification process. Assuming no serious bugs are uncovered during testing, this teammate should approve the Lorry entry.
-
Find a version of Eclipse with the old version installed and Help > Check for Updates to verify the new version is found.
-
Make sure you can install from the update site into a clean instance of Eclipse.
End User Documentation
- Installation and setup
- Creating a new project
- Running and debugging
- Deploying
- Cloud Tools for Eclipse Tutorial
- Migration from the Google Plugin for Eclipse (GPE)
Contributor Docs