Skip to content

hoverkraft-tech/ci-github-common

Continuous Integration - GitHub - Common

Logo for Continuous Integration - GitHub - Common

Continuous Integration GitHub tag License PRs Welcome

Overview

Opinionated GitHub Actions and reusable workflows for foundational continuous-integration automation that can be shared across Hoverkraft projects.

Actions

Workflow & repository automation

Matrix & workflow data helpers

  • Get matrix outputs — aggregates outputs across matrix jobs for downstream steps.
  • Set matrix output — writes structured outputs that can be consumed by other matrix jobs.

Repository insights & utilities

  • Parse CI reports — parses CI reports (tests, linting, coverage) into GitHub summaries and Markdown for PR comments.
  • Repository owner is organization — checks whether the repository owner is an organization.
  • Slugify — converts free-form strings into GitHub-friendly slugs.

Reusable Workflows

Community & issue hygiene

  • Greetings — welcomes first-time issue reporters and pull request authors.
  • Need fix to Issue — labels issues that require follow-up fixes.
  • Stale — automatically marks and closes stale issues and pull requests.

Quality gates

  • Linter — runs Super Linter and shared formatting checks across the repository.
  • Semantic pull request — enforces semantic pull request titles before merging.

Contributing

Contributions are welcome! Please see the contributing guidelines for more details.

Action structure pattern

All actions follow a consistent structure:

actions/{action-name}/
├── action.yml        # Action definition with inputs/outputs
├── README.md         # Usage documentation (auto-generated by CI Dokumentor)
└── *.js/other files  # Optional helper scripts or assets

Development standards

  1. Pinned dependencies – reference external actions by commit SHA (for example actions/checkout@08c6903c…).
  2. Composite-first – encapsulate logic in composite actions and keep scripts minimal.
  3. Early validation – validate inputs up front using GitHub Script or shell guards and fail fast with helpful messages.
  4. Consistent branding – set author: hoverkraft and branding.color: blue with an appropriate icon in every action.yml.

Development Workflow

make lint        # Run Super Linter (dockerized)
make lint-fix    # Run Super Linter with autofix enabled
gh act -W .github/workflows/<workflow>.yml  # Exercise workflows locally when needed

File Structure

actions/                      # Composite GitHub Actions
.github/workflows/            # Reusable workflows (.yml) with accompanying docs (.md)
Dockerfile                    # Super Linter container definition
Makefile                      # Lint helpers

Author

🏢 Hoverkraft

License

This project is licensed under the MIT License.

SPDX-License-Identifier: MIT

Copyright © 2025 hoverkraft-tech

For more details, see the license.

About

Opinionated GitHub actions and workflows for common continuous integration needs

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors 6