Skip to content

Fix PR build: run Build job on ubuntu-24.04 with Python 3.9 - #4021

Merged
avazirna merged 1 commit into
masterfrom
ci/pr-workflow-pin-ubuntu-24.04
Nov 6, 2026
Merged

avazirna merged 1 commit into
masterfrom
ci/pr-workflow-pin-ubuntu-24.04

Conversation

@avazirna

@avazirna avazirna commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Technical Summary

Follow-up to #4020, which didn't fix the build.

GitHub's ubuntu-latest now resolves to Ubuntu 26.04. actions/setup-python has no Python 3.9 build for that image, so the Build job failed at "Install python". #4020 moved the job to Python 3.12, but then the cross-request step failed instead. The script it downloads from dimagi/mobile-deploy pins github3.py==1.3.0, which can't be imported on Python 3.10 or newer:

File ".../github3/session.py", line 3, in <module>
    from collections import Callable
ImportError: cannot import name 'Callable' from 'collections'

This PR is the short-term fix. The Build job now runs on ubuntu-24.04 and goes back to Python 3.9, which setup-python still provides for 22.04 and 24.04. A comment on runs-on explains why it's pinned.

The proper fix is dimagi/mobile-deploy#21, which moves those scripts to github3.py 4.x. Once that merges, this job can go back to ubuntu-latest with a current Python.

Documentation

None. CI-only change.

Safety Assurance

Safety story

This only changes CI config and doesn't touch the app. Before Ubuntu 26.04 became ubuntu-latest, this job ran on 24.04 with Python 3.9 (that was what ubuntu-latest meant), so this goes back to a known-good setup. The workflow run on this PR checks it.

Automated test coverage

This PR's own workflow run covers it.

Labels and Review

  • Do we need to enhance the manual QA test coverage ? If yes, RELEASES.md is updated accordingly
  • Does the PR introduce any major changes worth communicating ? If yes, RELEASES.md is updated accordingly
  • Risk label is set correctly
  • The set of people pinged as reviewers is appropriate for the level of risk of the change

🤖 Generated with Claude Code

The cross-request script pins github3.py 1.3.0, which imports Callable
from collections and fails on Python 3.10+, so the earlier move to 3.12
broke the Build job. setup-python has no 3.9 build for Ubuntu 26.04
(the current ubuntu-latest), so pin this job to ubuntu-24.04 until
mobile-deploy supports newer Python.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@avazirna avazirna added github_actions Pull requests that update GitHub Actions code Low Risk Small blast radius; unlikely to break existing behavior labels Nov 6, 2026
@avazirna avazirna self-assigned this Nov 6, 2026
@coderabbitai

coderabbitai Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 35 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f066f254-ff85-4f6c-b3fd-6cc1daae02b4
Commits

Reviewing files that changed from the base of the PR and between 0d106a9 and a590815.

Files selected for processing: 1

  • .github/workflows/commcare-android-pr-workflow.yml
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@avazirna
avazirna merged commit 46359ad into master Nov 6, 2026
4 checks passed
@avazirna
avazirna deleted the ci/pr-workflow-pin-ubuntu-24.04 branch November 6, 2026 17:01
@codecov

codecov Bot commented Nov 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 33.77%. Comparing base (76d0595) to head (a590815).
⚠️ Report is 5 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #4021      +/-   ##
============================================
- Coverage     33.78%   33.77%   -0.02%     
+ Complexity     5113     5110       -3     
============================================
  Files           782      782              
  Lines         51871    51871              
  Branches       6535     6535              
============================================
- Hits          17526    17520       -6     
- Misses        32045    32052       +7     
+ Partials       2300     2299       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code Low Risk Small blast radius; unlikely to break existing behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants