Opinionated GitHub Actions and reusable workflows for foundational continuous-integration automation that can be shared across Hoverkraft projects.
- Checkout - event-aware drop-in replacement for
actions/checkoutthat supports issue comment triggers. - Create and merge pull request - opens a pull request and merges it with the configured strategy and GitHub Actions bot identity.
- Create or update comment - adds or updates comments on issues and pull requests idempotently.
- Get GitHub Actions bot user - retrieves the profile information for the GitHub Actions bot.
- Get issue number - extracts the relevant issue number from the current workflow context.
- Need fix to Issue - creates and categorizes TODO/FIXME issues and closes duplicates.
- 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.
- 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.
- 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.
- Linter - runs Super Linter and shared formatting checks across the repository.
- Semantic pull request - enforces semantic pull request titles before merging.
Contributions are welcome! Please see the contributing guidelines for more details.
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
- Pinned dependencies - reference external actions by commit SHA (for example
actions/checkout@08c6903c…). - Composite-first - encapsulate logic in composite actions and keep scripts minimal.
- Early validation - validate inputs up front using GitHub Script or shell guards and fail fast with helpful messages.
- Consistent branding - set
author: hoverkraftandbranding.color: bluewith an appropriate icon in everyaction.yml.
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 neededDependabot 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.
actions/ # Composite GitHub Actions
.github/workflows/ # Reusable workflows (.yml) with accompanying docs (.md)
Dockerfile # Super Linter container definition
Makefile # Lint helpers
🏢 Hoverkraft
- Site: https://hoverkraft.cloud
- GitHub: @hoverkraft-tech
This project is licensed under the MIT License.
SPDX-License-Identifier: MIT
Copyright © 2025 hoverkraft-tech
For more details, see the license.