ZIm/.github/workflows
Peter Tripp 70bde54a2c
ci: Lint GitHub Actions workflows with actionlint (#34729)
Added [rhysd/actionlint](https://github.com/rhysd/actionlint/) a static
checker for GitHub Actions workflow files.
Install locally with `brew install actionlint` the run with
`actionlint`.

Inspired by: https://github.com/zed-industries/zed/pull/34704 which
yielded this observation:

> In github actions: 
> 1. strings are truthy
> 2. `${{ }}` will become a string if it doesn't wrap the whole value.
>
> So `if: false && true` becomes `false`
> and `if: ${{ false && true }}` becomes `false`
> but `if: false && ${{ true }}` becomes `"false && true"` which
evaluates true
> The reason you sometimes need `${{ }}` is because YAML doesn't like
`!`
> so `if: !false` is invalid yaml
> and `if: ${{ !false }}` works just fine.

Changes:
- Add `actionlint` job
- Refactor `job_spec` job to be more readable
- Fix all `actionlint` and `shellcheck` errors in Actions workflows (62
in all)
- Add `self-mini-macos` and `self-32vcpu-windows-2022` labels to
self-hosted runners. Not strictly related, but useful if you need to
take a runner out of the rotation (since `macOS`, `self-hosted`, and
`ARM64` are auto-set and cannot be added/removed).
- Change ci.yml macos_relase to target `self-mini-macos` instead of
`bundle` which was previously deprecated.

This would've caught the error fixed in
https://github.com/zed-industries/zed/pull/34704. Here's what that [job
failure](https://github.com/zed-industries/zed/actions/runs/16376993944/job/46279281842?pr=34729)
would've looked like.

Release Notes:

- N/A
2025-07-18 15:15:07 -04:00
..
bump_collab_staging.yml Update actions/checkout digest to 11bd719 (#19636) 2024-10-23 21:57:06 -04:00
bump_patch_version.yml ci: Lint GitHub Actions workflows with actionlint (#34729) 2025-07-18 15:15:07 -04:00
ci.yml ci: Lint GitHub Actions workflows with actionlint (#34729) 2025-07-18 15:15:07 -04:00
community_close_stale_issues.yml Update stale issue bot to run on Wednesday (#27437) 2025-03-25 16:40:43 +00:00
community_release_actions.yml ci: Lint GitHub Actions workflows with actionlint (#34729) 2025-07-18 15:15:07 -04:00
community_update_all_top_ranking_issues.yml Resurrect top-ranking issues script (#25433) 2025-02-23 14:24:56 -05:00
community_update_weekly_top_ranking_issues.yml Resurrect top-ranking issues script (#25433) 2025-02-23 14:24:56 -05:00
danger.yml Update actions/setup-node digest to 49933ea (#28897) 2025-04-18 11:31:02 -06:00
deploy_cloudflare.yml Validate actions in docs (#31073) 2025-06-04 19:18:12 +00:00
deploy_collab.yml ci: Lint GitHub Actions workflows with actionlint (#34729) 2025-07-18 15:15:07 -04:00
eval.yml ci: Lint GitHub Actions workflows with actionlint (#34729) 2025-07-18 15:15:07 -04:00
issue_response.yml Update actions/setup-node digest to 49933ea (#28897) 2025-04-18 11:31:02 -06:00
nix.yml ci: Lint GitHub Actions workflows with actionlint (#34729) 2025-07-18 15:15:07 -04:00
publish_extension_cli.yml Update swatinem/rust-cache digest to 9d47c6a (#27121) 2025-03-20 07:58:22 +02:00
randomized_tests.yml Update actions/setup-node digest to 49933ea (#28897) 2025-04-18 11:31:02 -06:00
release_nightly.yml ci: Lint GitHub Actions workflows with actionlint (#34729) 2025-07-18 15:15:07 -04:00
script_checks.yml ci: Add shellcheck for scripts (#20631) 2024-11-18 16:41:22 -05:00
unit_evals.yml ci: Lint GitHub Actions workflows with actionlint (#34729) 2025-07-18 15:15:07 -04:00