Skip to content

fix(ci): exclude the versioning test sets and upgrade maps from the dataset compliance pathspec - #350

Merged
sakanni merged 3 commits into
developfrom
internal-tickets-#43-ExcludeVersioningUpgradeMaps
Sep 30, 2026
Merged

sakanni merged 3 commits into
developfrom
internal-tickets-#43-ExcludeVersioningUpgradeMaps

Conversation

@sakanni

@sakanni sakanni commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

Issues addressed by this PR

ci-dataset-compliance asserts that every file it selects deserialises into a BH.oM.Data.Library.Dataset. Its selector is a substring match over the whole path, so it also picks up this repository's versioning test sets, which are JSON Lines of oM objects. This excludes them.

Measured with git ls-files against this checkout:

pathspec files
:(icase)*datasets*.json 80
+ :(exclude,icase)*Versioning_Test/Datasets/* 0

All 80 are under .ci/code/Versioning_Test/Datasets. Nothing else here matches the selector, so nothing legitimate is lost.

This exclusion is specific to this repository: 140 such paths here, and none in Test_Toolkit, BHoM_Engine or BHoM. A sweep of the other versioning repositories found none there either.

Test files

None here. The behaviour of the remaining token is pinned by the changed-file pattern assertions in BHoM/CI_Toolkit.

Changelog

ci-dataset-compliance no longer selects this repository's versioning test sets.

Additional comments

A second token excluding Versioning_<digits>.json upgrade maps was carried here and has been removed on review. Those maps fail the same way, but they are a file type any versioning repository can hold rather than anything specific to this one, so the rule belongs in the compliance runner's own filter and not in each repository's pathspec. It is implemented there now. Nothing is lost by removing it here: this repository holds no such file, so the token matched nothing.

ci-dataset-compliance self-skips on this pull request. It changes one workflow file, which the dataset pathspec does not match, so the job reports success having examined nothing. Its green is not evidence the change works; the table above is.

… pathspec

ci-dataset-compliance asserts that every file it selects deserialises into a
BH.oM.Data.Library.Dataset. This repository's versioning test sets match the
selector but are JSON Lines of oM objects, so all 80 fail by design.

Measured against this checkout:
  :(icase)*datasets*.json                                              80 files
  ... :(exclude,icase)*Versioning_Test/Datasets/*                        0 files

The same one-line change is in BHoM/CI_Toolkit templates/BHoM/ci-beta.yml and
templates/BHE/ci-beta.yml. Per BHoM/internal-tickets#39 nothing propagates a
template change to onboarded repositories, so this repository needs its own
edit. After both land, this file remains byte-identical to its template.

Refs BHoM/internal-tickets#36
@sakanni

sakanni commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor Author

@BHoMBot check required

@bhombot-ci

bhombot-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown

@sakanni to confirm, the following actions are now queued:

  • check code-compliance
  • check documentation-compliance
  • check project-compliance
  • check core
  • check null-handling
  • check serialisation
  • check versioning
  • check installer

There are 23 requests in the queue ahead of you.

@bhombot-ci

bhombot-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown

@sakanni to confirm, the following actions are now queued:

  • check code-compliance
  • check documentation-compliance
  • check project-compliance
  • check core
  • check null-handling
  • check serialisation
  • check versioning
  • check installer

There are 24 requests in the queue ahead of you.

@bhombot-ci

bhombot-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown

The check installer has already been run previously and recorded as a successful check. This check has not been run again at this time.

@sakanni

sakanni commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

@BHoMBot check copyright-compliance

@bhombot-ci

bhombot-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown

@sakanni to confirm, the following actions are now queued:

  • check copyright-compliance

There are 24 requests in the queue ahead of you.

@sakanni sakanni added type:feature New capability or enhancement and removed type:bug Error or unexpected behaviour labels Sep 9, 2026
sakanni added a commit to BuroHappoldEngineeringSandbox/Versioning_Toolkit that referenced this pull request Sep 10, 2026
Sandbox venue only. Keeps ci-dataset-compliance from going red on the
versioning test sets, so guard-validation PRs here are not confused by
unrelated failures. Mirrors the open upstream PR exactly; drop this commit
if a later fork sync brings the same change from upstream.
…athspec

ci-dataset-compliance asserts that every file it selects deserialises into a
BH.oM.Data.Library.Dataset. Versioning_<digits>.json are versioning upgrade
maps holding {"Dataset":{"ToNew":..,"ToOld":..}} and can never be Dataset
documents, so add a filename-anchored exclusion alongside the existing
Versioning_Test/Datasets path exclusion.

:(glob) keeps the token a filename match. Without it both wildcards cross '/',
so the exclusion would also drop real datasets under any directory containing
Versioning_. The ** anchor keeps it depth-agnostic and the [0-9] gate keeps a
genuine dataset named Versioning_Rules.json in scope.

This repository holds no file of that shape, so the token is a no-op here and
is carried so the pathspec does not diverge from CI_Toolkit's templates. The
surrounding comment is condensed; the fuller derivation and the assertions
that pin each element of the token live in CI_Toolkit.

Refs BHoM/internal-tickets#36, BHoM/internal-tickets#43.
@sakanni
sakanni force-pushed the internal-tickets-#43-ExcludeVersioningUpgradeMaps branch from 867150f to 8079c96 Compare September 28, 2026 14:14
@sakanni

sakanni commented Sep 28, 2026

Copy link
Copy Markdown
Contributor Author

@BHoMBot check required

@bhombot-ci

bhombot-ci Bot commented Sep 28, 2026

Copy link
Copy Markdown

@sakanni to confirm, the following actions are now queued:

  • check code-compliance
  • check documentation-compliance
  • check project-compliance
  • check core
  • check null-handling
  • check serialisation
  • check versioning
  • check installer

@sakanni

sakanni commented Sep 28, 2026

Copy link
Copy Markdown
Contributor Author

@BHoMBot check copyright-compliance

@bhombot-ci

bhombot-ci Bot commented Sep 28, 2026

Copy link
Copy Markdown

@sakanni to confirm, the following actions are now queued:

  • check copyright-compliance

@peterjamesnugent peterjamesnugent left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approved, code change makes sense and the check is now passing.

@sakanni

sakanni commented Sep 28, 2026

Copy link
Copy Markdown
Contributor Author

@BHoMBot check ready-to-merge

@bhombot-ci

bhombot-ci Bot commented Sep 28, 2026

Copy link
Copy Markdown

@sakanni to confirm, the following actions are now queued:

  • check ready-to-merge

Comment thread .github/workflows/ci-beta.yml Outdated
Review asked for the Versioning_<digits>.json exclusion to be centralised rather
than repeated in each repository's pathspec, because it is a rule about a file type
that any versioning repository can hold. The rule now lives in the compliance
runner's own filter, so this token is redundant here and would have had to be
reverted once that lands.

What stays is the Versioning_Test/Datasets exclusion, which is specific to this
repository: 140 paths here and none in Test_Toolkit, BHoM_Engine, BHoM or
BuroHappold_Versioning_Toolkit.

Measured on this checkout with git ls-files: the selector alone reaches 80 files,
and 0 with the remaining token. This repository holds no Versioning_<digits>.json,
so the removed token matched nothing here.
@sakanni

sakanni commented Sep 29, 2026

Copy link
Copy Markdown
Contributor Author

@BHoMBot check required
@BHoMBot check copyright-compliance

@bhombot-ci

bhombot-ci Bot commented Sep 29, 2026

Copy link
Copy Markdown

@sakanni to confirm, the following actions are now queued:

  • check code-compliance
  • check documentation-compliance
  • check project-compliance
  • check core
  • check null-handling
  • check serialisation
  • check versioning
  • check installer
  • check copyright-compliance

@IsakNaslundBh IsakNaslundBh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Happy with this now, matches the pattern exclusion specific for this toolkit 👍

@sakanni

sakanni commented Sep 30, 2026

Copy link
Copy Markdown
Contributor Author

@BHoMBot check ready-to-merge

@bhombot-ci

bhombot-ci Bot commented Sep 30, 2026

Copy link
Copy Markdown

@sakanni to confirm, the following actions are now queued:

  • check ready-to-merge

There are 19 requests in the queue ahead of you.

@sakanni
sakanni merged commit 0eadef9 into develop Sep 30, 2026
19 checks passed
@sakanni
sakanni deleted the internal-tickets-#43-ExcludeVersioningUpgradeMaps branch September 30, 2026 09:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature New capability or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants