Added Docs For Updating to a New Java Version in CI (#166159)
Added docs for updating to a new Java version in CI. Also added instructions on uploading new Java version pacakges to CIPD. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
This commit is contained in:
parent
30e53b0d9c
commit
a2cb910f83
@ -66,6 +66,19 @@ In the engine, you may follow [Upgrading Engine's Android API version](https://g
|
||||
- Example Framework PR: <https://github.com/flutter/flutter/pull/152498>.
|
||||
- Example Engine PR: <https://github.com/flutter/engine/pull/54186>.
|
||||
|
||||
##### Update Java Version in CI (Only for Java LTS Release)
|
||||
|
||||
Every few years Java releases a new Java LTS (long-term support) version, which typically
|
||||
becomes the industry standard for a few years. As users adopt the new Java LTS version, either
|
||||
directly or as part of the latest Android SDK, we want to update our CI to test against the new Java version
|
||||
to identify and address potential compatibility issues.
|
||||
|
||||
Upload the new Java Version package to CIPD following the instructions [here](/docs/platforms/android/Uploading-New-Java-Version-to-CIPD.md).
|
||||
|
||||
Update the usages of the current Java version to the new Java version in CI.
|
||||
|
||||
- Example PR: <https://github.com/flutter/flutter/pull/165210>.
|
||||
|
||||
#### Update documentation
|
||||
|
||||
Update documentation page to indicate the new API is tested
|
||||
|
72
docs/platforms/android/Uploading-New-Java-Version-to-CIPD.md
Normal file
72
docs/platforms/android/Uploading-New-Java-Version-to-CIPD.md
Normal file
@ -0,0 +1,72 @@
|
||||
# Uploading New Java Version to CIPD
|
||||
|
||||
We store the Java Version package on CIPD for use on CI. For more information read the internal
|
||||
docs [here](http://go/luci-cipd).
|
||||
|
||||
Some links in the instructions below are Google-internal.
|
||||
|
||||
## Steps
|
||||
|
||||
### Request Access to CIPD
|
||||
|
||||
1. Request temporary write access to upload packages to CIPD
|
||||
via http://go/flutter-luci-cipd#requesting-write-read-access-to-cipd-packages.
|
||||
|
||||
2. Wait about 5-30 minutes for access rights to sync. To check if your rights have synced, see if
|
||||
you are a member of this
|
||||
group [here](https://chrome-infra-auth.appspot.com/auth/groups/google%2Fflutter-cipd-writers@twosync.google.com).
|
||||
|
||||
### Download the New Java Version and Set Up for CIPD Upload
|
||||
|
||||
3. Download the new Java version via OpenJDK (not Oracle's Java for licensing/legal
|
||||
reasons) [here](https://openjdk.org/projects/jdk/) for the following platforms:
|
||||
linux-amd64(aka x64), mac-arm64, mac-amd64, and windows-amd64.
|
||||
|
||||
4. Download the latest Java version from
|
||||
CIPD [here](https://chrome-infra-packages.appspot.com/p/flutter/java/openjdk) for the following
|
||||
platforms: linux-amd64(aka x64), mac-arm64, mac-amd64, and windows-amd64.
|
||||
|
||||
5. Unzip the new Java version and the latest version.
|
||||
|
||||
6. Add a file titled `openjdk.cipd.yaml` at the top-level directory. Copy the contents below into
|
||||
the file and replace contents in <> for your new Java version package:
|
||||
```sh
|
||||
package: flutter/java/openjdk/<platform-architecture>
|
||||
description: OpenJDK <java_version> for <platform>
|
||||
install_mode: copy
|
||||
data:
|
||||
# This directory contains Java <platform-architecture> to be used in automated tests.
|
||||
- dir: .
|
||||
```
|
||||
|
||||
Note: `linux-amd64` is an example of `<platform-architecture>`
|
||||
|
||||
7. Ensure the file/directory structure of the new Java version package to be uploaded is the same as
|
||||
the structure at the top-level of the latest from CIPD.
|
||||
This involves potentially deleting contents of the top-level directory.
|
||||
|
||||
### Upload to CIPD
|
||||
|
||||
8. To run CIPD commands, please run this command:
|
||||
|
||||
```sh
|
||||
cipd auth-login
|
||||
```
|
||||
|
||||
9. To upload the new Java version to CIPD, please run this command:
|
||||
|
||||
```sh
|
||||
cipd create -in <path_to_new_java_version_package> -name flutter/java/openjdk/<platform-architecture> -tag version:<java_version>
|
||||
```
|
||||
|
||||
Note: Please check you have the correct name, tags, package structure before uploading to CIPD
|
||||
because deleting the package on CIPD is difficult.
|
||||
|
||||
10. Check to see if your new Java version has successfully uploaded to CIPD by clicking on the
|
||||
relevant platform [here](https://chrome-infra-packages.appspot.com/p/flutter/java/openjdk).
|
||||
|
||||
### Troubleshooting CIPD (Optional)
|
||||
|
||||
If you accidentally uploaded the incorrect package to CIPD, you can delete the tag using these
|
||||
instructions [here](go/flutter-luci-playbook#remove-duplicated-cipd-tags).
|
||||
Then, re-upload the correct Java version pacakge to CIPD.
|
Loading…
x
Reference in New Issue
Block a user