Skip to content

Let the release workflow build on a fresh agent, and keep data attributes out of the site check - #15

Merged
donislawdev merged 2 commits into
mainfrom
release/first-run-fixes
Sep 24, 2026
Merged

donislawdev merged 2 commits into
mainfrom
release/first-run-fixes

Conversation

@donislawdev

@donislawdev donislawdev commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

What this changes

Two fixes, both found before the v0.2.0 tag.

The release workflow could not have built anything on its first run

  • A dry run of release.yml from main stopped in packaging/build-dist.ps1 with "the global package folder ... is not there".
  • The script asked where NuGet keeps its packages before anything had restored. On a fresh build agent that folder does not exist until the first restore creates it.
  • Every local run passed, because a machine that has built anything before already has the folder.
  • The question now comes at the step that needs it, after the publish, which restores.

The site check read data-src and data-href as addresses (review of #14)

  • A word boundary also stands after the hyphen in data-src. The pattern now wants whitespace before the attribute name.
  • The malformed-address test now asserts the sentence of its own branch. The address alone is also printed by the relative-address branch.

How it was checked

  • build-dist.ps1 was run locally against an empty package folder (NUGET_PACKAGES pointed at a new directory).
    • The old script stops with the same sentence as the agent did.
    • The new one builds both archives, checks the pinned bytes, and writes both bills of materials and SHA256SUMS.
  • A_data_attribute_is_not_read_as_an_address was red before the fix and is green after it.
  • On today's site the new pattern finds the same 873 addresses as before.
  • The site check's five mutations are all caught by the tests named for them.
  • tests/Bws.Site.Tests passes 26 of 26. tests/Bws.Architecture.Tests passes 182 of 182. The site builds with --strict and reports no problems.

After this merges, the release workflow is run once more from main before the tag, to see the build step pass on an agent.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes
    • Link validation now ignores data-href and data-src values, preventing non-link attributes from being reported as addresses.
    • Package publishing now completes package restoration before the package-root lookup, improving reliability when building distribution packages.

donislawdev and others added 2 commits September 24, 2026 10:13
The first run of the release workflow stopped before building anything:
build-dist.ps1 asked where NuGet keeps its packages before the loop, and
on a fresh build agent that folder does not exist until the first
restore creates it. Every local run passed because a machine that has
built anything before already has it.

The question now comes at the step that needs the answer, after the
publish, which restores. Run locally against an empty package folder
the old script stops with the same sentence as the agent did, and this
one builds both archives, checks the pinned bytes and writes the bill of
materials.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A word boundary also stands between the hyphen and the name in data-src
and data-href, so their values were read as addresses, and a value that
is not a path would have failed a strict build and with it the website.
The pattern now wants whitespace before the name. On today's site it
still finds the same 873 addresses.

The test for a malformed address looked for the address alone, which the
relative-address sentence prints too, so it passed whether or not the
scheme was recognised. It now looks for the sentence of its own branch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 24, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 21630795-6010-4eb4-97f1-de44a37047b8

📥 Commits

Reviewing files that changed from the base of the PR and between 8ff363f and d499313.

📒 Files selected for processing (3)
  • packaging/build-dist.ps1
  • site/Bws.Site/LinkCheck.cs
  • tests/Bws.Site.Tests/GeneratorTests.cs
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
✨ Simplify code
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot added bug Something isn't working packaging labels Sep 24, 2026
@donislawdev
donislawdev merged commit 17a4a06 into main Sep 24, 2026
7 of 8 checks passed
@donislawdev
donislawdev deleted the release/first-run-fixes branch September 24, 2026 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working packaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant