Skip to content

[ci] Tests run on Linux arm64 hosted runners #2592

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

Merged
merged 4 commits into from
Jan 20, 2025
Merged

[ci] Tests run on Linux arm64 hosted runners #2592

merged 4 commits into from
Jan 20, 2025

Conversation

VietND96
Copy link
Member

@VietND96 VietND96 commented Jan 17, 2025

User description

Thanks for contributing to the Docker-Selenium project!
A PR well described will help maintainers to quickly review and merge it

Before submitting your PR, please check our contributing guidelines, applied for this repository.
Avoid large PRs, help reviewers by making them as simple and short as possible.

Description

Motivation and Context

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

PR Type

Tests, Enhancement


Description

  • Added support for running tests on Linux arm64 hosted runners.

  • Updated docker-test.yml to include ubuntu-24.04-arm64 in runs-on.

  • Updated helm-chart-test.yml to include ubuntu-24.04-arm64 in runs-on.

  • Improved CI configuration for multi-architecture testing.


Changes walkthrough 📝

Relevant files
Configuration changes
docker-test.yml
Add arm64 support to Docker test workflow                               

.github/workflows/docker-test.yml

  • Modified runs-on to include ubuntu-24.04-arm64.
  • Enhanced CI workflow for arm64 architecture testing.
  • +1/-1     
    helm-chart-test.yml
    Add arm64 support to Helm chart test workflow                       

    .github/workflows/helm-chart-test.yml

  • Modified runs-on to include ubuntu-24.04-arm64.
  • Enhanced CI workflow for arm64 architecture testing.
  • +1/-1     

    Need help?
  • Type /help how to ... in the comments thread for any question about Qodo Merge usage.
  • Check out the documentation for more information.
  • Copy link

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Configuration Validation

    Verify that all Docker build and test steps are compatible with arm64 architecture, as some Docker images or dependencies might not support arm64.

    runs-on: [ubuntu-24.04, ubuntu-24.04-arm64]

    Copy link

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    Possible issue
    Use matrix strategy pattern for testing on multiple runner configurations instead of a mixed runs-on list

    The runs-on field expects a single value or a list of labels, not a mix of OS
    versions. Use matrix strategy instead to test on different Ubuntu versions and
    architectures.

    .github/workflows/docker-test.yml [32]

    -runs-on: [ubuntu-24.04, ubuntu-24.04-arm64]
    +runs-on: ${{ matrix.os }}
    +strategy:
    +  matrix:
    +    os: [ubuntu-24.04, ubuntu-24.04-arm64]
    • Apply this suggestion
    Suggestion importance[1-10]: 9

    Why: The suggestion correctly identifies a potential issue with GitHub Actions configuration. Using matrix strategy for runner OS is a more maintainable and standard approach, ensuring proper execution across different environments.

    9

    @VietND96 VietND96 force-pushed the gh-arm64 branch 3 times, most recently from 08e3ad1 to 2508746 Compare January 17, 2025 05:07
    Copy link

    qodo-merge-pro bot commented Jan 17, 2025

    CI Failure Feedback 🧐

    (Checks updated until commit e4d92d4)

    Action: Rerun workflow when failure

    Failed stage: Authenticate GitHub CLI for PR [❌]

    Failure summary:

    The action failed because the GitHub authentication token lacks the required 'read:org' permission
    scope. Specifically:

  • The workflow attempted to authenticate using gh auth login --with-token with the GH_CLI_TOKEN_PR
    token
  • The token validation failed with error: "missing required scope 'read:org'"
  • The process exited with code 1 due to this authentication failure

  • Relevant error logs:
    1:  ##[group]Operating System
    2:  Ubuntu
    ...
    
    28:  SecurityEvents: write
    29:  Statuses: write
    30:  ##[endgroup]
    31:  Secret source: Actions
    32:  Prepare workflow directory
    33:  Prepare all required actions
    34:  Getting action download info
    35:  Download action repository 'actions/checkout@main' (SHA:85e6279cec87321a52edac9c87bce653a07cf6c2)
    36:  Complete job name: Rerun workflow when failure
    ...
    
    48:  show-progress: true
    49:  lfs: false
    50:  submodules: false
    51:  set-safe-directory: true
    52:  env:
    53:  GH_CLI_TOKEN: ***
    54:  GH_CLI_TOKEN_PR: ***
    55:  RUN_ID: 12857981696
    56:  RERUN_FAILED_ONLY: true
    ...
    
    119:  ##[group]Run sudo apt update
    120:  �[36;1msudo apt update�[0m
    121:  �[36;1msudo apt install gh�[0m
    122:  shell: /usr/bin/bash -e {0}
    123:  env:
    124:  GH_CLI_TOKEN: ***
    125:  GH_CLI_TOKEN_PR: ***
    126:  RUN_ID: 12857981696
    127:  RERUN_FAILED_ONLY: true
    ...
    
    163:  0 upgraded, 0 newly installed, 0 to remove and 73 not upgraded.
    164:  ##[group]Run echo "$GH_CLI_TOKEN_PR" | gh auth login --with-token
    165:  �[36;1mecho "$GH_CLI_TOKEN_PR" | gh auth login --with-token�[0m
    166:  shell: /usr/bin/bash -e {0}
    167:  env:
    168:  GH_CLI_TOKEN: ***
    169:  GH_CLI_TOKEN_PR: ***
    170:  RUN_ID: 12857981696
    171:  RERUN_FAILED_ONLY: true
    172:  RUN_ATTEMPT: 1
    173:  ##[endgroup]
    174:  error validating token: missing required scope 'read:org'
    175:  ##[error]Process completed with exit code 1.
    

    ✨ CI feedback usage guide:

    The CI feedback tool (/checks) automatically triggers when a PR has a failed check.
    The tool analyzes the failed checks and provides several feedbacks:

    • Failed stage
    • Failed test name
    • Failure summary
    • Relevant error logs

    In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR:

    /checks "https://github.com/{repo_name}/actions/runs/{run_number}/job/{job_number}"
    

    where {repo_name} is the name of the repository, {run_number} is the run number of the failed check, and {job_number} is the job number of the failed check.

    Configuration options

    • enable_auto_checks_feedback - if set to true, the tool will automatically provide feedback when a check is failed. Default is true.
    • excluded_checks_list - a list of checks to exclude from the feedback, for example: ["check1", "check2"]. Default is an empty list.
    • enable_help_text - if set to true, the tool will provide a help message with the feedback. Default is true.
    • persistent_comment - if set to true, the tool will overwrite a previous checks comment with the new feedback. Default is true.
    • final_update_message - if persistent_comment is true and updating a previous checks message, the tool will also create a new message: "Persistent checks updated to latest commit". Default is true.

    See more information about the checks tool in the docs.

    @VietND96 VietND96 force-pushed the gh-arm64 branch 5 times, most recently from c9d2ce5 to 71fcc7e Compare January 17, 2025 10:41
    Signed-off-by: Viet Nguyen Duc <[email protected]>
    [skip ci]
    
    Signed-off-by: Viet Nguyen Duc <[email protected]>
    @VietND96 VietND96 merged commit b190382 into trunk Jan 20, 2025
    1 check passed
    @VietND96 VietND96 deleted the gh-arm64 branch January 20, 2025 01:08
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    1 participant