Repository navigation
CI: test every push that changes the code of a PR - issue #39 - #40
Conversation
Remove the git patch-id comparison of #38: patch-id ignores whitespace, so a push that only re-indents lines of the PR skipped the tests, and a merge of main skipped testing the PR together with the new main. Only a PR that changes nothing but *.md files skips the jobs now, detected with dorny/paths-filter. Closes #39 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pocl 3.0 on PyPI has an LLVM that does not know the AMD EPYC 9V45 of some runners, and fails with "unknown target CPU 'generic'". pocl 3.0 has no setting to override the CPU, so POCL_LLVM_CPU_NAME (82b9701) had no effect: the runs only passed on EPYC 7763 runners. conda-forge has pocl 7.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
rvhonorato
left a comment
There was a problem hiding this comment.
here you have a pocl commit (f5d1e84) which makes a big change on how the GPU job is setup adding micromamba and conda-forge instead of pip and apt - this seems like it was added without any consideration of the project setup and is off-scope of this PR
looking at the chain of changes that ended up here I can see that #38 was merged 7 minutes before it was opened without anyone reviewing, adding ~70 lines of a bash script inside the CI following what I think was a bad prompt, see: #38 (comment)
in PR #38 "How was this tested?" section the AI agent tested cases the AI agent itself made up. Looking beyond this repository I see the same patter repeated in other PRs where the user is letting the AI agent create both the code AND the tests - this is generally a very bad thing because the AI agent will check its own understanding of the problem, not the problem itself, please keep in mind this type of changes NEED human intervention.
later, an experienced human developer questioned the approach in #38 and the AI agent replied (whereas another human should have replied) defending its own implementation based its "decision" of "choices" made by agent itself #38 (comment)
this implementation was then propagated unchecked to other repositories: haddocking/haddock3#1749 was closed 2min after being opened and haddocking/deeprank-gnn-esm#43 was closed a few minutes after being opened both without any human review
AI is good, its a powerful tool that can help in a variety of scenarios - but looking at the pattern in this organization, it's missing human ownership in a few points:
- do not merge before review
- one change per pr
- write reviews in human words
please take some time to write a good system prompt at $HOME/.claude/CLAUDE.md with clear guidelines and best practices (this is shared across all sessions), also check how your $HOME/.claude/settings.json is currently configured. anthropic has even some built-in plugins that can be called easily such as /review /simplify etc - have a look at a more comprehensive list here https://code.claude.com/docs/en/plugins
this PR is part of a larger pattern spreading in the whole organization, see my comment here https://github.com/haddocking/csbportal/pull/1741#issuecomment-6523599986, a good effort towards mending that would be to install some plugins and since the changes were machine-written in this PR specifically let also a machine review it
|
Yes AI is powerful - after loosing my software engineer, I have the choice of letting things as they are, or advance things and fixing issues that have been there since a long time. This a choice... And there are pros and cons to using AI. But at this time I feel the pros are outweighing the cons :-) |
|
And if nobody is there to review things then I have to make choices... |
This reverts commit f5d1e84: it is off-scope for this PR, and changes how the pocl job is set up. The pocl failure on AMD EPYC 9V45 runners is fixed separately, as in haddocking/powerfit#143. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
PS: And thanks for the CLAUDE tips |
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are blocking approval of the CI-skipping and documentation changes.
No open issues 🎉
What changed in this PR
Addresses #39 by removing patch-ID-based CI skipping, so code-changing PRs are tested again after indentation-only updates or merges from main.
Changes:
- Replaces the custom comparison script with
dorny/paths-filter, skipping tests only for Markdown-only PRs. - Preserves testing on every push to
mainand keepsci-passedas the required summary check. - Updates contributor documentation to describe the revised skipping behavior.
| File | Description |
|---|---|
| CONTRIBUTING.md | Documents that only Markdown-only PRs skip CI jobs. |
| .github/workflows/ci.yml | Replaces patch-ID checks with path filtering and updates the skip message. |
Review effort: Balanced
What does this PR do and why?
Reverts the "code of the PR unchanged" skip of #38, as raised by @rvhonorato and @sverhoeven in its review:
git patch-idignores whitespace, so a push that only re-indents lines of the PR skipped the tests;main, the PR together with the newmainwas not tested before merging.The
changesjob is nowdorny/paths-filter: only a PR that changes nothing but*.mdfiles skips the jobs, and pushes tomainare always tested.ci-passedstays the required check, so Markdown-only PRs can still be merged.How was this tested?
predicate-quantifier: everyis needed for the!**/*.mdexclusion: checked with picomatch (the matcher ofdorny/paths-filter) thatREADME.mdandCHANGELOG.mdare not code andsrc/disvis/main.py,.github/workflows/ci.ymlare.AI assistance
Claude Code wrote the change and the checks above; I reviewed them.
Checklist
CONTRIBUTING.md)test-cases/*/example-results/updated if the output changes (no output change)Related issues
Closes #39
Notes for reviewers
A Markdown-only PR is not tested; the code it sits on was tested when it was pushed to
main.🤖 Generated with Claude Code