Skip to content

Add a smoke test workflow that runs against py-amqp, Kombu and Billiard main - #10676

Merged
auvipy merged 4 commits into
celery:mainfrom
GangEunzzang:ci/smoke-upstream-deps
Sep 22, 2026
Merged

auvipy merged 4 commits into
celery:mainfrom
GangEunzzang:ci/smoke-upstream-deps

Conversation

@GangEunzzang

Copy link
Copy Markdown
Contributor

Closes #10675.

Adds .github/workflows/smoke-tests-dev.yml, a separate workflow on the same push/PR triggers as the main one. It calls the reusable smoke-tests.yml with a new dev_requirements input, which selects the smoke-dev tox env: the smoke env plus requirements/dev.txt, so the host gets py-amqp, Kombu and Billiard from Git main. That env also sets CELERY_DEV_REQUIREMENTS=1, which SmokeWorkerContainer.buildargs() passes to the worker image, where a new build arg installs dev.txt on top of the editable Celery install. Without the flag the image build is unchanged, and python-package.yml is untouched.

The job covers test_worker.py and test_tasks.py (the two files that caught the Billiard 4.3.0 changes in #10659) on one Python version, so it is two extra jobs rather than another full matrix.

Checked locally on macOS with Docker: the 3.12-smoke-dev tox env ends up with py-amqp, Kombu and Billiard from Git (direct_url.json points at the three repos), the worker image does too with the build arg and stays on PyPI without it, and both files pass in that mode (test_tasks.py 22 passed, test_worker.py 62 passed / 6 skipped, same as with the released versions).

Two things worth knowing. The image install needs --force-reinstall: pip clones the three repos but keeps the PyPI copy when the checkout reports the same version string. And default.txt pins billiard==4.3.0, so once Billiard main bumps its version the dev job will fail at install time until the pin moves, which is the kind of thing this job exists to surface.

…rd main

Nothing in CI ran against the Git main of the three core dependencies,
so the Billiard 4.3.0 changes that broke the smoke tests (celery#10659) were
only noticed a month after the commit that introduced them.

Add a separate workflow on the normal push/PR triggers that calls the
reusable smoke workflow with a new dev_requirements input. It selects a
smoke-dev tox env, which is the smoke env plus requirements/dev.txt, and
sets CELERY_DEV_REQUIREMENTS so the worker image installs dev.txt as
well. The image install needs --force-reinstall because pip keeps the
PyPI copy when the Git checkout reports the same version string.

The job covers test_worker.py and test_tasks.py on one Python version.
Without the flag the tox env and the image build are unchanged.

Closes celery#10675
@codecov

codecov Bot commented Sep 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.28%. Comparing base (7b4edf4) to head (24ce861).

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #10676   +/-   ##
=======================================
  Coverage   89.28%   89.28%           
=======================================
  Files         153      153           
  Lines       20397    20397           
  Branches     2431     2431           
=======================================
  Hits        18212    18212           
  Misses       1881     1881           
  Partials      304      304           
Flag Coverage Δ
unittests 89.26% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@auvipy auvipy added this to the 5.7.0 milestone Sep 21, 2026
@auvipy
auvipy self-requested a review September 21, 2026 10:29
Comment thread tox.ini
@auvipy

auvipy commented Sep 21, 2026

Copy link
Copy Markdown
Member

i can not see the jobs, can you please point me to them?

@GangEunzzang

Copy link
Copy Markdown
Contributor Author

They run as a separate workflow, "Smoke Tests (dev requirements)": https://github.com/celery/celery/actions/runs/35589666299 — four jobs, test_tasks.py and test_worker.py on 3.14 and 3.15. The test_tasks.py ones have already passed, the test_worker.py ones are still running. They also show up under the PR's checks as Smoke-tests-dev (...).

@auvipy

auvipy commented Sep 21, 2026

Copy link
Copy Markdown
Member

things are passing here but the kombu 5.7.0a1 compatibility check pr got some failures here #10677

@auvipy
auvipy merged commit 35e6ac2 into celery:main Sep 22, 2026
395 of 396 checks passed
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.

Run the smoke tests against Billiard/Kombu main on a schedule

2 participants