-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft: JPMS Support #14
base: master
Are you sure you want to change the base?
Commits on Apr 15, 2024
-
chore(ci): apply hardening to ci jobs
- chore: apply 'Harden Runner' auditing to all ci tasks - chore: apply `persist-credentials: false` to checkout tasks - chore: publish dependency graph and add dependency review check - chore: add codeql scan job (temp) Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.1. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3.6.0...b4ffde6) Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 2.5.1 to 4.1.3. - [Release notes](https://github.com/actions/dependency-review-action/releases) - [Commits](actions/dependency-review-action@0efb1d1...9129d7d) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major - dependency-name: actions/dependency-review-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: StepSecurity Bot <[email protected]> Signed-off-by: Sam Gammon <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for ac7c5c7 - Browse repository at this point
Copy the full SHA ac7c5c7View commit details -
chore(ci): refactor into reusable workflows
This change refactors the main CI workflow into two new workflows, `on.pr.yml` and `on.push.yml`, which each call into the exiting CI job as a reusable workflow. This has the nice benefit of putting all tests, checks, builds, etc., on one screen during development on GitHub, allows customization of the PR vs. push flow, and yet keeps behavior fully consistent between the two. - chore: move ci jobs to `workflow_call` trigger - chore: add entrypoint jobs for PR and Push events - chore: cleanup permissions and dispatch checks/tests Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2bee2a2 - Browse repository at this point
Copy the full SHA 2bee2a2View commit details -
chore(ci): switch to enforced hardening mode
This changeset switches the StepSecurity hardening action to enforced mode, where previously it was running in `audit` mode. Now, audit logs have been gathered and it is time to seal off the list of accessible network endpoints for a given job. - chore: gather and apply network endpoints for each job - chore: move to `block` mode for `egress-policy` in `step-security/harden-runner` Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 57d6114 - Browse repository at this point
Copy the full SHA 57d6114View commit details -
feat(ci): slsa provenance support
This changeset adds SLSA 3+ provenance support to the workflow. The main CI run has now been split into two: `ci.build.yml`, which only builds the library and is provenance-capable, and `ci.test.yml`, which is the previous CI logic. The regular build logic is applied only on push, and can be applied on PRs too, with publish of provenance material turned off. The test suite is invoked from PRs. The workflows have been split into build/test phases to avoid publishing provenance data and GitHub artifacts for build matrix outputs. JARs are uniform across OS targets, so there is no need to gather and publish for more than Ubuntu. - feat: add slsa support to build workflow - chore: split `test` into `build` and `test` workflows - chore: use new workflows (build/test) from push/pr triggers Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9c737bf - Browse repository at this point
Copy the full SHA 9c737bfView commit details -
chore(ci): build with
--strict-checksums
Fails the build if any downloaded dependencies fail their checksum verification. - chore: add `--strict-checksums` flag to `mvnw` calls in ci
Configuration menu - View commit details
-
Copy full SHA for a785edf - Browse repository at this point
Copy the full SHA a785edfView commit details -
chore(ci): build avoidance (javadoc, gpg)
- chore: don't rebuild javadoc during tests in ci - chore: don't run with gpg enabled in ci Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b7fd83c - Browse repository at this point
Copy the full SHA b7fd83cView commit details -
chore(build): parameterize deploy repositories
Adds two build parameters - `publishing.repository.snapshots`: Snapshot repo to deploy to - `publishing.repository.releases`: Releases repo to deploy to Both default to their current values, Sonatype. This small inert change allows a fork to easily publish to a different repository without resorting to a code change. Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0c3ea61 - Browse repository at this point
Copy the full SHA 0c3ea61View commit details -
feat(build): sigstore publishing plugin
This changeset adds the Maven Sigstore plugin for use during publishing to Sonatype and other public repositories. - chore: add sigstore plugin to build Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9bb5597 - Browse repository at this point
Copy the full SHA 9bb5597View commit details -
chore(ci): document gha workflows
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8beadb8 - Browse repository at this point
Copy the full SHA 8beadb8View commit details -
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 35d8a1d - Browse repository at this point
Copy the full SHA 35d8a1dView commit details -
feat(jpms): add
module-info
definition for guavaThis changeset adds full support for modular Java builds in Guava, and in libraries which depend on Guava. The Guava JAR for JRE now structures as a Multi-Release JAR, with a module definition situated in `META-INF/versions/9/`. Guava remains compatible with JDK 8. - feat: add `module-info.java` to `guava` module - chore: update `guava` to build MRJAR - chore: adjust dev version → `1.0-HEAD-[jre|android]-SNAPSHOT` - chore: upgrade maven compiler plugin → `3.12.1` Fixes and closes google#2970 Relates-To: elide-dev/jpms#1 Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7fe7277 - Browse repository at this point
Copy the full SHA 7fe7277View commit details -
fixup! version update misalignment
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7178b96 - Browse repository at this point
Copy the full SHA 7178b96View commit details -
fixup! working bundle without duplicated classes
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 813a8a0 - Browse repository at this point
Copy the full SHA 813a8a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27b60d0 - Browse repository at this point
Copy the full SHA 27b60d0View commit details -
fixup! compiler args for jdk11+
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0dfe0f8 - Browse repository at this point
Copy the full SHA 0dfe0f8View commit details -
fix: generate checksums at
install
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9bdae05 - Browse repository at this point
Copy the full SHA 9bdae05View commit details -
chore: cleanup suppressions in
Striped64.java
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f098e63 - Browse repository at this point
Copy the full SHA f098e63View commit details -
chore(labs): improve build and test speed
This changeset optimizes the Guava build significantly by enabling parallel build and test features supported by Maven. With these flags enabled, only a few tests exhibit flaky behavior; applying a sensible count of test retries (3) solves the problem. As a result, the testsuite can now be executed often, because it takes about 2 minutes to run. Building is also much faster. After benchmarking different configurations, 2-threads-per-core and 2-test-forks-per-core seems optimal: ``` [INFO] Guava Maven Parent ..................... SUCCESS [ 0.121 s] [INFO] Guava: Google Core Libraries for Java .. SUCCESS [ 9.681 s] [INFO] Guava BOM .............................. SUCCESS [ 0.120 s] [INFO] Guava Testing Library .................. SUCCESS [ 47.883 s] [INFO] Guava Unit Tests ....................... SUCCESS [01:57 min] <-- [INFO] Guava GWT compatible libs .............. SUCCESS [ 6.909 s] ``` When built and executed serially: ``` [INFO] Guava Maven Parent ..................... SUCCESS [ 0.129 s] [INFO] Guava: Google Core Libraries for Java .. SUCCESS [ 15.653 s] [INFO] Guava BOM .............................. SUCCESS [ 0.064 s] [INFO] Guava Testing Library .................. SUCCESS [01:26 min] [INFO] Guava Unit Tests ....................... SUCCESS [06:26 min] <-- [INFO] Guava GWT compatible libs .............. SUCCESS [ 11.092 s] ``` Benchmark hardware: - Apple M2 Max, 96GB RAM - macOS Sonoma 14.3.1 - GraalVM CE JVM 21.0.2 ``` openjdk version "21.0.2" 2024-01-16 OpenJDK Runtime Environment GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30) OpenJDK 64-Bit Server VM GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30, mixed mode, sharing) ``` - chore: enable parallel build - chore: enable parallel test execution - chore: enable parallel gc for maven - chore: tune tiered compilation for maven - chore: tune thread count for maven - fix: enable test retries (max = 3) for parallel-flaky tests Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ee711e1 - Browse repository at this point
Copy the full SHA ee711e1View commit details -
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9fc8648 - Browse repository at this point
Copy the full SHA 9fc8648View commit details -
fixup! conditional spdx, suppress spdx for irrelevant ci jobs
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a51c9be - Browse repository at this point
Copy the full SHA a51c9beView commit details -
fixup! skip gpg in test (another)
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 672070c - Browse repository at this point
Copy the full SHA 672070cView commit details -
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5f2d9a0 - Browse repository at this point
Copy the full SHA 5f2d9a0View commit details -
feat(jpms): modularize
failureaccess
+testlib
This change adds a `module-info.java` definition for the ancillary `failureaccess` and `testlib` libraries. Test Lib is kept as an `open module` so that it can be reflectively introspected. - feat(jpms): add `module-info.java` to `failureaccess` - feat(jpms): add `module-info.java` to `testlib` - fix: necessary fixes to get testsuite running on modular java Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0850496 - Browse repository at this point
Copy the full SHA 0850496View commit details -
This changeset generally fixes all Javadoc warnings at JVM 21, and upgrades the LTS Javadoc release to 21. Slight code changes have been made to fix Javadoc issues; no logic has changed. - fix: various javadoc flag fixes - fix: deprecations and other javadoc warnings - chore: upgrade javadoc plugin to latest - chore: upgrade javadoc java spec version → 21 Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f305713 - Browse repository at this point
Copy the full SHA f305713View commit details -
fixup! cleanup of redundant test args
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1164e15 - Browse repository at this point
Copy the full SHA 1164e15View commit details -
chore: add coverage via
maven-jacoco-plugin
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5ec3d51 - Browse repository at this point
Copy the full SHA 5ec3d51View commit details -
fixup! wrapper sha256 breaks windows build
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ea03b94 - Browse repository at this point
Copy the full SHA ea03b94View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8f17013 - Browse repository at this point
Copy the full SHA 8f17013View commit details -
fixup!
-Xlint:-removal
on jdk8Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7b8b21d - Browse repository at this point
Copy the full SHA 7b8b21dView commit details -
fixup! version mappings in guava module
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f903cd5 - Browse repository at this point
Copy the full SHA f903cd5View commit details -
chore: move benchmarks to dedicated module
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a5e2c92 - Browse repository at this point
Copy the full SHA a5e2c92View commit details -
fixup! drop
requires java.base
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 474b0c7 - Browse repository at this point
Copy the full SHA 474b0c7View commit details -
fixup! don't export
.thirdparty.publicsuffix
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4c46bdb - Browse repository at this point
Copy the full SHA 4c46bdbView commit details -
fixup! move to
requires static jdk.unsupported
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 531a583 - Browse repository at this point
Copy the full SHA 531a583View commit details -
fixup! release version for
failureaccess
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b076a30 - Browse repository at this point
Copy the full SHA b076a30View commit details -
fixup! property for
failureaccess.version
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8ad65d9 - Browse repository at this point
Copy the full SHA 8ad65d9View commit details -
fixup!
failureaccess
needs relative path to parent pomSigned-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d24b5f9 - Browse repository at this point
Copy the full SHA d24b5f9View commit details -
fixup! failureaccess mrjar structure, bundle plugin
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 49e26a7 - Browse repository at this point
Copy the full SHA 49e26a7View commit details -
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b9897a4 - Browse repository at this point
Copy the full SHA b9897a4View commit details -
fixup! separate sigstore profile
Signed-off-by: Sam Gammon <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 135b2b8 - Browse repository at this point
Copy the full SHA 135b2b8View commit details