Summarize all documentation updates across the repository to align with modern GKE, Cloud SQL Proxy v2, standard EPP fee v1.0, and Postgres database environments. Key Updates: - Prerequisites: Bump Java requirement to Java 25. - Architecture & Scaling: Document GKE workloads, Cloud Tasks queues, and scheduled tasks. Replace App Engine references with GKE deployment restart commands (kubectl rollout restart). - Configuration: Update Cloud SQL Proxy instructions to v2, fix keyring verification commands, and document IAP configuration. - Escrow (RDE/BRDA): Fix manual generation and download procedures to match the Dataflow job ID folder structure, and correct deposit encryption/verification command parameters. - Monitoring: Correct metric names and expand the documented metrics list with caching, locking, and reserved list metrics. - Fixes: Standardize lists formatting across markdown files, fix broken webdriver links, and resolve various typos. - Cleanup: Remove leftover cloud scheduler configurations for the deleted wipeOutContactHistoryPii task, and update ICANN reporting documentation to reflect open-sourced DNS query coordinator. TAG=agy CONV=88271e71-e272-40e0-85f8-a075a423b7c2
1.7 KiB
Gradle Build Documentation
Initial Setup
Install Gradle on your local host, then run the following commands from this directory:
# One-time command to add gradle wrapper:
gradle wrapper
# Start the build:
./gradlew build
From now on, use './gradlew build' or './gradlew test' to build and test your changes.
To upgrade to a new Gradle version for this project, use:
gradle wrapper --gradle-version version-number
Deploy to GCP Test Projects
If your configuration is up to date with the proper test projects configured, you can deploy to GCP through the Gradle command line.
Use the Gradle task deployNomulus to build and deploy to a GCP test project
providing the test project as an argument, e.g.
./gradlew deployNomulus -Penvironment=alpha
Note: Deploying to GCP requires Docker to be running locally (to build the
Nomulus container image) and gcloud credentials to be configured with access
to the target GCP project.
Notable Issues
Test suites (RdeTestSuite and TmchTestSuite) are ignored to avoid duplicate execution of tests. Neither suite performs any shared test setup routine, so it is easier to exclude the suite classes than individual test classes. This is the reason why all test tasks in the :core project contain the exclude pattern '"/TestCase.", "/TestSuite."'
Some Nomulus tests are not hermetic: they modify global state, but do not clean
up on completion. This becomes a problem with Gradle. In the beginning we forced
Gradle to run every test class in a new process, and incurred heavy overheads.
Since then, we have fixed some tests, and manged to divide all tests into two
suites that do not have intra-suite conflicts (fragileTest and standardTest)