Skip to content

feat: add DIA-NN 2.3.2 to CI/CD pipeline#7

Merged
ypriverol merged 1 commit intomainfrom
feat/add-diann-2.3.2-ci
Apr 3, 2026
Merged

feat: add DIA-NN 2.3.2 to CI/CD pipeline#7
ypriverol merged 1 commit intomainfrom
feat/add-diann-2.3.2-ci

Conversation

@ypriverol
Copy link
Copy Markdown
Member

@ypriverol ypriverol commented Apr 3, 2026

Summary

Add DIA-NN 2.3.2 to the container build and push CI/CD workflow.

  • Add diann-2.3.2 to paths filter, change detection env vars, and build matrix
  • Set 2.3.2 as the new :latest tag (was 2.2.0)
  • Broader diann-*/** path trigger for PRs

The Dockerfile at diann-2.3.2/Dockerfile already exists. This PR wires it into the CI so it gets built and pushed to ghcr.io/bigbio/diann:2.3.2 on merge/release.

Needed by bigbio/quantmsdiann#32 (DDA support requires 2.3.2 container).

Summary by CodeRabbit

  • New Features

    • Added support for DIA-NN 2.3.2 container image, expanding available tool versions.
  • Chores

    • Improved CI workflow to better detect changes in DIA-NN-related directories and streamlined container image build configuration.

- Add diann-2.3.2 to paths filter, change detection, and build matrix
- Set 2.3.2 as the new :latest tag (replaces 2.2.0)
- Add diann-*/** to PR path triggers for broader change detection

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@qodo-code-review
Copy link
Copy Markdown

ⓘ You are approaching your monthly quota for Qodo. Upgrade your plan

Review Summary by Qodo

Add DIA-NN 2.3.2 to CI/CD pipeline with latest tag

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add DIA-NN 2.3.2 to CI/CD build matrix and path filters
• Set 2.3.2 as new :latest tag, replacing 2.2.0
• Expand PR path triggers to include all diann subdirectories
• Integrate version detection and conditional build logic
Diagram
flowchart LR
  A["PR/Push Event"] -->|"diann-*/** paths"| B["Path Filter Detection"]
  B -->|"diann_2_3_2 filter"| C["CHG_232 Environment Variable"]
  C -->|"Build Matrix"| D["DIA-NN 2.3.2 Container"]
  D -->|"ghcr.io/bigbio/diann:2.3.2"| E["Registry Push"]
  D -->|"ghcr.io/bigbio/diann:latest"| E
  F["DIA-NN 2.2.0"] -->|"ghcr.io/bigbio/diann:2.2.0"| E
Loading

Grey Divider

File Changes

1. .github/workflows/quantms-containers.yml ⚙️ Configuration changes +7/-2

Integrate DIA-NN 2.3.2 into CI/CD workflow

• Added diann-2.3.2 to path filters for change detection in both PR and push events
• Expanded PR path trigger from diann-*/Dockerfile to diann-*/** for broader change detection
• Added diann_2_3_2 filter configuration to detect changes in diann-2.3.2/** directory
• Added CHG_232 environment variable to capture filter output for version detection
• Inserted DIA-NN 2.3.2 as first entry in build matrix with :latest tag assignment
• Removed :latest tag from DIA-NN 2.2.0 entry and updated jq filter logic to include 2.3.2 version
 check

.github/workflows/quantms-containers.yml


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review bot commented Apr 3, 2026

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX Issues (0)

Grey Divider


Action required

1. Workflow repushes latest tag 🐞 Bug ☼ Reliability
Description
Because .github/workflows/** is treated as a change for diann_2_3_2 and DIA-NN 2.3.2 is tagged
with ghcr.io/bigbio/diann:latest, a workflow-only change on main can rebuild and push :latest
even when the diann-2.3.2 build context did not change.
Code

.github/workflows/quantms-containers.yml[R67-68]

+            {"context":"diann-2.3.2","tag":"ghcr.io/bigbio/diann:2.3.2","sif":"diann-sif:2.3.2","extra_tags":"ghcr.io/bigbio/diann:latest","chg":"CHG_232"},
+            {"context":"diann-2.2.0","tag":"ghcr.io/bigbio/diann:2.2.0","sif":"diann-sif:2.2.0","extra_tags":"","chg":"CHG_220"},
Evidence
The change detector marks diann_2_3_2 as changed when .github/workflows/** changes. The matrix
entry for 2.3.2 includes the :latest tag, and the build step pushes tags on non-PR events
(including push to main), so workflow edits can result in republishing :latest.

.github/workflows/quantms-containers.yml[3-6]
.github/workflows/quantms-containers.yml[41-47]
.github/workflows/quantms-containers.yml[66-68]
.github/workflows/quantms-containers.yml[82-91]
.github/workflows/quantms-containers.yml[128-136]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
Workflow-only changes (under `.github/workflows/**`) currently make `diann_2_3_2` appear “changed”, and since 2.3.2 carries the `ghcr.io/bigbio/diann:latest` extra tag, this can republish `:latest` even when the container context didn’t change.

### Issue Context
This makes `:latest` mutable due to CI config edits and can change image digests without any Dockerfile/context changes.

### Fix Focus Areas
- .github/workflows/quantms-containers.yml[41-52]
- .github/workflows/quantms-containers.yml[66-73]
- .github/workflows/quantms-containers.yml[82-94]

### Suggested change (one of)
1) Remove `.github/workflows/**` from the per-image `dorny/paths-filter` rules so only actual image-context changes trigger builds/pushes.
2) Add a separate `workflow_changed` filter and, when only workflow files changed, either:
  - build without pushing (`push: false`), or
  - exclude `extra_tags` (especially `:latest`) from the matrix for that run.
3) Gate publishing of `extra_tags` (e.g., `:latest`) to `release` events only.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Overbroad PR path trigger 🐞 Bug ➹ Performance
Description
The pull_request.paths filter now matches any file under diann-* directories, so PRs that change
non-build inputs in those directories will still run the container workflow and potentially perform
unnecessary builds.
Code

.github/workflows/quantms-containers.yml[10]

+      - "diann-*/**"
Evidence
The PR trigger was broadened from a Dockerfile-only pattern to all files under any diann-*
directory, which increases the set of PR changes that start the workflow.

.github/workflows/quantms-containers.yml[6-12]
.github/workflows/quantms-containers.yml[103-116]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`pull_request.paths` includes `diann-*/**`, which triggers this workflow for any change inside a DIA-NN version directory, even when the change is not relevant to container builds.

### Issue Context
This increases CI utilization and can cause container build jobs to run on PRs more often than intended.

### Fix Focus Areas
- .github/workflows/quantms-containers.yml[6-12]

### Suggested change
Restrict the PR trigger to the minimal set of build inputs, e.g. keep only `diann-*/Dockerfile` (or explicitly list additional needed files), and remove the broad `diann-*/**` entry if it isn’t required.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 3, 2026

📝 Walkthrough

Walkthrough

The GitHub Actions workflow for DIA-NN container builds was updated to expand path triggers to include all files under diann-*/** directories and add support for building a new DIA-NN 2.3.2 image by introducing corresponding change-detection logic and matrix entry.

Changes

Cohort / File(s) Summary
CI Workflow Enhancement
.github/workflows/quantms-containers.yml
Expanded workflow path triggers from diann-*/Dockerfile to diann-*/**. Added new diann_2_3_2 change-detection filter with CHG_232 environment variable. Extended build matrix to include diann-2.3.2 image with conditional jq logic for .chg == "CHG_232". Updated diann-2.2.0 entry to use empty extra_tags.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • Add diann 232 #6: Directly related PR that introduces the diann-2.3.2 Dockerfile to complement this workflow configuration change.

Poem

🐰 A rabbit hops through workflows with glee,
Adding 2.3.2 to the container spree!
Paths now broader, matrices expand,
Building images across the land,
CI pipelines running smooth as can be! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: add DIA-NN 2.3.2 to CI/CD pipeline' accurately and clearly describes the main objective of the changeset, which is adding DIA-NN 2.3.2 support to the CI/CD workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/add-diann-2.3.2-ci

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

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.github/workflows/quantms-containers.yml (1)

9-10: Optional: remove redundant DIA-NN path glob.

Line 10 (diann-*/**) already covers Line 9 (diann-*/Dockerfile), so keeping both is redundant. You can drop Line 9 to reduce maintenance noise.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/quantms-containers.yml around lines 9 - 10, Remove the
redundant glob entry "diann-*/Dockerfile" since the broader pattern "diann-*/**"
already includes that path; update the workflow file to keep only "diann-*/**"
and remove the specific "diann-*/Dockerfile" line to avoid duplication.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/quantms-containers.yml:
- Around line 9-10: Remove the redundant glob entry "diann-*/Dockerfile" since
the broader pattern "diann-*/**" already includes that path; update the workflow
file to keep only "diann-*/**" and remove the specific "diann-*/Dockerfile" line
to avoid duplication.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1abb866c-eb50-425f-9e94-fc9b886a0e65

📥 Commits

Reviewing files that changed from the base of the PR and between c0b2f8d and 93ffbed.

📒 Files selected for processing (1)
  • .github/workflows/quantms-containers.yml

Comment on lines +67 to +68
{"context":"diann-2.3.2","tag":"ghcr.io/bigbio/diann:2.3.2","sif":"diann-sif:2.3.2","extra_tags":"ghcr.io/bigbio/diann:latest","chg":"CHG_232"},
{"context":"diann-2.2.0","tag":"ghcr.io/bigbio/diann:2.2.0","sif":"diann-sif:2.2.0","extra_tags":"","chg":"CHG_220"},
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. Workflow repushes latest tag 🐞 Bug ☼ Reliability

Because .github/workflows/** is treated as a change for diann_2_3_2 and DIA-NN 2.3.2 is tagged
with ghcr.io/bigbio/diann:latest, a workflow-only change on main can rebuild and push :latest
even when the diann-2.3.2 build context did not change.
Agent Prompt
### Issue description
Workflow-only changes (under `.github/workflows/**`) currently make `diann_2_3_2` appear “changed”, and since 2.3.2 carries the `ghcr.io/bigbio/diann:latest` extra tag, this can republish `:latest` even when the container context didn’t change.

### Issue Context
This makes `:latest` mutable due to CI config edits and can change image digests without any Dockerfile/context changes.

### Fix Focus Areas
- .github/workflows/quantms-containers.yml[41-52]
- .github/workflows/quantms-containers.yml[66-73]
- .github/workflows/quantms-containers.yml[82-94]

### Suggested change (one of)
1) Remove `.github/workflows/**` from the per-image `dorny/paths-filter` rules so only actual image-context changes trigger builds/pushes.
2) Add a separate `workflow_changed` filter and, when only workflow files changed, either:
   - build without pushing (`push: false`), or
   - exclude `extra_tags` (especially `:latest`) from the matrix for that run.
3) Gate publishing of `extra_tags` (e.g., `:latest`) to `release` events only.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@ypriverol ypriverol merged commit 4357944 into main Apr 3, 2026
8 checks passed
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.

1 participant