Skip to content

Conversation

@kakkoyun
Copy link
Member

@kakkoyun kakkoyun commented Nov 4, 2025

Summary

Add GitHub Actions quality checks and apply consistent YAML formatting across all workflow files.

Changes

  • Format all YAML files with yamlfmt (standardized spacing and comments)
  • Fix ratchet Makefile targets to work without .github/actions/ directory
  • Add two new CI workflows using existing Makefile targets:
    • yaml-format-check.yaml - runs make lint/yaml
    • actionlint.yaml - runs make lint/action

Tools

based on #125

…omation

Add comprehensive build tooling and automation following DataDog orchestrion
best practices to improve developer experience and code quality workflows.

Key additions:
- Auto-generated help system (make help) with self-documenting targets
- Code quality automation: format (Go/YAML) and lint (Go/YAML/Actions)
- Enhanced test targets: test-unit and test-integration with gotestfmt
- GitHub Actions security tools: ratchet for pinning actions
- Auto-installing development tools on first use
- Documentation generation support with embedmd
- Organized target structure with clear categories

New tools integrated (auto-install on first use):
- golangci-lint: Go linter aggregator
- gotestfmt: Pretty test output formatting
- yamlfmt: YAML formatter and linter
- actionlint: GitHub Actions workflow linter
- ratchet: GitHub Actions security pinning
- embedmd: Documentation embedding tool

Configuration:
- Added .yamlfmt for consistent YAML formatting
- Updated CONTRIBUTING.md with comprehensive development guide
- Renamed test-e2e to test-integration for accuracy

All existing targets remain backward compatible.

Signed-off-by: Kemal Akkoyun <kemal.akkoyun@datadoghq.com>
Fix markdown linting errors (MD029) by indenting code blocks to be part
of their parent list items. This prevents the list from breaking and
being interpreted as separate lists.

Fixes:
- CONTRIBUTING.md:32:1 MD029/ol-prefix
- CONTRIBUTING.md:38:1 MD029/ol-prefix

Signed-off-by: Kemal Akkoyun <kemal.akkoyun@datadoghq.com>
@github-actions github-actions bot added the conventional-commit/chore Something that needs to be taken care of but not very appealing label Nov 4, 2025
Use .ONESHELL and subshell for cd command to ensure the tar command
runs in the correct directory. This fixes the 'Cannot stat' error when
running make package.

Signed-off-by: Kemal Akkoyun <kemal.akkoyun@datadoghq.com>
@kakkoyun kakkoyun force-pushed the chore-gh-actions-quality branch from f25129a to 865462d Compare November 4, 2025 16:51
Set SHELL to /bin/bash for targets using .ONESHELL and pipefail option.
This fixes CI failures on Ubuntu where /bin/sh is dash, which doesn't
support the pipefail option.

Fixes: /bin/sh: 2: set: Illegal option -o pipefail
Signed-off-by: Kemal Akkoyun <kemal.akkoyun@datadoghq.com>
Apply consistent YAML formatting across all workflow and configuration
files using yamlfmt. This standardizes spacing, indentation, and comment
formatting for better readability and maintainability.

Signed-off-by: Kemal Akkoyun <kemal.akkoyun@datadoghq.com>
Replace glob patterns with find command in ratchet targets to gracefully
handle repositories that don't have a .github/actions directory.

This prevents "no such file or directory" errors when running
make ratchet/pin, ratchet/update, or ratchet/check.

Signed-off-by: Kemal Akkoyun <kemal.akkoyun@datadoghq.com>
Add CI workflows to enforce code quality standards for GitHub Actions:

- yaml-format-check.yaml: Validates YAML formatting using make lint/yaml
- actionlint.yaml: Lints workflows and verifies pinning using make lint/action

These workflows leverage existing Makefile targets which handle tool
installation automatically, ensuring consistency between local development
and CI environments.

Signed-off-by: Kemal Akkoyun <kemal.akkoyun@datadoghq.com>
Signed-off-by: Kemal Akkoyun <kemal.akkoyun@datadoghq.com>
@kakkoyun kakkoyun force-pushed the chore-gh-actions-quality branch from 865462d to a78bde0 Compare November 4, 2025 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conventional-commit/chore Something that needs to be taken care of but not very appealing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant