Skip to content

feat: v0.0.3 infrastructure - branching workflow and CI optimization …#23

Merged
dev-parkins merged 1 commit into
mainfrom
develop
Oct 6, 2025
Merged

feat: v0.0.3 infrastructure - branching workflow and CI optimization …#23
dev-parkins merged 1 commit into
mainfrom
develop

Conversation

@dev-parkins
Copy link
Copy Markdown
Owner

…(#22)

  • feat: implement v0.0.3 branching workflow and CI optimization
  • Create develop branch for integration testing
  • Add quick-check CI for feature branches (2-3 min)
  • Add path filters to skip CI for docs-only changes
  • Update CONTRIBUTING.md with new workflow documentation
  • Update PR templates to reference develop as base branch
  • Prepare for branch protection setup on main/develop Benefits:
  • 60-70% CI time savings on feature branches
  • 95% savings on docs-only PRs
  • Integration testing before production release
  • Clearer development workflow Refs: docs/planning/v0.0.3-roadmap.md (Development Workflow) Refs: docs/archive/v0.0.2/V0.0.2_DEFERRAL_ANALYSIS.md (CI optimization)
  • fix: replace approximate PI value with non-constant float in test Changed test value from 3.14 to 3.5 to avoid clippy::approx_constant warning. The test is verifying float value coercion, not mathematical constants.

  • docs: move comprehensive testing guide for v0.0.2

  • chore: improve CI behavior documentation for branch workflows

  • feat: rename code scanning workflow with SonarQube integration

  • fix: resolve all clippy lint warnings in tests

  • Replace 3.14 with 3.5 in lexer test (avoids approx_constant lint)
  • Replace assert_eq! with assert! for boolean comparisons in parser tests
  • Remove assert!(true) placeholder in godot_bind tests (replace with comment)
  • fix(ci): pin Rust toolchain version for consistency

  • fix: prevent duplicate CI runs and improve clippy documentation

  • Remove feature/** from push triggers to prevent duplicate runs when PR exists
  • Simplify quick-check condition to only run on pull_request events
  • Update CONTRIBUTING.md to use full clippy command (--all-targets --all-features)
  • Fix rust-toolchain action configuration in quick-check job This resolves the issue where pushing to a feature branch with an open PR would trigger both push and pull_request events, running CI twice.
  • fix(docs): update relative links in TESTING.md for accuracy

  • fix: exclude docs/archive folder from markdown link checking Archive documentation may contain outdated or moved links that don't need to be validated in CI. This change adds a step to find markdown files while excluding the archive folder, target directory, and node_modules. Also excludes target/ and node_modules/ to avoid checking build artifacts.

  • fix: properly exclude all archive subdirectories from link checking The previous pattern './docs/archive/' only matched files directly in the archive folder, not in subdirectories like 'docs/archive/v0.0.2/phases/'. Changed to '/docs/archive/*' to match any path containing docs/archive, which properly excludes all 43 markdown files in the archive directory tree. This resolves the Status: 400 errors from archived documentation with relative links that no longer resolve correctly.

  • fix: run markdown-link-check directly with explicit file filtering The github-action-markdown-link-check action was running its own find command that ignored our filtered file list, causing it to check archive files despite our exclusion logic.
    Changed approach:

  • Install markdown-link-check directly via npm
  • Run find with explicit archive exclusion in the command
  • Remove dependency on third-party action for better control This ensures archive files are truly excluded from link checking.
  • docs: update workflows README for v0.0.3 infrastructure changes Comprehensive update to reflect all CI optimizations: New Features Documented:
  • Quick Check job (2-3 min fast PR feedback)
  • Path filters for docs-only changes (95% savings)
  • Three-branch workflow (main/develop/feature)
  • Archive exclusion in link checking Updated Sections:
  • Available Workflows: Added quick-check, updated all triggers
  • Job Details: Complete rewrite with v0.0.3 conditions
  • Performance Metrics: New timing table with 70% savings analysis
  • Event Flow Examples: 5 new examples covering all scenarios
  • Troubleshooting: Added v0.0.3-specific issues Benefits Highlighted:
  • 60-70% faster PR feedback (2-3 min vs 10-15 min)
  • 95% savings on docs PRs (CI skipped entirely)
  • 70% overall CI cost reduction
  • Prevented duplicate runs on feature branches All documentation now matches actual ci.yml and docs-lint.yml behavior.

Description

Related Issues

  • Closes #
  • Fixes #
  • Relates to #

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to change)
  • 📝 Documentation update
  • 🧪 Test improvement
  • ♻️ Code refactoring (no functional changes)
  • 🎨 Style/formatting changes
  • ⚡ Performance improvement
  • 🔧 Build/tooling changes

Changes Made

Testing

  • All existing tests pass (cargo test)
  • Added new tests for new functionality
  • Manual testing completed (describe below)

Manual Testing Details:

# Commands you ran to test
cargo build
cargo test
cargo run --bin rustyscript_runtime examples/your-example.ferris

Code Quality

  • Code formatted with cargo fmt
  • No clippy warnings (cargo clippy)
  • Documentation updated (if applicable)
  • CHANGELOG.md updated (if applicable)
  • Examples updated or added (if applicable)

Screenshots / Output

Before:

<!-- Paste output or add screenshot -->

After:

<!-- Paste output or add screenshot -->

Breaking Changes

  • This PR introduces breaking changes

Migration Guide:

Additional Notes

Checklist

  • I have read the CONTRIBUTING.md guide
  • I have followed the code style guidelines
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My commits follow the Conventional Commits specification

Notes to Reviewers


Thank You

Thank you for contributing to FerrisScript! 🦀

…22)

* feat: implement v0.0.3 branching workflow and CI optimization
- Create develop branch for integration testing
- Add quick-check CI for feature branches (2-3 min)
- Add path filters to skip CI for docs-only changes
- Update CONTRIBUTING.md with new workflow documentation
- Update PR templates to reference develop as base branch
- Prepare for branch protection setup on main/develop
Benefits:
- 60-70% CI time savings on feature branches
- 95% savings on docs-only PRs
- Integration testing before production release
- Clearer development workflow
Refs: docs/planning/v0.0.3-roadmap.md (Development Workflow)
Refs: docs/archive/v0.0.2/V0.0.2_DEFERRAL_ANALYSIS.md (CI optimization)

* fix: replace approximate PI value with non-constant float in test
Changed test value from 3.14 to 3.5 to avoid clippy::approx_constant warning.
The test is verifying float value coercion, not mathematical constants.

* docs: move comprehensive testing guide for v0.0.2

* chore: improve CI behavior documentation for branch workflows

* feat: rename code scanning workflow with SonarQube integration

* fix: resolve all clippy lint warnings in tests
- Replace 3.14 with 3.5 in lexer test (avoids approx_constant lint)
- Replace assert_eq! with assert! for boolean comparisons in parser tests
- Remove assert!(true) placeholder in godot_bind tests (replace with comment)

* fix(ci): pin Rust toolchain version for consistency

* fix: prevent duplicate CI runs and improve clippy documentation
- Remove feature/** from push triggers to prevent duplicate runs when PR exists
- Simplify quick-check condition to only run on pull_request events
- Update CONTRIBUTING.md to use full clippy command (--all-targets --all-features)
- Fix rust-toolchain action configuration in quick-check job
This resolves the issue where pushing to a feature branch with an open PR
would trigger both push and pull_request events, running CI twice.

* fix(docs): update relative links in TESTING.md for accuracy

* fix: exclude docs/archive folder from markdown link checking
Archive documentation may contain outdated or moved links that don't need
to be validated in CI. This change adds a step to find markdown files
while excluding the archive folder, target directory, and node_modules.
Also excludes target/ and node_modules/ to avoid checking build artifacts.

* fix: properly exclude all archive subdirectories from link checking
The previous pattern './docs/archive/*' only matched files directly in the
archive folder, not in subdirectories like 'docs/archive/v0.0.2/phases/'.
Changed to '*/docs/archive/*' to match any path containing docs/archive,
which properly excludes all 43 markdown files in the archive directory tree.
This resolves the Status: 400 errors from archived documentation with
relative links that no longer resolve correctly.

* fix: run markdown-link-check directly with explicit file filtering
The github-action-markdown-link-check action was running its own find
command that ignored our filtered file list, causing it to check archive
files despite our exclusion logic.
Changed approach:
- Install markdown-link-check directly via npm
- Run find with explicit archive exclusion in the command
- Remove dependency on third-party action for better control
This ensures archive files are truly excluded from link checking.

* docs: update workflows README for v0.0.3 infrastructure changes
Comprehensive update to reflect all CI optimizations:
New Features Documented:
- Quick Check job (2-3 min fast PR feedback)
- Path filters for docs-only changes (95% savings)
- Three-branch workflow (main/develop/feature)
- Archive exclusion in link checking
Updated Sections:
- Available Workflows: Added quick-check, updated all triggers
- Job Details: Complete rewrite with v0.0.3 conditions
- Performance Metrics: New timing table with 70% savings analysis
- Event Flow Examples: 5 new examples covering all scenarios
- Troubleshooting: Added v0.0.3-specific issues
Benefits Highlighted:
- 60-70% faster PR feedback (2-3 min vs 10-15 min)
- 95% savings on docs PRs (CI skipped entirely)
- 70% overall CI cost reduction
- Prevented duplicate runs on feature branches
All documentation now matches actual ci.yml and docs-lint.yml behavior.
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Oct 6, 2025

@codecov
Copy link
Copy Markdown

codecov Bot commented Oct 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@dev-parkins dev-parkins merged commit cdd321d into main Oct 6, 2025
22 checks passed
@dev-parkins dev-parkins deleted the develop branch October 6, 2025 06:54
@dev-parkins dev-parkins restored the develop branch October 6, 2025 07:06
@dev-parkins dev-parkins added this to the v0.0.3 milestone Oct 6, 2025
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