fix: allow anonymous geometry (geometry without GUIDs) - #15
Open
gonzalocasas wants to merge 5 commits into
Open
Conversation
The pr-checks workflow was copied from a Python project and used the compas-actions composite actions, which expect bump-my-version metadata in pyproject.toml and a hand-maintained Keep a Changelog file. Release Please generates CHANGELOG.md here from conventional commits, so a pull request earns its changelog entry by using them rather than by editing the generated file. Validate the pull request title and every non-merge commit, since merge, squash and rebase merges are all enabled and each feeds Release Please a different subject. The `no changelog` label skips the check. Add a pull request template, adapted from compas-dev/compas, that documents the convention alongside this project's check, test, export and documentation expectations. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add a commit-msg hook, enabled by an npm prepare script that points core.hooksPath at .githooks, so a non-conventional subject is rejected before it becomes a commit. The rule lives in one sourced file that both the hook and the workflow use, so the local and CI checks cannot drift apart. Pin .githooks and shell scripts to LF in .gitattributes. Git for Windows defaults to core.autocrlf=true, and a CRLF hook fails to start with "env: bash\r: No such file or directory", which aborts every commit rather than merely skipping the check. Split the workflow by severity. A non-conventional pull request title is an error, because retitling is a one-click fix and the title is what a squash merge records. A non-conventional commit subject is only a warning, because fixing it means a rebase and a force push. Also trigger on `edited` so retitling re-runs the check. Trim the pull request template to the conventional-commit rule and the two check commands, dropping the type checkboxes that the mandatory title prefix already covers. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Member
Author
|
@ericgozzi please test this on your machine, run |
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.
Allow geometry without guids to also be displayed by the viewer. In the past, serialization was enforcing GUIDs always, but now it's only present if the guid is materialized (ie. it's a lazy property and if never called, it's never materialized). This PR fixes support for "anonymous" geometry that has no materialized guid.
And also add PR checks workflow and PR template to the repo, as well as a commit hook to enforce conventional commit messages
The title must be a conventional commit:
fix:,feat:,feat!:for a breaking change, or one ofbuild:chore:ci:docs:perf:refactor:style:test:. Release Please buildsCHANGELOG.mdand the next version number from it. Apply theno changeloglabel to skip. Running
npm installenables acommit-msghook that checksyour commits as you make them.
Checklist
npm run checkis green (formatting, lint, types, unit tests, both builds).npm run test:browserandnpm run test:packagepass.