ci: call the org's reusable workflows, and leave CI alone - #36
Open
sotashimozono wants to merge 3 commits into
Open
ci: call the org's reusable workflows, and leave CI alone#36sotashimozono wants to merge 3 commits into
sotashimozono wants to merge 3 commits into
Conversation
Nine workflows were hand-rolled copies of what QAtlasHub/.github already
publishes. They are now four-line callers. 417 lines of workflow become about a
third of that, and a fix to the shared copy reaches this repository without
anyone remembering it exists.
CI.yml is untouched. It already calls TestShards.jl's sharded-tests reusable
with this suite's own `shards: 4` and a General registry refresh, and that is
repository-specific rather than boilerplate.
Behaviour that changes, deliberately:
AutoMerge `--merge` -> `--squash --delete-branch`, and BOT_PAT so a bot's
PR triggers CI (a GITHUB_TOKEN-created PR does not).
CompatHelper daily -> every four hours. Drops a dead `if:` that referenced
`steps.julia.outcome` when no step had that id, so setup-julia
was always skipped. It was harmless — the runner had Julia and
CompatHelper.main() has been opening PRs (#25) — but it was
guarding nothing.
FormatCheck drops `paths: ['**/*.jl']`. A filtered required check never
runs on a PR that touches no .jl file, and a required check
that never runs stays pending forever. `main` requires no
checks today; the filter would cost everything the day one is
added.
TagBot gains a daily cron that backfills a registered-but-untagged
version.
VersionCheck "strictly greater" -> "exactly one semver step". Tighter: a PR
that skips a version now fails instead of passing.
Documentation split into Documentation.yml (deploy) + DocsPreview.yml
(preview comment), which is how the reusables are shaped. The
Pages-rebuild trigger is in the deploy reusable, so nothing is
lost. `preview-base` is set to the Pages host explicitly: the
reusable defaults to codes.sota-shimozono.com, which does not
resolve.
AutoRegister the local copy folded the Release Drafter draft body into the
registration comment; the shared one posts a shorter stub. It
still carries the literal 'changelog' keyword Registrator's
guideline check wants.
Deleted:
.github/workflows/AutoRegister.yml.disabled — its header says this package is
deliberately not in the General registry. That stopped being true today, so
the file is now a note that answers the question wrongly.
.github/scripts/build_release_notes.py — the same script now ships inside
QAtlasHub/.github/actions/release-notes. PULL_REQUEST_TEMPLATE.md's reference
is repointed.
PublishRelease keeps its `pull-requests: read`. The shared action does not
declare it, and a `permissions:` block replaces rather than adds, so dropping it
while adopting the action would reintroduce exactly the failure #33 fixed.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
|
📚 Docs preview: https://qatlashub.github.io/ParallelManager.jl/previews/PR36/ (updates on each push to this PR) |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Surfaced by dropping FormatCheck's `paths: ['**/*.jl']` filter in the previous
commit. `format(".")` always inspected the whole repository, so this violation
was reachable — but only from a pull request that happened to touch a `.jl`
file, and none had since it appeared. The check reported green by not running.
One file, one call, no behaviour change.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Every item here was raised on the registration PR and verified against the
tree before changing anything.
src/KeyLock.jl the Module layout table linked a file that does not
exist; the row is removed
mkdir advisory lock locking is delegated to `DataVault.acquire_running!`,
which uses POSIX `link()`, not `mkdir`
heartbeat / stale NOT removed — `DataVault` really does write a
heartbeat into `.running` and reclaim cold markers via
`cleanup_stale`. What was wrong was the mechanism and
the owner, not the capability
test/keylock/ no such directory; those tests live in `test/run/`
(`test_run_keylock.jl`), which the line below already
lists
templateHPC.jl the repository exists but is PRIVATE, so the link is a
404 for everyone but its owner. Removed rather than
left as a dead link from a public README
Documentation links now point at the site that is actually served,
https://qatlashub.github.io/ParallelManager.jl/ — Pages was never enabled on
this repository after the move to the org, so `gh-pages` had content that
nothing served. `docs/make.jl` had the same dead domain as `canonical`.
The `stable` badge is dropped rather than repointed: there is no tag yet, so it
would 404 too.
Swept every link in the README afterwards: all external URLs return 200, all
relative paths resolve.
Project.toml stays at 0.4.6. The pending registration is for that version, and
a pending registration is updated by retriggering from a new commit rather than
by bumping.
Co-Authored-By: Claude Opus 5 (1M context) <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.
Nine workflows were hand-rolled copies of what
QAtlasHub/.githubalready publishes. They becomefour-line callers: 417 → 138 lines, and a fix to the shared copy now reaches this repository
without anyone remembering it exists.
CI.ymlis untouched — verified withgit diff --quiet. It already calls TestShards.jl'ssharded-testsreusable with this suite's ownshards: 4and a General registry refresh, whichis repository-specific rather than boilerplate.
Behaviour that changes, deliberately
--auto --merge,GITHUB_TOKEN--auto --squash --delete-branch,BOT_PATso a bot's PR triggers CIpaths: ['**/*.jl']Documentation.yml+ newDocsPreview.ymlchangelogkeywordTwo of those deserve more than a table row.
CompatHelper's dead
if:. The old file guardedsetup-juliawithif: steps.julia.outcome == 'skipped'when no step had the idjulia, so the guard nevermatched and setup-julia was always skipped. I expected to find a broken workflow and did not:
the runner had Julia anyway,
CompatHelper.main()succeeded, and it has been opening PRs (#25).So this removes a condition that was guarding nothing, not a bug.
preview-base. Thedocs-previewreusable defaults tocodes.sota-shimozono.com, which doesnot resolve (
curlreturns000).DocsPreview.ymlpasseshttps://qatlashub.github.ioexplicitly so the link in the comment is one a reviewer can click. Pages has now been enabled on
this repository —
gh-pagesalready carrieddev/,index.htmlandpreviews/, but nothing wasserving it, so both the old and the new URL were 404 until today.
Deleted
.github/workflows/AutoRegister.yml.disabled— its header reads "This package isdeliberately NOT in the General registry … rename back when the package is actually meant to be
registered." That condition was met today (chore: register in the General registry #35), so the file is now a note that answers the
question wrongly.
.github/scripts/build_release_notes.py— the identical script now ships insideQAtlasHub/.github/actions/release-notes(same## Proposed Changes/## Usage or Resultsextraction, same create-or-edit logic).
PULL_REQUEST_TEMPLATE.md's reference is repointed.What is deliberately not dropped
PublishRelease.ymlkeepspull-requests: read. The shared action does not declare it, and apermissions:block replaces rather than adds — so adopting the action while takingTestShards' shorter permissions block would reintroduce exactly the failure #33 fixed
(
Resource not accessible by integration (search.nodes.0)).Checked
All 13 workflow files parse (
yaml.safe_load).mainrequires a PR but no status checks(QAtlasHub/.github#25), so this PR's CI has to be read rather than relied on.
Version
0.4.6→0.4.7.Do not merge yet
0.4.6is mid-registration in JuliaRegistries/General#166878(new package, three-day waiting period). Merging this bumps to
0.4.7and fires AutoRegisteragain, which would open a second registration PR for a package whose first one is still open.
Merge after #166878 lands.