-
-
Notifications
You must be signed in to change notification settings - Fork 795
CI: add dev-only Windows smoke workflow #3923
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
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces an experimental Windows CI workflow to provide early feedback for Windows contributors without blocking merges. The workflow runs lightweight smoke tests including linting and Python compilation checks.
Key Changes
- Adds a new non-blocking Windows CI workflow that runs on push and pull request events
- Executes flake8 linting to verify code style consistency across platforms
- Runs Python compileall as a smoke test to catch syntax and basic import issues early
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| jobs: | ||
| windows-smoke: | ||
| runs-on: windows-latest | ||
| continue-on-error: true #this is a smoke test (experimental); it won't block merges |
Copilot
AI
Dec 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The inline comment is missing a space after the hash symbol. According to standard YAML comment formatting conventions, there should be a space between the # and the comment text.
| continue-on-error: true #this is a smoke test (experimental); it won't block merges | |
| continue-on-error: true # this is a smoke test (experimental); it won't block merges |
|
That's a nice start but we'll need a full run of Nominatim's tests to make sure that the installation actually works. At a minimum the tests workflow should work just like on the Linux installations. Ideally, we get a install workflow to work as well. |
Thanks for the feedback. Stage 1 : (Windows Test Parity)
Stage 2 :Add full import support + osm2pgsql so that BDD import scenarios run successfully. Stage 3 :Replicate the full install workflow on Windows to match Linux install validation. I’ll start with Stage 1 so we can first get reliable test coverage on Windows and iterate from there. |
|
Restricting CI tests to the Python unit tests in a first stage PR sounds reasonable. Lets start with that. |
Hi @lonvia , while going through the current ci-tests.yml , I noticed the So, could you kindly clarify these 2 issues in summary ?
|
|
The |
Just a small query here, by using the same artifact, do you mean to create the Windows CI coverage in the existing file itself (ci-tests.yml ) ?or make another file for Windows CI ? |
Description
This PR adds an experimental Windows CI workflow to provide a lightweight signal for Windows contributors.
windows-ci.ymlrunning onwindows-latestfor push and pull requestflake8on Windows (same lint target as Linux CI)python -m compileallas a smoke check to catch syntax or import-time issuescontinue-on-error: trueNote
This workflow is intentionally dev-only and does not attempt a full nominatim-db install on Windows (blocked by PyICU/ICU native build requirements on GitHub-hosted runners). Linux CI remains the authoritative test pipeline.
Future Work
This is the first step toward full Windows support. I am planning a follow-up effort to resolve the PyICU / ICU native build issues so we can eventually run full Nominatim installs and tests on Windows CI.