release should use bazel not arc runners #2448

Merged
mfreeman451 merged 1 commit from refs/pull/2448/head into main 2025-11-23 10:33:33 +00:00
mfreeman451 commented 2025-11-23 10:30:20 +00:00 (Migrated from github.com)
Owner

Imported from GitHub pull request.

Original GitHub pull request: #1980
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/pull/1980
Original created: 2025-11-23T10:30:20Z
Original updated: 2025-11-23T10:33:37Z
Original head: carverauto/serviceradar:chore/fix_release_publish
Original base: main
Original merged: 2025-11-23T10:33:33Z by @mfreeman451

User description

IMPORTANT: Please sign the Developer Certificate of Origin

Thank you for your contribution to ServiceRadar. Please note, when contributing, the developer must include
a DCO sign-off statement indicating the DCO acceptance in one commit message. Here
is an example DCO Signed-off-by line in a commit message:

Signed-off-by: J. Doe <j.doe@domain.com>

Describe your changes

Code checklist before requesting a review

  • I have signed the DCO?
  • The build completes without errors?
  • All tests are passing when running make test?

PR Type

Enhancement


Description

  • Simplify release workflow by removing local rpmbuild installation

  • Switch from local execution to RBE executor for package building

  • Remove manual OpenSSL environment variable configuration

  • Leverage rpmbuild toolchain baked into RBE executor image


Diagram Walkthrough

flowchart LR
  A["Local rpmbuild<br/>installation"] -->|removed| B["RBE executor<br/>with toolchain"]
  C["Manual env<br/>configuration"] -->|removed| B
  D["Local execution<br/>config flags"] -->|replaced| E["Remote config"]
  B --> F["Simplified<br/>release workflow"]

File Walkthrough

Relevant files
Configuration changes
release.yml
Switch release build from local to RBE executor                   

.github/workflows/release.yml

  • Removed apt-get install rpm rpm2cpio commands from both early checkout
    step and main build step
  • Removed manual rpmbuild verification and version checking logic
  • Removed OpenSSL environment variable exports and configuration
    (OPENSSL_DIR, OPENSSL_LIB_DIR, OPENSSL_INCLUDE_DIR)
  • Replaced --config=no_remote with --config=remote and removed all local
    execution flags (--remote_executor=, --remote_cache=, --noremote_*
    flags)
  • Removed bazel clean --expunge command and --jobs=8 flag
  • Added comment indicating rpmbuild is now provided by RBE executor
    toolchain image
+2/-38   

Imported from GitHub pull request. Original GitHub pull request: #1980 Original author: @mfreeman451 Original URL: https://github.com/carverauto/serviceradar/pull/1980 Original created: 2025-11-23T10:30:20Z Original updated: 2025-11-23T10:33:37Z Original head: carverauto/serviceradar:chore/fix_release_publish Original base: main Original merged: 2025-11-23T10:33:33Z by @mfreeman451 --- ### **User description** ## IMPORTANT: Please sign the Developer Certificate of Origin Thank you for your contribution to ServiceRadar. Please note, when contributing, the developer must include a [DCO sign-off statement]( https://developercertificate.org/) indicating the DCO acceptance in one commit message. Here is an example DCO Signed-off-by line in a commit message: ``` Signed-off-by: J. Doe <j.doe@domain.com> ``` ## Describe your changes ## Issue ticket number and link ## Code checklist before requesting a review - [ ] I have signed the DCO? - [ ] The build completes without errors? - [ ] All tests are passing when running make test? ___ ### **PR Type** Enhancement ___ ### **Description** - Simplify release workflow by removing local rpmbuild installation - Switch from local execution to RBE executor for package building - Remove manual OpenSSL environment variable configuration - Leverage rpmbuild toolchain baked into RBE executor image ___ ### Diagram Walkthrough ```mermaid flowchart LR A["Local rpmbuild<br/>installation"] -->|removed| B["RBE executor<br/>with toolchain"] C["Manual env<br/>configuration"] -->|removed| B D["Local execution<br/>config flags"] -->|replaced| E["Remote config"] B --> F["Simplified<br/>release workflow"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Configuration changes</strong></td><td><table> <tr> <td> <details> <summary><strong>release.yml</strong><dd><code>Switch release build from local to RBE executor</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> .github/workflows/release.yml <ul><li>Removed <code>apt-get install rpm rpm2cpio</code> commands from both early checkout <br>step and main build step<br> <li> Removed manual rpmbuild verification and version checking logic<br> <li> Removed OpenSSL environment variable exports and configuration <br>(OPENSSL_DIR, OPENSSL_LIB_DIR, OPENSSL_INCLUDE_DIR)<br> <li> Replaced <code>--config=no_remote</code> with <code>--config=remote</code> and removed all local <br>execution flags (<code>--remote_executor=</code>, <code>--remote_cache=</code>, <code>--noremote_*</code> <br>flags)<br> <li> Removed <code>bazel clean --expunge</code> command and <code>--jobs=8</code> flag<br> <li> Added comment indicating rpmbuild is now provided by RBE executor <br>toolchain image</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/1980/files#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34">+2/-38</a>&nbsp; &nbsp; </td> </tr> </table></td></tr></tr></tbody></table> </details> ___
qodo-code-review[bot] commented 2025-11-23 10:30:38 +00:00 (Migrated from github.com)
Author
Owner

Imported GitHub PR comment.

Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/1980#issuecomment-3567801848
Original created: 2025-11-23T10:30:38Z

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
Missing audit logs: The workflow changes introduce remote execution for release publishing without adding any
audit logging of critical actions (build/publish), but CI logs may already capture this;
verify organizational audit requirements.

Referred Code
# Build and upload packages using the RBE executor (rpmbuild is baked into the toolchain image).
bazel run \
  --config=remote \
  --stamp \
  //release:publish_packages \
  -- "${args[@]}"

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
Limited failure handling: The new remote bazel invocation removes prior validation steps (e.g., rpmbuild checks)
without adding explicit error handling or retries, relying solely on step failure
behavior.

Referred Code
# Build and upload packages using the RBE executor (rpmbuild is baked into the toolchain image).
bazel run \
  --config=remote \
  --stamp \
  //release:publish_packages \
  -- "${args[@]}"

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
- Requires Further Human Verification
🏷️ - Compliance label
Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/1980#issuecomment-3567801848 Original created: 2025-11-23T10:30:38Z --- ## PR Compliance Guide 🔍 <!-- https://github.com/carverauto/serviceradar/commit/f660982d6b3fd4a38a2027cada6ac314869b9a32 --> Below is a summary of compliance checks for this PR:<br> <table><tbody><tr><td colspan='2'><strong>Security Compliance</strong></td></tr> <tr><td>🟢</td><td><details><summary><strong>No security concerns identified</strong></summary> No security vulnerabilities detected by AI analysis. Human verification advised for critical code. </details></td></tr> <tr><td colspan='2'><strong>Ticket Compliance</strong></td></tr> <tr><td>⚪</td><td><details><summary>🎫 <strong>No ticket provided </strong></summary> - [ ] Create ticket/issue <!-- /create_ticket --create_ticket=true --> </details></td></tr> <tr><td colspan='2'><strong>Codebase Duplication Compliance</strong></td></tr> <tr><td>⚪</td><td><details><summary><strong>Codebase context is not defined </strong></summary> Follow the <a href='https://qodo-merge-docs.qodo.ai/core-abilities/rag_context_enrichment/'>guide</a> to enable codebase context checks. </details></td></tr> <tr><td colspan='2'><strong>Custom Compliance</strong></td></tr> <tr><td rowspan=4>🟢</td><td> <details><summary><strong>Generic: Meaningful Naming and Self-Documenting Code</strong></summary><br> **Objective:** Ensure all identifiers clearly express their purpose and intent, making code <br>self-documenting<br> **Status:** Passed<br> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td> <details><summary><strong>Generic: Secure Error Handling</strong></summary><br> **Objective:** To prevent the leakage of sensitive system information through error messages while <br>providing sufficient detail for internal debugging.<br> **Status:** Passed<br> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td> <details><summary><strong>Generic: Secure Logging Practices</strong></summary><br> **Objective:** To ensure logs are useful for debugging and auditing without exposing sensitive <br>information like PII, PHI, or cardholder data.<br> **Status:** Passed<br> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td> <details><summary><strong>Generic: Security-First Input Validation and Data Handling</strong></summary><br> **Objective:** Ensure all data inputs are validated, sanitized, and handled securely to prevent <br>vulnerabilities<br> **Status:** Passed<br> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td rowspan=2>⚪</td> <td><details> <summary><strong>Generic: Comprehensive Audit Trails</strong></summary><br> **Objective:** To create a detailed and reliable record of critical system actions for security analysis <br>and compliance.<br> **Status:** <br><a href='https://github.com/carverauto/serviceradar/pull/1980/files#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34R238-R243'><strong>Missing audit logs</strong></a>: The workflow changes introduce remote execution for release publishing without adding any <br>audit logging of critical actions (build/publish), but CI logs may already capture this; <br>verify organizational audit requirements.<br> <details open><summary>Referred Code</summary> ```yaml # Build and upload packages using the RBE executor (rpmbuild is baked into the toolchain image). bazel run \ --config=remote \ --stamp \ //release:publish_packages \ -- "${args[@]}" ``` </details> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td><details> <summary><strong>Generic: Robust Error Handling and Edge Case Management</strong></summary><br> **Objective:** Ensure comprehensive error handling that provides meaningful context and graceful <br>degradation<br> **Status:** <br><a href='https://github.com/carverauto/serviceradar/pull/1980/files#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34R238-R243'><strong>Limited failure handling</strong></a>: The new remote bazel invocation removes prior validation steps (e.g., rpmbuild checks) <br>without adding explicit error handling or retries, relying solely on step failure <br>behavior.<br> <details open><summary>Referred Code</summary> ```yaml # Build and upload packages using the RBE executor (rpmbuild is baked into the toolchain image). bazel run \ --config=remote \ --stamp \ //release:publish_packages \ -- "${args[@]}" ``` </details> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td align="center" colspan="2"> <!-- placeholder --> <!-- /compliance --update_compliance=true --> </td></tr></tbody></table> <details><summary>Compliance status legend</summary> 🟢 - Fully Compliant<br> 🟡 - Partial Compliant<br> 🔴 - Not Compliant<br> ⚪ - Requires Further Human Verification<br> 🏷️ - Compliance label<br> </details>
qodo-code-review[bot] commented 2025-11-23 10:31:03 +00:00 (Migrated from github.com)
Author
Owner

Imported GitHub PR comment.

Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/1980#issuecomment-3567802148
Original created: 2025-11-23T10:31:03Z

PR Code Suggestions

No code suggestions found for the PR.

Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/1980#issuecomment-3567802148 Original created: 2025-11-23T10:31:03Z --- ## PR Code Suggestions ✨ No code suggestions found for the PR.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar!2448
No description provided.