mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

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
72 lines
2.8 KiB
Markdown
72 lines
2.8 KiB
Markdown
# 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. |