Skip to content

ci: update workflows and makefile, add error tests - #27

Merged
mroczect merged 7 commits into
refactor/new-designfrom
ci/chore/update-workflows-makefile-and-error-tests
Sep 7, 2026
Merged

mroczect merged 7 commits into
refactor/new-designfrom
ci/chore/update-workflows-makefile-and-error-tests

Conversation

@mroczect

@mroczect mroczect commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

This PR updates the CI workflow, expands the Makefile with workspace automation, and adds tests for the librawssg_error crate. It also removes an obsolete documentation deployment workflow and updates .gitignore.

Motivation & Context

The workspace restructuring requires updated CI to handle multiple crates and stricter lint settings. The Makefile needed per-crate targets and publish helpers to streamline development and release processes. Adding tests for the error crate ensures its API is reliable.

Detailed Changes

  • .github/workflows/ci.yml: Enhanced CI jobs with timeouts, pinned Rust toolchain, build steps, and workspace-wide commands.
  • .github/workflows/docs.yml: Deleted; documentation deployment is no longer part of this repository.
  • .gitignore: Added pull_request_body.md to ignored files.
  • Makefile: Replaced with a comprehensive Makefile featuring workspace and per-crate targets, publish helpers, and improved help.
  • librawssg_error/tests/integration_tests.rs: Added tests for Io error propagation and Metadata error source.
  • librawssg_error/tests/property_tests.rs: Added tests ensuring error messages preserve input.
  • librawssg_error/tests/unit_tests.rs: Added unit tests covering Display, source, conversion, and Debug.

Impact & Breaking Changes

No breaking changes identified. The CI and Makefile changes are tooling-only; error crate tests are additive. Removing docs.yml only affects documentation deployment, which is not part of the library functionality.

Testing Recommendations

Run make ci to verify formatting, clippy, and full test suite. Specifically run cargo test -p librawssg_error to execute the new error tests. Confirm CI workflow syntax by pushing to a branch or using a local validator.

Related Issues

None.

Update CI workflow with explicit job names and timeouts. Pin Rust toolchain to 1.96.0. Add build steps for debug and release, ensure formatting check runs in both jobs, and use workspace-wide clippy and test commands.
Delete the GitHub Pages documentation deployment workflow. It is no longer needed since the workspace is being restructured and documentation deployment will be handled separately.
Add pull_request_body.md to .gitignore to prevent temporary PR body files from being tracked accidentally.
Replace simple Makefile with comprehensive workspace targets. Add per-crate shortcuts, publish helpers, clippy flags variable, and improved help. This improves developer workflow across the new workspace.
Add tests verifying Io error conversion via From and Metadata error source accessibility using thiserror.
Add property tests ensuring Config, PathTraversal, and Render error messages preserve their input strings.
Add comprehensive unit tests covering Display, source, From conversion, and Debug output for all error variants.
@mroczect
mroczect merged commit cc2d16a into refactor/new-design Sep 7, 2026
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