Skip to content

About

Opinionated GitHub actions and workflows for common continuous integration needs

Topics

Resources

Code of conduct

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Repository files navigation

Continuous Integration - GitHub - Common

Logo for Continuous Integration - GitHub - Common

GitHub Verified Creator 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

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.
  • Working directory - resolves and validates a working directory path, exposing absolute and workspace-relative outputs.
  • 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 - creates and categorizes TODO/FIXME issues and closes duplicates.
  • 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

Dependency updates

Dependabot is the primary dependency updater for Dockerfile images, GitHub Actions, npm, and devcontainer dependencies. Renovate only updates tags and digests in uses: docker://… action references, including Ratchet and Super-Linter, which Dependabot does not support. Super-Linter's Dockerfile and workflow references receive separate update pull requests from their respective bots; review them together to keep the images aligned.

The Renovate workflow runs on Fridays at 04:23 UTC and supports manual dispatch. A seven-day release delay applies when registry timestamps are available. GHCR updates remain eligible because Renovate's Docker datasource only provides release timestamps for Docker Hub.

The workflow uses the CI_BOT_APP_CLIENT_ID variable and CI_BOT_APP_PRIVATE_KEY secret. The GitHub App must be installed on this repository with Checks read access and Contents, Issues, Pull requests, Commit statuses, and Workflows write access. Renovate opens pull requests for review; automatic merging is disabled.

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

Code of conduct

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages