Reorganize CI jobs so they appear sensibly in the GitHub UI#3422
Reorganize CI jobs so they appear sensibly in the GitHub UI#3422
Conversation
5314fee to
eae7e56
Compare
31dbe27 to
7e29cd4
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR reorganizes CI workflows to improve their visibility and organization in the GitHub Actions UI. The changes separate different types of tests and checks into dedicated workflow files for easier navigation and understanding.
Key Changes:
- Extracted specialized workflows from the main build workflow (docs, macOS tests, image publishing)
- Added new functional test suite with multi-version Python testing (3.10-3.14)
- Integrated mypy type checking into the lint and style checks workflow
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/smoke_test.yml |
Renamed to "End to end Smoke Tests" and removed macOS test job (moved to separate file) |
.github/workflows/publish_images.yml |
New workflow for publishing Docker images to registry (extracted from smoke_test.yml) |
.github/workflows/macos.yml |
New workflow containing the macOS installation and setup tests (extracted from smoke_test.yml) |
.github/workflows/functional_test.yml |
New workflow for running functional tests across multiple Python versions and operating systems |
.github/workflows/docs.yml |
New workflow dedicated to documentation build validation (extracted from checks.yml) |
.github/workflows/checks.yml |
Updated to focus on lint and style checks, adds mypy type checking job |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1,52 @@ | |||
| name: Test MacOS | |||
| # Unknown. MacOS functionality test i guess, probably incomplete | |||
There was a problem hiding this comment.
The comment is vague and unprofessional. Consider providing a clear description of what this workflow does, such as: "Tests installation and basic setup on macOS to ensure compatibility" or something more specific based on the actual purpose of this test.
| # Unknown. MacOS functionality test i guess, probably incomplete | |
| # Tests installation and basic setup on macOS to ensure compatibility |
There was a problem hiding this comment.
@sgoggins do you know why this test is here, or if we still rely on it?
There was a problem hiding this comment.
@JohnStrunk created most of these adn they have been working. AFAIK these tests are part of what is keeping augur stable and easy to deploy ... which I think you know so I think I may not understand the question :)
There was a problem hiding this comment.
given the definition of this test, im unsure what it is specifically testing - it seems to just install some python data processing toolkits and things. are we trying to ensure one of our dependencies can install on mac OS? it feels weird to be testing a dependency in one of our tests like this - IMO it would make more sense to make sure the unit tests run on MacOS (which I think its set up by this PR)
There was a problem hiding this comment.
The "Go" and NLTK parts have been the most inconsistent historically.
@JohnStrunk's approach, as I understand it, was to create this test in the CI and then validate that, when the test succeeds, Augur runs on OSX. Successful installation of the toolkits cannot be assumed across OSX distros, Go, and Python distros on OSX, based on our long experience.
a012e06 to
7f8d8f9
Compare
sgoggins
left a comment
There was a problem hiding this comment.
I think this is a decoupling and modularization of the CI jobs. LGTM.
| @@ -0,0 +1,52 @@ | |||
| name: Test MacOS | |||
| # Unknown. MacOS functionality test i guess, probably incomplete | |||
There was a problem hiding this comment.
@JohnStrunk created most of these adn they have been working. AFAIK these tests are part of what is keeping augur stable and easy to deploy ... which I think you know so I think I may not understand the question :)
Signed-off-by: Adrian Edwards <adredwar@redhat.com>
Signed-off-by: Adrian Edwards <adredwar@redhat.com>
Signed-off-by: Adrian Edwards <adredwar@redhat.com>
7f8d8f9 to
f4a29f9
Compare
Signed-off-by: Adrian Edwards <adredwar@redhat.com>
Signed-off-by: Adrian Edwards <adredwar@redhat.com>
f4a29f9 to
346a46d
Compare
|
closing as not really necessary. The key change i wanted here was that the unit tests were their own section, which was achieved when those were merged. |
This reorganizes the CI jobs so they can be more easily found via the Actions tab of github. it essentially sepearates the tests into categories for things like checks (i.e. spell check, type check), docs build, smoke tests, functional/unit tests. etc)
it also adds CI jobs for running python type checks (mypy) and the unit tests