aRustyDev / aRustyDev/gh

bug: validate-contribution lint job missing tool setup steps

Open
#19 0 comments 0 reactions 1 assignee Claimed by @aRustyDev View on GitHub
bug
Dominant language
Shell
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Problem

The `atomic-release-validate-contribution.yml` reusable workflow has a `lint_setup_steps` input parameter that is **defined but never used**. The lint job runs `lint_command` directly without any setup, causing failures when the command requires tools that aren't pre-installed.

## Current Implementation

```yaml
inputs:
lint_setup_steps:
description: 'JSON array of setup steps to run before linting'
required: false
type: string
default: '[]'
```

But the lint job never references this input:

```yaml
lint:
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run lint command # No setup steps\!
run: |
eval "${{ inputs.lint_command }}"
```

## Impact

When `lint_command` is `ct lint --config ct.yaml`, the job fails with:
```
##[error]Process completed with exit code 127.
```
(command not found)

## Workaround

Consumers must implement their own local lint job with proper setup:
- `azure/setup-helm@v4`
- `actions/setup-python@v6`
- `helm/chart-testing-action@v2.7.0`

## Proposed Fix

Either:
1. **Implement `lint_setup_steps`**: Parse the JSON array and run setup actions before lint
2. **Remove the input**: If setup can't be dynamic, remove the misleading parameter
3. **Document the limitation**: Clearly state that `lint_command` must use pre-installed tools

## Discovered

- E2E-1 testing on 2026-01-26
- Consumer: aRustyDev/helm-charts

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.