Repository navigation
ci: skip the matrices for docs-only changes and draft PRs, cancel superseded PR runs - #38
Merged
Merged
Conversation
…erseded PR runs - paths-ignore on push and pull_request for docs/**, **/*.adoc, CLAUDE.md, examples/README.md and LICENSE*. README.md and tests/README.md stay triggers: the wheel build copies README.md and test_no_monorepo_wording.py reads both. Schedule, dispatch and workflow_call are unaffected. - test-python-bindings.yml gets the concurrency rule the examples workflow has: cancel superseded runs on pull_request only. Other events get a group of their own (run_id), so a push to main or a nightly run is never cancelled or replaced while queued. The group names the workflow literally because github.workflow is the caller's name in a workflow_call. - Draft PRs skip download-jars, the platform matrices and the summaries (bandit and the dependency audit still run); ready_for_review starts them. - Nightly runs stay: the jars come from arcadedata/arcadedb:latest, which moves without any commit here. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A PR runs two workflows, 24 jobs in Test Python Bindings (bandit, dependency audit, jar download, 20 platform legs, summary) and 22 in Test Python Examples, 46 in all, on the standard GitHub-hosted runners. The macOS and Windows concurrent-job caps are shared with ArcadeData/arcadedb's own CI, so a burst of 46 jobs can queue upstream. This PR removes runs that test nothing new. Every job and every matrix leg stays for a code change.
What runs now
docs/**,**/*.adoc,CLAUDE.md,examples/README.md,LICENSE*workflow_dispatch,workflow_call(release)Changes
paths-ignoreonpushandpull_request. Main is not protected (gh api repos/ArcadeData/arcadedb-python/branches/main/protectionreturns 404), so no required check can be left pending. Two Markdown files are kept as triggers on purpose, even though the request was**/*.md:README.md(the wheel build copies it,scripts/Dockerfile.buildandpyproject.tomlreadme) andtests/README.md(tests/test_no_monorepo_wording.pyreads both). Skipping them would mean a README edit is never checked by that test.docs/**is safe to skip becausetests/conftest.pycollect-ignorestest_docs_examples.pywhiledocs/index.mdis absent; a comment in both workflows says to dropdocs/**from the list if that Markdown site comes back.test-python-bindings.ymlgets the supersede rule thattest-python-examples.ymlalready had:cancel-in-progressonly forpull_request. Two small changes to the group in both files, so the rule holds for the events it must not touch: non-PR events userun_idinstead ofgithub.ref(a push and the nightly run sharerefs/heads/main, and a queued run in a group is replaced by a newer one even withcancel-in-progress: false), and the group names the workflow literally instead ofgithub.workflow, which is the caller's name in aworkflow_calland would put both workflows of a release in one group.pull_requesthastypes: [opened, synchronize, reopened, ready_for_review], anddownload-jars, the platform matrix and the summary job carrygithub.event_name != 'pull_request' || github.event.pull_request.draft == false. The summary jobs (if: always()) get the same condition, otherwise a skipped matrix would turn them red. In Bindings, bandit and the dependency audit still run on drafts: they are single Linux jobs and give fast feedback.arcadedata/arcadedb:latest(ARCADEDB_IMAGE_TAGdefaults tolatest), a tag upstream re-pushes on every deploy (last push seen on Docker Hub: 2026-10-23 16:54 UTC). A night with no commit here still tests a different engine, so a skip-if-main-unchanged guard would hide exactly the drift the nightly exists for, and weekly would delay it by up to seven days. The comment on the schedule says so.Checked
uvx --from actionlint-py actionlintexits 0 with the repo's.github/actionlint.yaml, and the pre-commitactionlinthook passes.🤖 Generated with Claude Code