Skip to content

Conversation

@navin772
Copy link
Member

@navin772 navin772 commented Nov 25, 2025

User description

🔗 Related Issues

Related to #16624

💥 What does this PR do?

Removes concurrency checks in child workflows. In case of child workflows, they had the same concurrency group so child workflows were getting cancelled due to deadlock.

This PR should fix it.

🔧 Implementation Notes

💡 Additional Considerations

🔄 Types of changes

  • Bug fix (backwards compatible)

PR Type

Bug fix


Description

  • Removes concurrency checks from child workflow files

  • Prevents child workflows from being cancelled due to deadlock

  • Eliminates duplicate concurrency group configuration

  • Applies fix across Python, Java, .NET, Ruby, and Rust workflows


Diagram Walkthrough

flowchart LR
  A["Child Workflows<br/>ci-python, ci-java, ci-dotnet, ci-ruby, ci-rust"] -->|"Remove concurrency block"| B["Prevent workflow<br/>cancellation"]
  B -->|"Fix deadlock issue"| C["Stable CI execution"]
Loading

File Walkthrough

Relevant files
Configuration changes
ci-dotnet.yml
Remove concurrency configuration                                                 

.github/workflows/ci-dotnet.yml

  • Removed concurrency group configuration
  • Removed cancel-in-progress setting
  • Prevents child workflow cancellation
+0/-4     
ci-java.yml
Remove concurrency configuration                                                 

.github/workflows/ci-java.yml

  • Removed concurrency group configuration
  • Removed cancel-in-progress setting
  • Prevents child workflow cancellation
+0/-4     
ci-python.yml
Remove concurrency configuration                                                 

.github/workflows/ci-python.yml

  • Removed concurrency group configuration
  • Removed cancel-in-progress setting
  • Prevents child workflow cancellation
+0/-4     
ci-ruby.yml
Remove concurrency configuration                                                 

.github/workflows/ci-ruby.yml

  • Removed concurrency group configuration
  • Removed cancel-in-progress setting
  • Prevents child workflow cancellation
+0/-4     
ci-rust.yml
Remove concurrency configuration                                                 

.github/workflows/ci-rust.yml

  • Removed concurrency group configuration
  • Removed cancel-in-progress setting
  • Prevents child workflow cancellation
+0/-4     

@selenium-ci selenium-ci added the B-build Includes scripting, bazel and CI integrations label Nov 25, 2025
@qodo-merge-pro
Copy link
Contributor

qodo-merge-pro bot commented Nov 25, 2025

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
🟡
🎫 #5678
🔴 Diagnose and resolve "Error: ConnectFailure (Connection refused)" when instantiating
multiple ChromeDriver instances on Ubuntu with specified versions.
Provide a fix or guidance so subsequent ChromeDriver instantiations do not log
ConnectFailure errors.
Reproduce and verify the issue across sessions as described in screenshots.
🟡
🎫 #1234
🔴 Ensure click() triggers JavaScript in link hrefs as in version 2.47.1, specifically for
Firefox 42.0 on 32-bit.
Provide regression fix so alerts fire consistently in 2.48.x.
Validate behavior with provided test case assets.
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
Generic: Comprehensive Audit Trails

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

Status:
No logging impact: The PR only removes GitHub Actions concurrency settings and adds no new code that affects
application audit trails or logging of critical actions.

Referred Code
on:
  workflow_call:
  workflow_dispatch:

jobs:
  build:
    name: Build
    uses: ./.github/workflows/bazel.yml

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

Generic: Meaningful Naming and Self-Documenting Code

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

Status:
No identifiers added: The changes modify workflow configuration without introducing new identifiers or names to
evaluate for meaningful naming.

Referred Code
on:
  workflow_call:
  workflow_dispatch:

jobs:
  build:
    name: Build
    uses: ./.github/workflows/bazel.yml

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:
No error handling code: The PR does not add runtime code or error handling paths; it only alters CI workflow
concurrency, so there is nothing to assess for error handling.

Referred Code
on:
  workflow_call:
  workflow_dispatch:

jobs:
  browser-tests-windows:
    name: Browser Tests
    uses: ./.github/workflows/bazel.yml

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:
No user errors added: No user-facing error messages or logging are introduced by the workflow concurrency
removal, leaving nothing to validate against secure error handling.

Referred Code
on:
  workflow_call:
  workflow_dispatch:

jobs:
  build:
    name: Build
    uses: ./.github/workflows/bazel.yml

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:
No logging changes: The added lines only reference existing workflow usage and secrets requirements without
introducing any logging statements or data exposure.

Referred Code
        required: false
        type: string
        default: trunk
    secrets:
      SELENIUM_CI_TOKEN:
        required: true
  workflow_dispatch:

jobs:
  build:
    name: Build
    uses: ./.github/workflows/bazel.yml

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:
Secrets unchanged: The workflow still requires the 'SELENIUM_CI_TOKEN' secret but no new input
handling, validation, or data processing code was added to assess security controls.

Referred Code
        required: false
        type: string
        default: trunk
    secrets:
      SELENIUM_CI_TOKEN:
        required: true
  workflow_dispatch:

jobs:
  build:
    name: Build
    uses: ./.github/workflows/bazel.yml

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

  • Update
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-merge-pro
Copy link
Contributor

qodo-merge-pro bot commented Nov 25, 2025

PR Code Suggestions ✨

No code suggestions found for the PR.

@navin772 navin772 changed the title [ci][py][java]: remove concurrency checks in child workflows [ci]: remove concurrency checks in child workflows Nov 25, 2025
@navin772 navin772 merged commit 0c17ff1 into SeleniumHQ:trunk Nov 25, 2025
24 checks passed
@navin772 navin772 deleted the fix-concurrency-in-child-workflows branch November 25, 2025 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-build Includes scripting, bazel and CI integrations Review effort 1/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants