Skip to content

chore: add actionlint#6909

Merged
LesnyRumcajs merged 1 commit intomainfrom
actionlint
Apr 15, 2026
Merged

chore: add actionlint#6909
LesnyRumcajs merged 1 commit intomainfrom
actionlint

Conversation

@LesnyRumcajs
Copy link
Copy Markdown
Member

@LesnyRumcajs LesnyRumcajs commented Apr 15, 2026

Summary of changes

Changes introduced in this pull request:

  • added https://github.com/rhysd/actionlint to our linter set
  • fixed existing offenses (mostly SC2086 and SC2129 from shellcheck)
  • got rid of Curio workflow - it's noise at this point, if we will revive it, we can always do so from git history

Reference issue to close (if applicable)

Closes

Other information and links

Change checklist

  • I have performed a self-review of my own code,
  • I have made corresponding changes to the documentation. All new code adheres to the team's documentation standards,
  • I have added tests that prove my fix is effective or that my feature works (if possible),
  • I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Outside contributions

  • I have read and agree to the CONTRIBUTING document.
  • I have read and agree to the AI Policy document. I understand that failure to comply with the guidelines will lead to rejection of the pull request.

Summary by CodeRabbit

  • New Features

    • Added GitHub Actions workflow linting to validate CI/CD configurations.
  • Removed Features

    • Removed Curio devnet Docker Compose setup and related development tooling.
  • Chores

    • Improved shell script robustness across CI workflows with proper variable and path quoting.
    • Updated Python linting to use direct CLI tools instead of composite action.

@LesnyRumcajs LesnyRumcajs requested a review from a team as a code owner April 15, 2026 08:54
@LesnyRumcajs LesnyRumcajs requested review from akaladarshi and sudo-shashank and removed request for a team April 15, 2026 08:54
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 15, 2026

Walkthrough

This PR adds GitHub Actions linting infrastructure via a new actionlint configuration and workflow, improves shell safety in existing workflows through consistent variable quoting, removes the Curio devnet Docker Compose setup and related scripts, updates Python linting to use explicit CLI tools instead of a composite action, and adds a new Mise task for actionlint integration.

Changes

Cohort / File(s) Summary
Actionlint Integration
.github/actionlint.yaml, .github/workflows/actions-lint.yml, mise.toml
Added actionlint configuration with WarpBuild runner labels, new GitHub Actions workflow to validate workflow files, and corresponding Mise task for local linting.
Shell Variable Quoting Safety
.github/workflows/cargo-advisories.yml, .github/workflows/cargo-publish-dry-run.yml, .github/workflows/checkpoints.yml, .github/workflows/coverage.yml, .github/workflows/docker.yml, .github/workflows/dockerfile-check.yml, .github/workflows/forest.yml, .github/workflows/release.yml, .github/workflows/release_dispatch.yml, .github/workflows/rpc-parity-report.yml, .github/workflows/rpc-parity.yml, .github/workflows/rust-lint.yml, .github/workflows/snapshot-parity.yml
Consolidated shell environment variables into grouped write blocks and added quoting around $GITHUB_ENV paths and variable expansions to prevent issues with special characters and whitespace.
Devnet Curio Cleanup
.github/workflows/curio-devnet-publish.yml, scripts/devnet-curio/.env, scripts/devnet-curio/README.md, scripts/devnet-curio/curio.dockerfile, scripts/devnet-curio/curio.env, scripts/devnet-curio/docker-compose.yml, scripts/devnet-curio/forest_config.toml.tpl, scripts/devnet-curio/lotus-miner.env, scripts/devnet-curio/lotus.env, scripts/devnet-curio/run_curio.sh
Removed entire Curio devnet Docker Compose setup including workflow, configuration files, scripts, Dockerfile, and supporting documentation.
Python Linting Updates
.github/workflows/python-lint.yml
Replaced composite linting action with explicit black and flake8 CLI invocations targeting the scripts/ directory.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

Suggested labels

github_actions, ci_cd

Suggested reviewers

  • akaladarshi
  • sudo-shashank
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: add actionlint' clearly and concisely describes the main change: adding actionlint tooling to the repository.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch actionlint
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch actionlint

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
.github/workflows/python-lint.yml (1)

35-38: Consider using the shared lint entrypoint for CI/local parity.

Using mise lint (or the repo’s shared lint task) here would reduce drift between local checks and CI over time.

Based on learnings: Run linters with mise lint before submitting code.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/python-lint.yml around lines 35 - 38, The workflow
currently runs separate steps "Run black" and "Run flake8" invoking `black
--check scripts/` and `flake8 scripts/`; replace these with a single CI step
that calls the repository's shared lint entrypoint (`mise lint`) so CI matches
local checks, e.g., remove/replace the "Run black" and "Run flake8" steps with
one step that runs `mise lint` (ensuring the step name reflects linting and that
the command exits non‑zero on failures to preserve current behavior).
.github/workflows/actions-lint.yml (1)

15-18: Consider narrowing the mise.toml path trigger (optional).

The workflow triggers on any change to mise.toml, but only the lint:actions task definition is relevant. This means unrelated mise.toml changes (e.g., adding a new Rust test task) will trigger this workflow unnecessarily.

This is a minor efficiency consideration and acceptable as-is since the workflow is lightweight.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/actions-lint.yml around lines 15 - 18, The workflow
currently triggers on any change to "mise.toml" via the paths block, causing
unrelated mise.toml edits to run this lint workflow; update the paths in the
paths: section (the "paths" block referencing "mise.toml") to either remove
"mise.toml" or narrow it to a dedicated config file used only by the
lint:actions task (e.g., move the lint-specific config into a separate file like
mise.actions.toml and reference that), and ensure any references to the lint
task/config (the lint:actions task definition) are updated accordingly so only
relevant edits trigger the workflow.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/actions-lint.yml:
- Around line 15-18: The workflow currently triggers on any change to
"mise.toml" via the paths block, causing unrelated mise.toml edits to run this
lint workflow; update the paths in the paths: section (the "paths" block
referencing "mise.toml") to either remove "mise.toml" or narrow it to a
dedicated config file used only by the lint:actions task (e.g., move the
lint-specific config into a separate file like mise.actions.toml and reference
that), and ensure any references to the lint task/config (the lint:actions task
definition) are updated accordingly so only relevant edits trigger the workflow.

In @.github/workflows/python-lint.yml:
- Around line 35-38: The workflow currently runs separate steps "Run black" and
"Run flake8" invoking `black --check scripts/` and `flake8 scripts/`; replace
these with a single CI step that calls the repository's shared lint entrypoint
(`mise lint`) so CI matches local checks, e.g., remove/replace the "Run black"
and "Run flake8" steps with one step that runs `mise lint` (ensuring the step
name reflects linting and that the command exits non‑zero on failures to
preserve current behavior).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 65d27062-9681-4505-8df9-223b41d4ab30

📥 Commits

Reviewing files that changed from the base of the PR and between 08e4e26 and 1f6a1c4.

📒 Files selected for processing (27)
  • .github/actionlint.yaml
  • .github/workflows/actions-lint.yml
  • .github/workflows/cargo-advisories.yml
  • .github/workflows/cargo-publish-dry-run.yml
  • .github/workflows/checkpoints.yml
  • .github/workflows/coverage.yml
  • .github/workflows/curio-devnet-publish.yml
  • .github/workflows/docker.yml
  • .github/workflows/dockerfile-check.yml
  • .github/workflows/forest.yml
  • .github/workflows/python-lint.yml
  • .github/workflows/release.yml
  • .github/workflows/release_dispatch.yml
  • .github/workflows/rpc-parity-report.yml
  • .github/workflows/rpc-parity.yml
  • .github/workflows/rust-lint.yml
  • .github/workflows/snapshot-parity.yml
  • mise.toml
  • scripts/devnet-curio/.env
  • scripts/devnet-curio/README.md
  • scripts/devnet-curio/curio.dockerfile
  • scripts/devnet-curio/curio.env
  • scripts/devnet-curio/docker-compose.yml
  • scripts/devnet-curio/forest_config.toml.tpl
  • scripts/devnet-curio/lotus-miner.env
  • scripts/devnet-curio/lotus.env
  • scripts/devnet-curio/run_curio.sh
💤 Files with no reviewable changes (10)
  • scripts/devnet-curio/curio.env
  • scripts/devnet-curio/lotus-miner.env
  • scripts/devnet-curio/.env
  • scripts/devnet-curio/README.md
  • scripts/devnet-curio/lotus.env
  • scripts/devnet-curio/forest_config.toml.tpl
  • scripts/devnet-curio/curio.dockerfile
  • scripts/devnet-curio/docker-compose.yml
  • .github/workflows/curio-devnet-publish.yml
  • scripts/devnet-curio/run_curio.sh

@LesnyRumcajs LesnyRumcajs added this pull request to the merge queue Apr 15, 2026
Merged via the queue into main with commit 101befd Apr 15, 2026
56 checks passed
@LesnyRumcajs LesnyRumcajs deleted the actionlint branch April 15, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants