Skip to content

Conversation

@GernotMaier
Copy link
Contributor

@GernotMaier GernotMaier commented Sep 1, 2025

We have a lot of CI workflows running. Not all seem to be necessary, especially those running for each push.

This PR reviews all CI workflows and optimizes the triggers. Also added a table to the documentation with the different triggers.

Schedule changes:

  • added workflow_dispatch to all workflows to allow for manual execution
  • build-simtools-dev-image: there is no test running with this workflow (was different a long time ago). All what is tested is that we can install simtools on a linux image; this is done for each integration test; so not needed to run on pull tests.). Run it for changes to `docker/Dockerfile-dev
    • remove build pull_request requested
    • remove build on tag v*
  • CI-docs: runs on PR [opened, ready_for_review]and notsynchronize` anymore (meaning for each push)
  • don’t run unit tests when integration tests are changed (and vice versa)

Functionality

  • remove extra pylint step in CI-linter, as pylint is included in pre-commit (it wasn’t a while ago)
  • separate super-linter step to run now in parallel for improved efficiency
  • drop python 3.11 tests for unit tests (getting old...)
  • unit tests: always run now against the local database of the workflow. The goal is anyway that unit tests are not using the DB at all (use mocker), so these calls were redundant.
  • changed codecov/random order step python version to 3.13 (from 3.12).

@GernotMaier GernotMaier requested a review from Copilot September 1, 2025 09:20
@GernotMaier GernotMaier self-assigned this Sep 1, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Optimizes CI workflow triggers to reduce unnecessary builds and improve efficiency by removing redundant tests and adding manual dispatch capability to all workflows.

  • Reduced workflow frequency by removing triggers for push events and limiting PR triggers to specific types
  • Added path-based filters to prevent unit and integration tests from running when irrelevant files change
  • Restructured the linter workflow to run super-linter in parallel and removed redundant pylint step

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
docs/source/developer-guide/continuous_integration.md Added comprehensive table documenting workflow triggers and conditions
.github/workflows/changelog.yml Added manual dispatch and removed synchronize trigger
.github/workflows/build-simtools-dev-image.yml Removed push and tag triggers to reduce unnecessary builds
.github/workflows/CI-unittests.yml Added path filter to skip when integration tests change
.github/workflows/CI-linter.yml Separated super-linter into parallel job and removed redundant pylint step
.github/workflows/CI-integrationtests.yml Added path filter to skip when unit tests change
.github/workflows/CI-docs.yml Changed trigger from synchronize to ready_for_review to reduce builds
Comments suppressed due to low confidence (1)

docs/source/developer-guide/continuous_integration.md:1

  • The path filter column appears to list paths that are ignored, but the column header doesn't clearly indicate this. Consider adding 'ignored' or 'paths-ignore' to the header to clarify that these paths exclude the workflow from running.
# Continuous Integration

@codecov
Copy link

codecov bot commented Sep 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.14%. Comparing base (87696b7) to head (9fb058d).
⚠️ Report is 12 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1723   +/-   ##
=======================================
  Coverage   98.14%   98.14%           
=======================================
  Files          88       88           
  Lines       11485    11485           
=======================================
  Hits        11272    11272           
  Misses        213      213           

☔ View full report in Codecov by Sentry.
📢 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.

@ctao-sonarqube
Copy link

ctao-sonarqube bot commented Sep 2, 2025

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube

@GernotMaier GernotMaier marked this pull request as ready for review September 2, 2025 11:11
Copy link
Collaborator

@EshitaJoshi EshitaJoshi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR!

@GernotMaier
Copy link
Contributor Author

Thanks @EshitaJoshi !

@GernotMaier GernotMaier merged commit d1a57eb into main Sep 2, 2025
15 checks passed
@GernotMaier GernotMaier deleted the ci-review branch September 2, 2025 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants