diff --git a/README.md b/README.md index fb9bb38..1edee3e 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ A runnable reference app for QQQ 4.1 with two profiles: `core` uses local storage and embedded Artemis; `full` adds external storage, RabbitMQ, OpenSearch quick search, Keycloak, Mailpit, and the included qbits. It is a local demo under construction while QQQ 4.1 finishes. See the [design](docs/design.md), [plan](docs/plan.md), and [epic #1](https://github.com/QRun-IO/qqq-all/issues/1). +The stack pins public Next **1.0.0-RC.8** for application testing. The owner approved an RC carrying its documented Firefox/WebKit/tablet failures, report/query and input parity gaps, sub-path hosting, real Google Drive verification, and visual-approval limitations. These remain open; passing qqq-all HTTP smoke checks do not establish browser parity or GA acceptance. See the [RC8 scope and approval](docs/release.md#next-rc8-integration). + ## Quick start Install Java 21 and Maven, then build the app and its BOM from the repository root: diff --git a/docs/release.md b/docs/release.md index 7f038a0..c245d92 100644 --- a/docs/release.md +++ b/docs/release.md @@ -2,10 +2,16 @@ This procedure prepares a release; this repository currently remains on `4.1.0-SNAPSHOT`. The [manual release workflow](../.github/workflows/release.yml) only publishes the versioned GHCR image and a GitHub release containing `compose.yaml`. It does **not** deploy Maven artifacts or create a tag. Publication is authorized once the release gates pass. Keep the workflow disabled until Apache-2.0 alignment, public artifact verification and GHCR visibility are complete. +## Next RC8 integration + +The stack BOM explicitly pins public `com.kingsrook.qqq:qqq-frontend-next:1.0.0-RC.8`, independently of the framework snapshot's dashboard pin. Its [release source](https://github.com/QRun-IO/qqq-frontend-next/commit/cd3d4731d1910e68e994da9c74a8c28a2f1b7c1c) is `cd3d4731d1910e68e994da9c74a8c28a2f1b7c1c`; the public JAR SHA-256 is `238c9ae80beea336717be759219f0d65a1d614e8e7d6a145a16374cc392a73a1`. The owner [approved a QQQ RC with these documented limitations](https://github.com/QRun-IO/qqq/issues/798#issuecomment-5930629521): Firefox/WebKit/tablet failures, incomplete report/query and input parity, sub-path hosting, real Google Drive verification, and visual approval. See the [RC8 release notes](https://github.com/QRun-IO/qqq-frontend-next/releases/tag/v1.0.0-RC.8) for the retained failures and incomplete runs. + +This approval applies to exact RC8 and does not turn those limitations into passing acceptance. The successor contracts `core.widget.data_bag_viewer`, `core.widget.pivot_table_setup`, `core.widget.filter_and_columns_setup`, `core.widget.row_builder`, `core.widget.script_viewer`, `core.widget.blocks`, and `dashboard.acceptance` remain pending and excluded from verified counts, with Next 1.0 final / QQQ 4.1 GA as the follow-up target. qqq-all's package and HTTP smoke checks verify integration and asset delivery, not browser parity. This repository remains a snapshot integration build; the separate GA procedure below and other release/security/public-consumer gates remain in force. + ## Prerequisites and Maven artifacts 1. QQQ must publish a non-draft, non-prerelease `v4.1.0` GitHub release with ESB and the Next dashboard included. Release `qbit-build-parent` against the 4.1 BOM, then publish all eight qbits against that parent. This work occurs in their own repositories. -2. In a separate reviewed change to this repository, set root `revision` and the BOM's `qqq.version` to `4.1.0`; pin each qbit to a published non-snapshot version. Run `mvn -B -ntp verify`, the core and full smoke checks, and review the resolved dependencies and effective POMs. Do not use `-Drevision=4.1.0` against a snapshot source tree as a substitute for reviewed pins. +2. In a separate reviewed change to this repository, set root `revision` and the BOM's `qqq.version` to `4.1.0`; replace the explicit Next RC8 pin with the accepted Next 1.0 final version and pin each qbit to a published non-snapshot version. Run `mvn -B -ntp verify`, the core and full smoke checks, and review the resolved dependencies and effective POMs. Do not use `-Drevision=4.1.0` against a snapshot source tree as a substitute for reviewed pins. 3. Stage **both** `com.kingsrook.qqq:qqq-all-parent:4.1.0` and `com.kingsrook.qqq:qqq-all-bom:4.1.0` using the opt-in `release-central` Maven profile. The profile runs the release-version/dependency checks, signs the POMs with GPG, and uses the Central Publishing Maven plugin with `autoPublish=false`. It is only for the parent and BOM reactor; the app and BOM test JAR are excluded. POM packaging needs no source or Javadoc JARs. Configure the owner's `central` Portal user token in a private Maven `settings.xml` and a trusted GPG key outside the repository. Do not place credentials in this project or CI. ```bash diff --git a/qqq-all-bom-test/src/test/java/com/kingsrook/qqq/all/bom/StackBomTest.java b/qqq-all-bom-test/src/test/java/com/kingsrook/qqq/all/bom/StackBomTest.java index 273e31c..0e0124d 100644 --- a/qqq-all-bom-test/src/test/java/com/kingsrook/qqq/all/bom/StackBomTest.java +++ b/qqq-all-bom-test/src/test/java/com/kingsrook/qqq/all/bom/StackBomTest.java @@ -97,6 +97,7 @@ class StackBomTest List missing = required.stream().filter(key -> !managedVersions.containsKey(key)).toList(); assertEquals(List.of(), missing, "Artifacts the stack BOM does not manage"); assertEquals("3.9.0", managedVersions.get("com.rabbitmq.jms:rabbitmq-jms")); + assertEquals("1.0.0-RC.8", managedVersions.get("com.kingsrook.qqq:qqq-frontend-next")); } diff --git a/qqq-all-bom/pom.xml b/qqq-all-bom/pom.xml index 5b36bf9..5152769 100644 --- a/qqq-all-bom/pom.xml +++ b/qqq-all-bom/pom.xml @@ -18,6 +18,7 @@ 4.1.0-SNAPSHOT + 1.0.0-RC.8 0.2.1-SNAPSHOT @@ -77,7 +78,7 @@ - + com.kingsrook.qqq qqq-bom-pom @@ -86,6 +87,13 @@ import + + + com.kingsrook.qqq + qqq-frontend-next + ${qqq-frontend-next.version} + + com.kingsrook.qbits