This directory contains automation scripts for the oxidize-pdf project.
Compile gate for all examples plus an output gate for the RAG showcase.
./scripts/verify-examples.sh # compile all examples (--all-features)
./scripts/verify-examples.sh --run # also run rag_realworld if corpus_cache presentcargo build --all (CI) builds workspace default targets only — examples are
not default targets, so a broken example slips through without this. Wired into
CI (examples job) and release.sh.
Automated release script using cargo-release.
./scripts/release.sh [patch|minor|major]Features:
- Runs tests and clippy checks
- Updates version numbers
- Updates CHANGELOG
- Creates git tag
- Pushes to GitHub
- Publishes to crates.io
Manual version bump script (for when you need more control).
./scripts/bump-version.sh [patch|minor|major]Interactive helper for creating conventional commits.
./scripts/commit-helper.shHelps create commits following the conventional commit format:
feat:New featuresfix:Bug fixesdocs:Documentation changeschore:Maintenance tasks- etc.
- Development: Work on features/fixes in
developmentbranch - Prepare Release:
./scripts/release.sh patch # or minor/major - Create PR: Create pull request from
developmenttomain - Merge & Tag: After merging, the GitHub Action will:
- Run tests
- Build binaries
- Publish to crates.io
- Create GitHub release
We follow Semantic Versioning:
- PATCH (0.0.x): Bug fixes, minor updates
- MINOR (0.x.0): New features, backward compatible
- MAJOR (x.0.0): Breaking changes
Commit messages should follow the format:
type(scope): description
[optional body]
[optional footer(s)]
Types that affect versioning:
feat:→ Minor version bumpfix:→ Patch version bumpfeat!:orBREAKING CHANGE:→ Major version bump