tiagobento commented on code in PR #7123:
URL: https://github.com/apache/incubator-kie/pull/7123#discussion_r4360257221


##########
docs/RELEASING.md:
##########
@@ -0,0 +1,106 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Apache KIE Release Guide
+
+The canonical release documentation and single source of truth for the Apache 
KIE release procedure is maintained on the Apache KIE community website:
+
+👉 **[Apache KIE Release 
Procedure](https://kie.apache.org/community/devs/release-procedure)** (hosted 
in the 
[`apache/incubator-kie-website`](https://github.com/apache/incubator-kie-website)
 repository under `docs/community/devs/release-procedure.md`).
+
+---
+
+## Who Runs These Scripts?
+
+The release scripts in this repository are intended for **Apache KIE Release 
Managers** — PMC members or designated committers who have:
+
+- Write access to the `apache/incubator-kie` repository (push tags to 
`[email protected]:apache/incubator-kie.git`).
+- An ASF Nexus account with `kie` staging privileges (username/password in 
Maven `settings.xml`).
+- A GPG signing key registered with the [Apache KEYS 
file](https://downloads.apache.org/kie/KEYS).
+
+In normal operation the scripts are invoked by the **Jenkins CI pipeline** 
(`.ci/jenkins/project/Jenkinsfile.103xplus.release`) using managed credentials. 
 Release managers may also run them locally for testing or emergency releases.
+
+---
+
+## Credentials Required
+
+| Credential | Where it lives | Used by |
+|---|---|---|
+| Maven `settings.xml` with Nexus server entry (`apache.releases.https`) | 
Jenkins → `MAVEN_SETTINGS_CONFIG_FILE_ID`, or `~/.m2/settings.xml` locally | 
`04-deploy-to-staging.sh` via `MAVEN_SETTINGS` env var |
+| GPG passphrase | Jenkins → `GPG_PASSPHRASE_CREDS_ID` (masked), or GPG agent 
locally | `04-deploy-to-staging.sh` via `MAVEN_GPG_PASSPHRASE` env var (NOT a 
CLI arg) |
+| Git push credentials (SSH key or token) | Jenkins → 
`GIT_AUTHOR_PUSH_CREDS_ID`, or `~/.ssh/id_rsa` locally | `02-rc-commit.sh` 
(--push), `05-tag-release.sh` (--push) |

Review Comment:
   This is for the website too.



##########
docs/RELEASING.md:
##########
@@ -0,0 +1,106 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Apache KIE Release Guide
+
+The canonical release documentation and single source of truth for the Apache 
KIE release procedure is maintained on the Apache KIE community website:
+
+👉 **[Apache KIE Release 
Procedure](https://kie.apache.org/community/devs/release-procedure)** (hosted 
in the 
[`apache/incubator-kie-website`](https://github.com/apache/incubator-kie-website)
 repository under `docs/community/devs/release-procedure.md`).
+
+---
+
+## Who Runs These Scripts?
+
+The release scripts in this repository are intended for **Apache KIE Release 
Managers** — PMC members or designated committers who have:
+
+- Write access to the `apache/incubator-kie` repository (push tags to 
`[email protected]:apache/incubator-kie.git`).
+- An ASF Nexus account with `kie` staging privileges (username/password in 
Maven `settings.xml`).
+- A GPG signing key registered with the [Apache KEYS 
file](https://downloads.apache.org/kie/KEYS).
+
+In normal operation the scripts are invoked by the **Jenkins CI pipeline** 
(`.ci/jenkins/project/Jenkinsfile.103xplus.release`) using managed credentials. 
 Release managers may also run them locally for testing or emergency releases.

Review Comment:
   This is information for the release procedure page in the website.



##########
docs/RELEASING.md:
##########
@@ -0,0 +1,106 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Apache KIE Release Guide
+
+The canonical release documentation and single source of truth for the Apache 
KIE release procedure is maintained on the Apache KIE community website:
+
+👉 **[Apache KIE Release 
Procedure](https://kie.apache.org/community/devs/release-procedure)** (hosted 
in the 
[`apache/incubator-kie-website`](https://github.com/apache/incubator-kie-website)
 repository under `docs/community/devs/release-procedure.md`).
+
+---
+
+## Who Runs These Scripts?
+
+The release scripts in this repository are intended for **Apache KIE Release 
Managers** — PMC members or designated committers who have:
+
+- Write access to the `apache/incubator-kie` repository (push tags to 
`[email protected]:apache/incubator-kie.git`).
+- An ASF Nexus account with `kie` staging privileges (username/password in 
Maven `settings.xml`).
+- A GPG signing key registered with the [Apache KEYS 
file](https://downloads.apache.org/kie/KEYS).
+
+In normal operation the scripts are invoked by the **Jenkins CI pipeline** 
(`.ci/jenkins/project/Jenkinsfile.103xplus.release`) using managed credentials. 
 Release managers may also run them locally for testing or emergency releases.
+
+---
+
+## Credentials Required
+
+| Credential | Where it lives | Used by |
+|---|---|---|
+| Maven `settings.xml` with Nexus server entry (`apache.releases.https`) | 
Jenkins → `MAVEN_SETTINGS_CONFIG_FILE_ID`, or `~/.m2/settings.xml` locally | 
`04-deploy-to-staging.sh` via `MAVEN_SETTINGS` env var |
+| GPG passphrase | Jenkins → `GPG_PASSPHRASE_CREDS_ID` (masked), or GPG agent 
locally | `04-deploy-to-staging.sh` via `MAVEN_GPG_PASSPHRASE` env var (NOT a 
CLI arg) |
+| Git push credentials (SSH key or token) | Jenkins → 
`GIT_AUTHOR_PUSH_CREDS_ID`, or `~/.ssh/id_rsa` locally | `02-rc-commit.sh` 
(--push), `05-tag-release.sh` (--push) |
+
+---
+
+## What the Scripts Produce
+
+Each script is **isolated to this single consolidated repository** — there is 
no multi-repo coordination needed since Drools, OptaPlanner, Kogito Runtimes, 
and Kogito Apps all live here.
+
+| Step | Output |
+|---|---|
+| `01-update-version.sh` | POM versions bumped in the working tree (not 
committed) |
+| `02-rc-commit.sh` | A local RC git tag (e.g. `10.3.0-rc1`) pointing to the R 
commit; optionally pushed to `origin` |
+| `03-build.sh` | Release JARs installed to `~/.m2/repository` |
+| `04-deploy-to-staging.sh` | JARs signed (GPG) and uploaded to the Apache 
Nexus staging repository |
+| `05-tag-release.sh` | Final release git tag (e.g. `10.3.0`) pointing to the 
same commit as the winning RC |
+
+---
+
+## Repository-Specific Release Tooling
+
+This repository (`incubator-kie`) provides local-first release scripts located 
in [`script/release/`](../script/release/):
+
+- **[`script/release/README.md`](../script/release/README.md)**: Detailed 
documentation of all scripts, lifecycle definitions, and workflows.
+- **`01-update-version.sh`**: (Automation A / D) Updates reactor POM versions 
across all modules.
+- **`02-rc-commit.sh`**: (Automation D.1) Generates the temporary release 
branch, updates version to release version, tags the RC commit, and deletes the 
temporary branch.
+- **`03-build.sh`**: (Automation D.2) Builds the full Maven reactor and 
installs artifacts to local `~/.m2/repository`.
+- **`04-deploy-to-staging.sh`**: (Automation D.3) Deploys signed artifacts to 
the Apache Nexus staging repository.
+- **`05-tag-release.sh`**: (Automation F) Promotes an approved RC tag to the 
final release tag after a successful VOTE.
+- **`release-all.sh`**: Master orchestration script executing the RC workflow 
(`02` → `03` → `04`) in sequence.
+
+### Common Commands
+
+```bash
+# 1. Update version across reactor modules (Automation A or D)
+./script/release/01-update-version.sh 10.3.999-SNAPSHOT   # stream snapshot
+./script/release/01-update-version.sh 999-SNAPSHOT        # main stream (image 
tag → "main")
+./script/release/01-update-version.sh 10.3.0              # exact release 
version
+
+# 2. Master RC workflow (accepts positional version or --version flag)
+./script/release/release-all.sh 10.3.0 --rc --skip-tests
+# Full RC with upload + tag push (requires MAVEN_SETTINGS and 
MAVEN_GPG_PASSPHRASE env vars):
+MAVEN_SETTINGS=~/.m2/settings.xml \
+  ./script/release/release-all.sh --version 10.3.0 --tag 10.3.0-rc1 
--skip-tests --deploy --push-tag
+
+# 3. Promote approved RC tag to final release tag (Automation F)
+./script/release/05-tag-release.sh --rc-tag 10.3.0-rc1 --push
+```
+
+### Dry-Run Safety
+
+All scripts that modify git state or push to remote accept `--dry-run`.  Safe 
to run without credentials:
+
+```bash
+./script/release/release-all.sh 10.3.0 --tag 10.3.0-rc1 --deploy --push-tag 
--dry-run
+```
+
+For Jenkins pipeline jobs, see:
+- `.ci/jenkins/Jenkinsfile.103xplus.deploy` — stream-snapshot version bump and 
artifact deployment
+- `.ci/jenkins/Jenkinsfile.103xplus.promote` — PR merge, GitHub release 
creation, and final tag promotion
+- `.ci/jenkins/project/Jenkinsfile.103xplus.release` — top-level release 
orchestrator (invokes `release-all.sh`)

Review Comment:
   This is for the website.



##########
.ci/jenkins/project/Jenkinsfile.103xplus.release:
##########


Review Comment:
   Why make a `project` folder for this job in particular?



##########
docs/RELEASING.md:
##########
@@ -0,0 +1,106 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Apache KIE Release Guide
+
+The canonical release documentation and single source of truth for the Apache 
KIE release procedure is maintained on the Apache KIE community website:
+
+👉 **[Apache KIE Release 
Procedure](https://kie.apache.org/community/devs/release-procedure)** (hosted 
in the 
[`apache/incubator-kie-website`](https://github.com/apache/incubator-kie-website)
 repository under `docs/community/devs/release-procedure.md`).
+
+---
+
+## Who Runs These Scripts?
+
+The release scripts in this repository are intended for **Apache KIE Release 
Managers** — PMC members or designated committers who have:
+
+- Write access to the `apache/incubator-kie` repository (push tags to 
`[email protected]:apache/incubator-kie.git`).
+- An ASF Nexus account with `kie` staging privileges (username/password in 
Maven `settings.xml`).
+- A GPG signing key registered with the [Apache KEYS 
file](https://downloads.apache.org/kie/KEYS).
+
+In normal operation the scripts are invoked by the **Jenkins CI pipeline** 
(`.ci/jenkins/project/Jenkinsfile.103xplus.release`) using managed credentials. 
 Release managers may also run them locally for testing or emergency releases.
+
+---
+
+## Credentials Required
+
+| Credential | Where it lives | Used by |
+|---|---|---|
+| Maven `settings.xml` with Nexus server entry (`apache.releases.https`) | 
Jenkins → `MAVEN_SETTINGS_CONFIG_FILE_ID`, or `~/.m2/settings.xml` locally | 
`04-deploy-to-staging.sh` via `MAVEN_SETTINGS` env var |
+| GPG passphrase | Jenkins → `GPG_PASSPHRASE_CREDS_ID` (masked), or GPG agent 
locally | `04-deploy-to-staging.sh` via `MAVEN_GPG_PASSPHRASE` env var (NOT a 
CLI arg) |
+| Git push credentials (SSH key or token) | Jenkins → 
`GIT_AUTHOR_PUSH_CREDS_ID`, or `~/.ssh/id_rsa` locally | `02-rc-commit.sh` 
(--push), `05-tag-release.sh` (--push) |
+
+---
+
+## What the Scripts Produce
+
+Each script is **isolated to this single consolidated repository** — there is 
no multi-repo coordination needed since Drools, OptaPlanner, Kogito Runtimes, 
and Kogito Apps all live here.
+
+| Step | Output |
+|---|---|
+| `01-update-version.sh` | POM versions bumped in the working tree (not 
committed) |
+| `02-rc-commit.sh` | A local RC git tag (e.g. `10.3.0-rc1`) pointing to the R 
commit; optionally pushed to `origin` |
+| `03-build.sh` | Release JARs installed to `~/.m2/repository` |
+| `04-deploy-to-staging.sh` | JARs signed (GPG) and uploaded to the Apache 
Nexus staging repository |
+| `05-tag-release.sh` | Final release git tag (e.g. `10.3.0`) pointing to the 
same commit as the winning RC |
+
+---
+
+## Repository-Specific Release Tooling
+
+This repository (`incubator-kie`) provides local-first release scripts located 
in [`script/release/`](../script/release/):
+
+- **[`script/release/README.md`](../script/release/README.md)**: Detailed 
documentation of all scripts, lifecycle definitions, and workflows.
+- **`01-update-version.sh`**: (Automation A / D) Updates reactor POM versions 
across all modules.
+- **`02-rc-commit.sh`**: (Automation D.1) Generates the temporary release 
branch, updates version to release version, tags the RC commit, and deletes the 
temporary branch.
+- **`03-build.sh`**: (Automation D.2) Builds the full Maven reactor and 
installs artifacts to local `~/.m2/repository`.
+- **`04-deploy-to-staging.sh`**: (Automation D.3) Deploys signed artifacts to 
the Apache Nexus staging repository.
+- **`05-tag-release.sh`**: (Automation F) Promotes an approved RC tag to the 
final release tag after a successful VOTE.
+- **`release-all.sh`**: Master orchestration script executing the RC workflow 
(`02` → `03` → `04`) in sequence.

Review Comment:
   This is probably for `script/release/README.md`.



##########
docs/RELEASING.md:
##########
@@ -0,0 +1,106 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Apache KIE Release Guide
+
+The canonical release documentation and single source of truth for the Apache 
KIE release procedure is maintained on the Apache KIE community website:
+
+👉 **[Apache KIE Release 
Procedure](https://kie.apache.org/community/devs/release-procedure)** (hosted 
in the 
[`apache/incubator-kie-website`](https://github.com/apache/incubator-kie-website)
 repository under `docs/community/devs/release-procedure.md`).
+
+---
+
+## Who Runs These Scripts?
+
+The release scripts in this repository are intended for **Apache KIE Release 
Managers** — PMC members or designated committers who have:
+
+- Write access to the `apache/incubator-kie` repository (push tags to 
`[email protected]:apache/incubator-kie.git`).
+- An ASF Nexus account with `kie` staging privileges (username/password in 
Maven `settings.xml`).
+- A GPG signing key registered with the [Apache KEYS 
file](https://downloads.apache.org/kie/KEYS).
+
+In normal operation the scripts are invoked by the **Jenkins CI pipeline** 
(`.ci/jenkins/project/Jenkinsfile.103xplus.release`) using managed credentials. 
 Release managers may also run them locally for testing or emergency releases.
+
+---
+
+## Credentials Required
+
+| Credential | Where it lives | Used by |
+|---|---|---|
+| Maven `settings.xml` with Nexus server entry (`apache.releases.https`) | 
Jenkins → `MAVEN_SETTINGS_CONFIG_FILE_ID`, or `~/.m2/settings.xml` locally | 
`04-deploy-to-staging.sh` via `MAVEN_SETTINGS` env var |
+| GPG passphrase | Jenkins → `GPG_PASSPHRASE_CREDS_ID` (masked), or GPG agent 
locally | `04-deploy-to-staging.sh` via `MAVEN_GPG_PASSPHRASE` env var (NOT a 
CLI arg) |
+| Git push credentials (SSH key or token) | Jenkins → 
`GIT_AUTHOR_PUSH_CREDS_ID`, or `~/.ssh/id_rsa` locally | `02-rc-commit.sh` 
(--push), `05-tag-release.sh` (--push) |
+
+---
+
+## What the Scripts Produce
+
+Each script is **isolated to this single consolidated repository** — there is 
no multi-repo coordination needed since Drools, OptaPlanner, Kogito Runtimes, 
and Kogito Apps all live here.
+
+| Step | Output |
+|---|---|
+| `01-update-version.sh` | POM versions bumped in the working tree (not 
committed) |
+| `02-rc-commit.sh` | A local RC git tag (e.g. `10.3.0-rc1`) pointing to the R 
commit; optionally pushed to `origin` |
+| `03-build.sh` | Release JARs installed to `~/.m2/repository` |
+| `04-deploy-to-staging.sh` | JARs signed (GPG) and uploaded to the Apache 
Nexus staging repository |
+| `05-tag-release.sh` | Final release git tag (e.g. `10.3.0`) pointing to the 
same commit as the winning RC |
+
+---
+
+## Repository-Specific Release Tooling
+
+This repository (`incubator-kie`) provides local-first release scripts located 
in [`script/release/`](../script/release/):
+
+- **[`script/release/README.md`](../script/release/README.md)**: Detailed 
documentation of all scripts, lifecycle definitions, and workflows.
+- **`01-update-version.sh`**: (Automation A / D) Updates reactor POM versions 
across all modules.
+- **`02-rc-commit.sh`**: (Automation D.1) Generates the temporary release 
branch, updates version to release version, tags the RC commit, and deletes the 
temporary branch.
+- **`03-build.sh`**: (Automation D.2) Builds the full Maven reactor and 
installs artifacts to local `~/.m2/repository`.
+- **`04-deploy-to-staging.sh`**: (Automation D.3) Deploys signed artifacts to 
the Apache Nexus staging repository.
+- **`05-tag-release.sh`**: (Automation F) Promotes an approved RC tag to the 
final release tag after a successful VOTE.
+- **`release-all.sh`**: Master orchestration script executing the RC workflow 
(`02` → `03` → `04`) in sequence.
+
+### Common Commands
+
+```bash
+# 1. Update version across reactor modules (Automation A or D)
+./script/release/01-update-version.sh 10.3.999-SNAPSHOT   # stream snapshot
+./script/release/01-update-version.sh 999-SNAPSHOT        # main stream (image 
tag → "main")
+./script/release/01-update-version.sh 10.3.0              # exact release 
version
+
+# 2. Master RC workflow (accepts positional version or --version flag)
+./script/release/release-all.sh 10.3.0 --rc --skip-tests
+# Full RC with upload + tag push (requires MAVEN_SETTINGS and 
MAVEN_GPG_PASSPHRASE env vars):
+MAVEN_SETTINGS=~/.m2/settings.xml \
+  ./script/release/release-all.sh --version 10.3.0 --tag 10.3.0-rc1 
--skip-tests --deploy --push-tag
+
+# 3. Promote approved RC tag to final release tag (Automation F)
+./script/release/05-tag-release.sh --rc-tag 10.3.0-rc1 --push
+```

Review Comment:
   Also for `script/release/README.md`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to