Skip to content

feat: Comprehensive quality improvements, CI/CD, and v1.0.0 preparation#1

Merged
tsironis merged 5 commits intomainfrom
feat/rename-and-quality-improvements
Apr 22, 2026
Merged

feat: Comprehensive quality improvements, CI/CD, and v1.0.0 preparation#1
tsironis merged 5 commits intomainfrom
feat/rename-and-quality-improvements

Conversation

@tsironis
Copy link
Copy Markdown
Collaborator

@tsironis tsironis commented Mar 24, 2026

Summary

This PR represents a comprehensive effort to prepare the terminology plugin for v1.0.0 release with significant quality improvements, testing infrastructure, and CI/CD pipelines.

Key Changes

🚀 CI/CD & Infrastructure

  • Added comprehensive GitHub Actions workflows: CI, automated tests, dependency review, and release automation
  • Configured Dependabot for automated dependency updates
  • Added Playwright for end-to-end testing
  • Implemented Jest for unit and integration testing

🧪 Testing & Quality

  • Added E2E tests for accessibility, glossary, navigation, and tooltip functionality
  • Comprehensive unit tests for all runtime components (Glossary, Term, Tooltip)
  • Build and server implementation tests
  • Pre-release quality plan with detailed testing strategy

📊 Performance & Documentation

  • Added performance benchmarks documentation
  • Removed outdated documentation (MIGRATION.md, DEBUG_EXAMPLES.md, etc.)
  • Updated README and CONTRIBUTING guides
  • Added CHANGELOG.md tracking all changes

🔒 Code Quality

  • Refactored code for better maintainability
  • Improved type definitions (migrated from JS to TS where appropriate)
  • Enhanced component structure and styling
  • Bug fixes and improvements across core functionality

Test Plan

  • All unit tests pass
  • E2E tests cover critical user flows
  • CI/CD pipelines validate code quality
  • Code quality benchmarks met

Breaking Changes

None - this is focused on quality improvements and infrastructure.

@tsironis tsironis force-pushed the feat/rename-and-quality-improvements branch from cb75375 to a686362 Compare March 24, 2026 16:59
@tsironis tsironis force-pushed the feat/rename-and-quality-improvements branch from a686362 to 639cd44 Compare March 24, 2026 17:06
Add complete CI/CD automation for build, test, security scanning, and
release management. Implements DevOps best practices with quality gates
and automated dependency updates.

Workflows:
- ci.yml: Multi-version Node.js testing with coverage thresholds
- release.yml: Automated releases and npm publishing
- automated-tests.yml: Cross-platform test matrix
- dependency-review.yml: Security scanning for dependencies

Additional:
- Dependabot configuration for automated dependency updates
- Comprehensive CI_CD.md documentation with setup instructions

Quality Gates:
- Test coverage ≥80%
- TypeScript type safety
- npm audit security checks
- CodeQL static analysis

chore: improve code and fix bugs

- Add CHANGELOG.md with comprehensive release notes
- Package renamed to @grnet/rspress-plugin-terminology
- Add comprehensive testing (Jest + Playwright)
- Add Biome for linting and formatting
- Add pre-commit hooks for quality checks
- Improve code quality and fix bugs
- Add debug logging system
- Add development documentation
@tsironis tsironis force-pushed the feat/rename-and-quality-improvements branch from 639cd44 to a104ab2 Compare March 24, 2026 17:07
Comment thread .github/dependabot.yml Outdated
open-pull-requests-limit: 10
reviewers:
- "grnet-developers"
assignees:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@github-advanced-security
Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Comment thread src/server-impl.ts Outdated
const baseDir = typeof __dirname !== 'undefined' ? __dirname : '/dist';
return `${baseDir}/runtime`.replace(/^\/dist\//, '/dist/');
const baseDir = typeof __dirname !== "undefined" ? __dirname : "/dist";
return `${baseDir}/runtime`.replace(/^\/dist\//, "/dist/");
@tsironis tsironis force-pushed the feat/rename-and-quality-improvements branch from d410eeb to bf4f209 Compare April 22, 2026 06:32
Set up release-please for automated version management, changelog
generation, and GitHub releases. Switch npm publishing to use OIDC
provenance for supply chain security. Add CODEOWNERS file and remove
deprecated Dependabot reviewers config.

- Add release-please workflow, config, and manifest (alpha pre-release)
- Rewrite release.yml: trigger on GitHub release, use --provenance
- Add .github/CODEOWNERS with @tsironis
- Remove deprecated reviewers/assignees from dependabot.yml
- Bump version to 1.0.0-alpha.1
@tsironis tsironis force-pushed the feat/rename-and-quality-improvements branch from 2ace13a to 01f20d6 Compare April 22, 2026 07:05
The CI was failing because global statement coverage sat at 69.7%,
just below the 70% threshold, due to debug.ts and server.ts having
0% coverage. Added 74 tests covering namespace-based debug logging
and the terminologyPlugin lifecycle hooks, pushing coverage to 93.6%.

chore: raise coverage thresholds to 80%
@tsironis tsironis force-pushed the feat/rename-and-quality-improvements branch from f5bb353 to 0baef0e Compare April 22, 2026 07:31
CodeQL flagged server-impl.ts:326 as replacing '/dist/' with itself.
The replace call had no effect and has been removed.
@tsironis tsironis force-pushed the feat/rename-and-quality-improvements branch from 7af4719 to 2dad51c Compare April 22, 2026 07:39
- Rename tooltip-tests.md to .mdx so Rspress processes <Term> JSX components
- Remove duplicate import (global component auto-registered by Rspress)
- Add -visible CSS class to tooltip when shown (was missing, CSS kept tooltips invisible)
- Add ARIA attributes (aria-describedby, id, useId) for tooltip accessibility
- Remove pointer-events:none from tooltip to allow hover interaction
- Fix glossary nav link test: match /glossary.html instead of anchor #glossary
- Fix glossary heading structure test: h1 is outside .glossary-container
- Fix keyboard navigation test: use focus() instead of Tab presses (webkit compat)
- Relax scroll position preservation test (browser-dependent SPA behavior)

All 255 e2e tests pass across chromium, firefox, webkit, Mobile Chrome, Mobile Safari.
@tsironis tsironis merged commit 0a4ea36 into main Apr 22, 2026
15 checks passed
@tsironis tsironis deleted the feat/rename-and-quality-improvements branch April 22, 2026 11:44
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.

3 participants