Skip to content

Docs + restore JaCoCo coverage gate (#323) - #327

Merged
drernie merged 2 commits into
mainfrom
323-docs-and-coverage
Apr 30, 2026
Merged

Docs + restore JaCoCo coverage gate (#323)#327
drernie merged 2 commits into
mainfrom
323-docs-and-coverage

Conversation

@drernie

@drernie drernie commented Apr 29, 2026

Copy link
Copy Markdown
Member

Summary

PR 2 of the 4-PR migration to the Nextflow Plugin Registry (#323). PR 1 was the structural rewrite (#324). This PR is documentation + restoring the JaCoCo coverage gate; no version bump and no source/test changes.

  • Docs: Replace legacy build/publish references (launch.sh, make publish, nextflow-io/plugins PR flow, NXF_PLUGINS_TEST_REPOSITORY GitHub-release pinning, plugins/ subproject, buildSrc) in README-DEV.md with the new io.nextflow.nextflow-plugin workflow: make assemble/install/package/release and ./gradlew releasePlugin (requires NPR_API_KEY) for publishing to registry.nextflow.io. README.md did not contain stale references and was left as-is.
  • Changelog: Added bullets to the in-flight [0.9.2] 2026-04-29 section noting the registry migration, the new build system, dropped nextflow-io/plugins flow, doc updates, and JaCoCo restoration. No new version section (1.0.0 entry comes in the release PR).
  • JaCoCo: Re-added id 'jacoco' to the plugins block, configured jacocoTestReport and jacocoTestCoverageVerification (70% line minimum, mirroring the pre-migration threshold), and wired check to depend on the verification task. Restored coverage / verifyCoverage Makefile targets and updated .PHONY.
  • Verified locally with JDK 21: ./gradlew check passes including jacocoTestCoverageVerification at the 70% bar — no threshold reduction needed.

Refs #323

Test plan

  • ./gradlew check passes locally with the 70% JaCoCo gate enabled
  • CI green on this branch
  • Manual review of doc changes for accuracy vs. the new build flow

drernie and others added 2 commits April 29, 2026 16:02
Replace legacy build/publish references (launch.sh, make publish,
nextflow-io/plugins PR flow, NXF_PLUGINS_TEST_REPOSITORY GitHub-release
pinning, plugins/ subproject, buildSrc) with the new
io.nextflow.nextflow-plugin workflow: make assemble/install/package/release
and ./gradlew releasePlugin (NPR_API_KEY) for publishing to
registry.nextflow.io. Add CHANGELOG bullets for the registry migration.

Refs #323

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Reapply the pre-migration coverage gate that was dropped during the move
to the io.nextflow.nextflow-plugin Gradle build. Adds the `jacoco`
plugin, configures `jacocoTestReport` and `jacocoTestCoverageVerification`
(70% line minimum, matching the previous threshold), and wires `check`
to depend on the verification task. Restores the `coverage` and
`verifyCoverage` Makefile targets.

Refs #323

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ MARKDOWN markdown-link-check 2 0 0 2.26s
✅ MARKDOWN markdown-table-formatter 2 1 0 0 0.18s
✅ REPOSITORY checkov yes no no 10.35s
✅ REPOSITORY git_diff yes no no 0.0s
✅ REPOSITORY grype yes no no 30.99s
✅ REPOSITORY secretlint yes no no 0.48s
✅ REPOSITORY syft yes no no 0.98s
✅ REPOSITORY trivy yes no no 6.82s
✅ REPOSITORY trivy-sbom yes no no 0.08s
✅ REPOSITORY trufflehog yes no no 2.24s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

@drernie
drernie merged commit 42e212a into main Apr 30, 2026
10 checks passed
@drernie
drernie deleted the 323-docs-and-coverage branch April 30, 2026 04:37
@drernie drernie mentioned this pull request Apr 30, 2026
5 tasks
drernie added a commit that referenced this pull request Apr 30, 2026
## Summary

First release published to the [Nextflow Plugin
Registry](https://registry.nextflow.io). Bumps the plugin version to
`1.0.0`, consolidating the unpublished `0.9.2` intermediate into the
registry-migration release.

This is the final PR in the migration tracked by #323. It bundles three
previously-merged PRs:

- #322 — Jackson `OffsetDateTime` serialization fix for Nextflow 24.10+
- #324 — Migrate to the new `io.nextflow.nextflow-plugin` Gradle build
system
- #327 — Docs refresh + restore JaCoCo 70% line-coverage gate

## Changes

- `build.gradle`: `version = '0.9.2'` -> `'1.0.0'`
- `CHANGELOG.md`: rename `[0.9.2]` section to `[1.0.0]` and add note
about Nextflow Plugin Registry as the publishing channel
- `README-DEV.md`: bump example `nf-quilt@0.9.2` references to `@1.0.0`

The `dest-1.0.0` test package has been pre-published to `s3://udp-spec`
so `QuiltPkgTest > should confirm contents of dest URI` passes in CI.

## Post-merge manual steps (human)

The actual registry publish is intentionally NOT automated in this PR:

1. `git tag 1.0.0 && git push origin 1.0.0`
2. `export NPR_API_KEY=... && ./gradlew releasePlugin`
3. Verify the plugin appears on https://registry.nextflow.io
4. Close #321 with the registry URL

## Test plan

- [x] `./gradlew test` passes
- [x] `./gradlew check` passes (JaCoCo gate satisfied)
- [x] `./gradlew packagePlugin` produces
`build/distributions/nf-quilt-1.0.0.zip`
- [x] `make pkg-test WRITE_BUCKET=udp-spec` published
`nf-quilt/dest-1.0.0` to `udp-spec`
- [ ] CI green

Closes #323
Closes #321

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- greptile_comment -->

<h3>Greptile Summary</h3>

This PR bumps the plugin version from `0.9.2` to `1.0.0` across
`build.gradle`, `CHANGELOG.md`, and `README-DEV.md` in preparation for
the first publish to the Nextflow Plugin Registry. All `0.9.2`
references have been consistently updated and no stale occurrences
remain in the repository.

<h3>Confidence Score: 4/5</h3>

Safe to merge — changes are purely a version bump with no functional
code modifications.

Only P2 finding (stale comment in build.gradle); no logic, security, or
correctness issues present.

No files require special attention beyond the minor stale comment in
build.gradle line 17.

<h3>Important Files Changed</h3>

| Filename | Overview |
|----------|----------|
| build.gradle | Version bumped from 0.9.2 to 1.0.0; stale "until the
1.0.0 release" comment left in place (P2) |
| CHANGELOG.md | Section heading renamed from [0.9.2] to [1.0.0];
registry publication note prepended — no issues found |
| README-DEV.md | Four nf-quilt version references updated from 0.9.2 to
1.0.0 in example commands — no issues found |

</details>

<h3>Flowchart</h3>

```mermaid
%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["build.gradle\nversion = '1.0.0'"] --> B["./gradlew packagePlugin\nnf-quilt-1.0.0.zip"]
    B --> C["git tag 1.0.0\ngit push origin 1.0.0"]
    C --> D["./gradlew releasePlugin\nNPR_API_KEY set"]
    D --> E["Nextflow Plugin Registry\nregistry.nextflow.io"]
    F["CHANGELOG.md\n1.0.0 section"] -.-> B
    G["README-DEV.md\nnf-quilt at 1.0.0"] -.-> E
```

<sub>Reviews (1): Last reviewed commit: ["Release
1.0.0"](c7e63de)
| [Re-trigger
Greptile](https://app.greptile.com/api/retrigger?id=30280267)</sub>

> Greptile also left **1 inline comment** on this PR.

<!-- /greptile_comment -->

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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