Skip to content

Promote develop to main After Adopting the Hub-Hosted Tasks - #56

Merged
ptr727 merged 2 commits into
mainfrom
develop
Aug 16, 2026
Merged

Promote develop to main After Adopting the Hub-Hosted Tasks#56
ptr727 merged 2 commits into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

Promote develop to main, carrying one change:

  • Adopt the Hub-Hosted Validate and Release Chain Tasks #55 Adopt the Hub-Hosted Validate and Release Chain Tasks: test-pull-request.yml and publish-release.yml become caller stubs of the hub's validate-task.yml, publish-plan-task.yml and build-release-task.yml at hub release 2.0.352, and the five carried task files are deleted. No repo-specific hook was needed, every value maps to a task input. Its own CI run (31974932749) is the live proof of the smoke path and the validate default-hook path.

After this merges, a dispatch of publish-release.yml on main is the first real publish through the hub task for this repo: the executable assets attach to the GitHub release and the Docker image pushes, both through the hub defaults. That run ticks this repo's stage-2 and stage-4 adoption in the hub tracker. No issue closes on this promotion.

* Adopt the Hub-Hosted Validate and Release Chain Tasks
Replace validate-task.yml, build-release-task.yml, build-executable-task.yml,
build-docker-task.yml, and get-version-task.yml with caller stubs reaching
ptr727/ProjectTemplate's hub-hosted reusable workflows, pinned to the 2.0.352
release, per docs/reusable-workflows.md "Adopting the Gates" and "Adopting
the Release Chain". test-pull-request.yml moves from a push-all-branches
trigger to the hub's release-with-smoke shape (pull_request plus a paths
filter). publish-release.yml gains a plan job from publish-plan-task.yml,
keeping the existing dispatch-plus-schedule trigger and publish behavior.
No repo-specific hook is needed: the vanilla executable and Docker layout
matches the hub defaults through inputs alone. Updates the OPERATIONS.md
sentence describing the deleted validate-task.yml as hub-owned.
* Fetch Full History in the Changed-Targets Filter Job
A workflow_dispatch run of test-pull-request.yml has no pull request to read the
changed-files list from, so dorny/paths-filter falls back to a local diff against
the default branch, which a shallow checkout could starve of a common ancestor.
Raised by the Copilot review on PR #55.
CopilotAI lite review requested due to automatic review settings August 16, 2026 22:17
@codecov

codecovBot commented Aug 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 43.37%. Comparing base (a3158ce) to head (9e55afa).
⚠️ Report is 8 commits behind head on main.

Additional details and impacted files
@@ Coverage Diff @@## main #56 +/- ##
=======================================
Coverage 43.37% 43.37% =======================================
Files 28 28 Lines 3896 3896 Branches 306 306 =======================================
Hits 1690 1690 Misses 2154 2154 Partials 52 52 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Promotes develop to main while migrating this repo’s CI and release workflows to thin caller stubs that invoke the hub-hosted reusable workflows in ptr727/ProjectTemplate (pinned to 2.0.352), deleting the previously carried task workflows.

Changes:

  • Replace local reusable workflow implementations with calls to hub-hosted validate-task.yml, publish-plan-task.yml, and build-release-task.yml.
  • Add a changes paths-filter gate so workflow-only changes can skip the smoke build while still running validation.
  • Update operations documentation to reflect the hub-hosted workflow adoption and delete the five carried task workflow files.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
OPERATIONS.mdUpdates repo operations docs to reflect hub-hosted CI/release workflows.
.github/workflows/test-pull-request.ymlSwitches PR CI to hub-hosted validate + smoke build chain, with paths-filter gating.
.github/workflows/publish-release.ymlSwitches release publishing to hub-hosted plan + validate + build-release chain.
.github/workflows/validate-task.ymlDeleted (hub-hosted reusable workflow used instead).
.github/workflows/get-version-task.ymlDeleted (hub-hosted release chain used instead).
.github/workflows/build-release-task.ymlDeleted (hub-hosted release chain used instead).
.github/workflows/build-executable-task.ymlDeleted (hub-hosted build hooks used instead).
.github/workflows/build-docker-task.ymlDeleted (hub-hosted release chain used instead).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment threadOPERATIONS.md Outdated
CopilotAI review requested due to automatic review settings August 16, 2026 22:29

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.

Suppressed comments (1)

.github/workflows/publish-release.yml:49

  • This workflow doesn’t set workflow-level least-privilege permissions, so GITHUB_TOKEN permissions fall back to repository defaults. Other workflows in this repo explicitly set permissions: {} and then grant only the required job permissions; doing the same here makes the token scope explicit and avoids accidental over-privilege if repo defaults change.
 plan:
name: Plan release job
uses: ptr727/ProjectTemplate/.github/workflows/publish-plan-task.yml@0b07a59d7c65d07d8df275a96deaf2e06cbefd51 # 2.0.352
with:
event_name: ${{ github.event_name }}

@ptr727

Copy link
Copy Markdown
OwnerAuthor

Answering the suppressed finding, "Suppressed comments (1)", from the round on 9e55afa: .github/workflows/publish-release.yml:49, "This workflow doesn't set workflow-level least-privilege permissions". Deferred to the hub. The stub follows the hub's publish-release.yml caller shape byte for byte, and the same finding was raised on the hub's catalog snippet and doc example (ptr727/ProjectTemplate#775, round 2). It is a real least-privilege improvement and it is fixed once at the hub, then re-adopted here, so this repo's stub does not diverge from the shape the audit grades. This promotion carries no code change of its own.

@ptr727
ptr727 merged commit fa91db0 into mainAug 16, 2026
20 checks passed
ptr727 added a commit to ptr727/ProjectTemplate that referenced this pull request Aug 17, 2026
… Pilot (#778)
## What
- `.github/actions/build-executable-default/action.yml`: the release
archive is named for the project file's stem
(`./PhotoCleaner/PhotoCleaner.csproj` gives `PhotoCleaner.7z`) unless
the new `asset-name` input names it, and `build-release-task.yml`
exposes that as `executable_asset_name`. PhotoCleaner's first publish
through the task (run 31977092102, release 1.1.11) attached `Console.7z`
where its own leaf had attached `PhotoCleaner.7z`, the one regression
the pilot found. PlexCleaner names its archive the same way, so the
derived default is right for both known callers.
- `catalog/snippets/workflows/publish-release.yml` and the doc's
byte-identical stub: `permissions: {}` at workflow level, `contents:
read` on the `validate` job, the publish job's grants unchanged. These
are the four suppressed findings raised on #775 after its clean round.
- `docs/reusable-workflows.md` Rollout: PhotoCleaner ticked as the stage
2 pilot (ptr727/PhotoCleaner#55, #56, the validate default-hook path
observed) and the stage 4 pilot (smoke run 31974932749 and publish run
31977092102, release 1.1.11), a proof item for the asset-name fix on the
next PhotoCleaner release.
- `reports/workflow-reuse.md` regenerated: PhotoCleaner 8 workflow files
to 3, all three callers, fleet callers 1 to 3.
## Verification
actionlint, prose gate, repo gate, audit self-test, unit tests,
markdownlint. The asset-name change is proven by the next PhotoCleaner
release, recorded as a proof item.
Refs ptr727/PhotoCleaner#55, ptr727/PhotoCleaner#56.
Sign up for freeto 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.

2 participants

@ptr727