From 50512e25a265d78849e480d29c94e82e6f649699 Mon Sep 17 00:00:00 2001 From: jdx <216188+jdx@users.noreply.github.com> Date: Thu, 8 Oct 2026 19:34:39 +0000 Subject: [PATCH 1/2] chore(ci): lint workflows with jactionlint Co-Authored-By: Claude Sonnet 5.5 --- hk.pkl | 8 +++++--- mise.toml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/hk.pkl b/hk.pkl index e4c759b..b7bcd52 100644 --- a/hk.pkl +++ b/hk.pkl @@ -11,9 +11,11 @@ local linters = new Mapping { check = "stylua --check {{files}}" fix = "stylua {{files}}" } - ["actionlint"] { - glob = ".github/workflows/*.{yml,yaml}" - check = "actionlint {{files}}" + // lints GitHub Actions workflows (jdx/jactionlint, a maintained actionlint fork) + ["jactionlint"] { + glob = List(".github/workflows/*.yml", ".github/workflows/*.yaml") + batch = true + check = "jactionlint {{files}}" } } diff --git a/mise.toml b/mise.toml index bdb971e..855b626 100644 --- a/mise.toml +++ b/mise.toml @@ -2,8 +2,8 @@ MISE_USE_VERSIONS_HOST = "0" [tools] -actionlint = "latest" hk = "latest" +jactionlint = "latest" lua = "5.4" lua-language-server = "latest" pkl = "latest" From 36c14a4fa05774db6fca19a4a0dd44a304cf42dd Mon Sep 17 00:00:00 2001 From: jdx <216188+jdx@users.noreply.github.com> Date: Thu, 8 Oct 2026 19:38:57 +0000 Subject: [PATCH 2/2] chore(ci): run hk in CI and lock jactionlint Add a CI workflow running hk check --all, commit a mise.lock covering all tools, and clear existing lua-language-server warnings so the job passes. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/ci.yml | 20 ++++ .luarc.json | 2 +- hooks/available.lua | 2 +- mise.lock | 237 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 259 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 mise.lock diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..0f167dd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,20 @@ +name: ci + +on: + pull_request: + push: + branches: [main] + +permissions: + contents: read + +jobs: + lint: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - uses: jdx/mise-action@c2a87611a18de5b3828c5652fe268e992400cb5c # v4.3.0 + - run: mise x hk -- hk check --all diff --git a/.luarc.json b/.luarc.json index fb44242..be61ff3 100644 --- a/.luarc.json +++ b/.luarc.json @@ -4,7 +4,7 @@ "version": "Lua 5.1" }, "diagnostics": { - "disable": ["duplicate-set-field"] + "disable": ["duplicate-set-field", "undefined-doc-param", "doc-field-no-class"] }, "workspace": { "checkThirdParty": false, diff --git a/hooks/available.lua b/hooks/available.lua index 3404afe..fee288c 100644 --- a/hooks/available.lua +++ b/hooks/available.lua @@ -32,7 +32,7 @@ local function fetch_versions() }) if err ~= nil or resp.status_code ~= 200 then - error("Failed to fetch versions from GCS: " .. (err or "status " .. resp.status_code)) + error("Failed to fetch versions from GCS: " .. (err or ("status " .. resp.status_code))) end local data = json.decode(resp.body) diff --git a/mise.lock b/mise.lock new file mode 100644 index 0000000..cdf561b --- /dev/null +++ b/mise.lock @@ -0,0 +1,237 @@ +# @generated - this file is auto-generated by `mise lock` https://mise.jdx.dev/dev-tools/mise-lock.html + +lockfile_version = 3 + +[[tools.hk]] +version = "2.5.0" +backend = "packslip:github.com/jdx/hk" +specifiers = ["latest"] + +[tools.hk."platforms.linux-arm64"] +checksum = "sha256:c800091c414e1c8e8628137275d88c257bcfe0c35dd31d2762923a71dae7df7f" +url = "https://github.com/jdx/hk/releases/download/v2.5.0/hk-aarch64-unknown-linux-gnu.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" +repository_ids = { repository = "922514152" } + +[tools.hk."platforms.linux-arm64-musl"] +checksum = "sha256:1e839b96defad21b5118d9554f2146811a2ce8d8eef90b3da1d592834969b717" +url = "https://github.com/jdx/hk/releases/download/v2.5.0/hk-aarch64-unknown-linux-musl.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" +repository_ids = { repository = "922514152" } + +[tools.hk."platforms.linux-x64"] +checksum = "sha256:449b83c35ac3a460f80a4c9a41ad99430add8cf6caa6ceadc27e810feac3647d" +url = "https://github.com/jdx/hk/releases/download/v2.5.0/hk-x86_64-unknown-linux-gnu.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" +repository_ids = { repository = "922514152" } + +[tools.hk."platforms.linux-x64-musl"] +checksum = "sha256:55b349ed8ebbb9cc11e3ff7f741230035061e45621c0b2c87fffeeb37fadcfd0" +url = "https://github.com/jdx/hk/releases/download/v2.5.0/hk-x86_64-unknown-linux-musl.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" +repository_ids = { repository = "922514152" } + +[tools.hk."platforms.macos-arm64"] +checksum = "sha256:fabbed3a44e72c601759fa81d56f3c9403ca466853bdf77e87cc69d986cb151a" +url = "https://github.com/jdx/hk/releases/download/v2.5.0/hk-aarch64-apple-darwin.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" +repository_ids = { repository = "922514152" } + +[tools.hk."platforms.windows-x64"] +checksum = "sha256:9d3063f0eadb316415dc2aaea51608f436eb6ffe44e00c2e460294c66f269a54" +url = "https://github.com/jdx/hk/releases/download/v2.5.0/hk-x86_64-pc-windows-msvc.zip" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" +repository_ids = { repository = "922514152" } + +[[tools.jactionlint]] +version = "1.8.2" +backend = "github:jdx/jactionlint" +specifiers = ["latest"] + +[tools.jactionlint."platforms.linux-arm64"] +checksum = "sha256:7d618749dbddd762a14bd491ea97bc4f6599626f830a11edc6c6522ead8bcd05" +url = "https://github.com/jdx/jactionlint/releases/download/v1.8.2/jactionlint_1.8.2_linux_arm64.tar.gz" +url_api = "https://api.github.com/repos/jdx/jactionlint/releases/assets/611338576" +provenance = "github-attestations" + +[tools.jactionlint."platforms.linux-arm64-musl"] +checksum = "sha256:7d618749dbddd762a14bd491ea97bc4f6599626f830a11edc6c6522ead8bcd05" +url = "https://github.com/jdx/jactionlint/releases/download/v1.8.2/jactionlint_1.8.2_linux_arm64.tar.gz" +url_api = "https://api.github.com/repos/jdx/jactionlint/releases/assets/611338576" +provenance = "github-attestations" + +[tools.jactionlint."platforms.linux-x64"] +checksum = "sha256:6533bd8047fc012a3f66238d84f65cacdac669da00b9f6cf042c1734c252bc93" +url = "https://github.com/jdx/jactionlint/releases/download/v1.8.2/jactionlint_1.8.2_linux_amd64.tar.gz" +url_api = "https://api.github.com/repos/jdx/jactionlint/releases/assets/611338580" +provenance = "github-attestations" + +[tools.jactionlint."platforms.linux-x64-musl"] +checksum = "sha256:6533bd8047fc012a3f66238d84f65cacdac669da00b9f6cf042c1734c252bc93" +url = "https://github.com/jdx/jactionlint/releases/download/v1.8.2/jactionlint_1.8.2_linux_amd64.tar.gz" +url_api = "https://api.github.com/repos/jdx/jactionlint/releases/assets/611338580" +provenance = "github-attestations" + +[tools.jactionlint."platforms.macos-arm64"] +checksum = "sha256:de9eb05af3cde409dc0b37fe2fd6a21b875a575374e7b26c02d45a7086645c28" +url = "https://github.com/jdx/jactionlint/releases/download/v1.8.2/jactionlint_1.8.2_darwin_arm64.tar.gz" +url_api = "https://api.github.com/repos/jdx/jactionlint/releases/assets/611338605" +provenance = "github-attestations" + +[tools.jactionlint."platforms.macos-x64"] +checksum = "sha256:42790b2565759b7f4a81696fb9034b2060f97f551d2ced54cf722c9de9abe6b2" +url = "https://github.com/jdx/jactionlint/releases/download/v1.8.2/jactionlint_1.8.2_darwin_amd64.tar.gz" +url_api = "https://api.github.com/repos/jdx/jactionlint/releases/assets/611338604" +provenance = "github-attestations" + +[tools.jactionlint."platforms.windows-x64"] +checksum = "sha256:fd7be539cd3276d5178f85ef140c1bb52395b1ec1f59b1585050e1be3b0b194b" +url = "https://github.com/jdx/jactionlint/releases/download/v1.8.2/jactionlint_1.8.2_windows_amd64.zip" +url_api = "https://api.github.com/repos/jdx/jactionlint/releases/assets/611338616" +provenance = "github-attestations" + +[[tools.lua]] +version = "5.4.9" +backend = "vfox:jdx/vfox-lua" +specifiers = ["5.4"] + +[tools.lua."platforms.linux-arm64"] +url = "https://www.lua.org/ftp/lua-5.4.9.tar.gz" + +[tools.lua."platforms.linux-arm64-musl"] +url = "https://www.lua.org/ftp/lua-5.4.9.tar.gz" + +[tools.lua."platforms.linux-x64"] +url = "https://www.lua.org/ftp/lua-5.4.9.tar.gz" + +[tools.lua."platforms.linux-x64-musl"] +url = "https://www.lua.org/ftp/lua-5.4.9.tar.gz" + +[tools.lua."platforms.macos-arm64"] +url = "https://www.lua.org/ftp/lua-5.4.9.tar.gz" + +[tools.lua."platforms.macos-x64"] +url = "https://www.lua.org/ftp/lua-5.4.9.tar.gz" + +[tools.lua."platforms.windows-x64"] +url = "https://www.lua.org/ftp/lua-5.4.9.tar.gz" + +[[tools.lua-language-server]] +version = "3.19.1" +backend = "aqua:LuaLS/lua-language-server" +specifiers = ["latest"] + +[tools.lua-language-server."platforms.linux-arm64"] +checksum = "sha256:abd2572e8fc929dc838a81ffb8473c5bce0bf39bfe8edb4b120b3b623176ce83" +url = "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-linux-arm64.tar.gz" +url_api = "https://api.github.com/repos/LuaLS/lua-language-server/releases/assets/513570945" + +[tools.lua-language-server."platforms.linux-arm64-musl"] +checksum = "sha256:abd2572e8fc929dc838a81ffb8473c5bce0bf39bfe8edb4b120b3b623176ce83" +url = "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-linux-arm64.tar.gz" +url_api = "https://api.github.com/repos/LuaLS/lua-language-server/releases/assets/513570945" + +[tools.lua-language-server."platforms.linux-x64"] +checksum = "sha256:e9235d2d72ef55bc41cf8c99cda2ed64777682024b4bb81f5dea425060c5cbb8" +url = "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-linux-x64.tar.gz" +url_api = "https://api.github.com/repos/LuaLS/lua-language-server/releases/assets/513572259" + +[tools.lua-language-server."platforms.linux-x64-musl"] +checksum = "sha256:e9235d2d72ef55bc41cf8c99cda2ed64777682024b4bb81f5dea425060c5cbb8" +url = "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-linux-x64.tar.gz" +url_api = "https://api.github.com/repos/LuaLS/lua-language-server/releases/assets/513572259" + +[tools.lua-language-server."platforms.macos-arm64"] +checksum = "sha256:0bc077f4447f076b4c92c14e9fd303f5b569eda2ec74b4dca2b55f75fae2e90c" +url = "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-darwin-arm64.tar.gz" +url_api = "https://api.github.com/repos/LuaLS/lua-language-server/releases/assets/513570627" + +[tools.lua-language-server."platforms.macos-x64"] +checksum = "sha256:eb373c159cbe556711d7cd316315de2dce969bfd54b31edb7eb9cab2937f2cca" +url = "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-darwin-x64.tar.gz" +url_api = "https://api.github.com/repos/LuaLS/lua-language-server/releases/assets/513569911" + +[tools.lua-language-server."platforms.windows-x64"] +checksum = "sha256:fdb9a59108cf62517813c97fa5549b0e16d1ef0688306bac728b08434db7e4cd" +url = "https://github.com/LuaLS/lua-language-server/releases/download/3.19.1/lua-language-server-3.19.1-win32-x64.zip" +url_api = "https://api.github.com/repos/LuaLS/lua-language-server/releases/assets/513572668" + +[[tools.pkl]] +version = "0.32.1" +backend = "aqua:apple/pkl" +specifiers = ["latest"] + +[tools.pkl."platforms.linux-arm64"] +checksum = "sha256:a76d2dd47da435a8f911b0347373f47c7e59ea54fb75ff846d20b8df10dba058" +url = "https://github.com/apple/pkl/releases/download/0.32.1/pkl-linux-aarch64" +url_api = "https://api.github.com/repos/apple/pkl/releases/assets/487426568" + +[tools.pkl."platforms.linux-arm64-musl"] +checksum = "sha256:a76d2dd47da435a8f911b0347373f47c7e59ea54fb75ff846d20b8df10dba058" +url = "https://github.com/apple/pkl/releases/download/0.32.1/pkl-linux-aarch64" +url_api = "https://api.github.com/repos/apple/pkl/releases/assets/487426568" + +[tools.pkl."platforms.linux-x64"] +checksum = "sha256:3180b62da95c0cad1d904e9bb6c5f4a8f9032413c21e53194bb91ff1ee5f3211" +url = "https://github.com/apple/pkl/releases/download/0.32.1/pkl-linux-amd64" +url_api = "https://api.github.com/repos/apple/pkl/releases/assets/487426567" + +[tools.pkl."platforms.linux-x64-musl"] +checksum = "sha256:3180b62da95c0cad1d904e9bb6c5f4a8f9032413c21e53194bb91ff1ee5f3211" +url = "https://github.com/apple/pkl/releases/download/0.32.1/pkl-linux-amd64" +url_api = "https://api.github.com/repos/apple/pkl/releases/assets/487426567" + +[tools.pkl."platforms.macos-arm64"] +checksum = "sha256:563eb51c9a20b16a3625464ed745c675ed9750381f2126722696a0d7cac1d9d3" +url = "https://github.com/apple/pkl/releases/download/0.32.1/pkl-macos-aarch64" +url_api = "https://api.github.com/repos/apple/pkl/releases/assets/487426570" + +[tools.pkl."platforms.macos-x64"] +checksum = "sha256:5b74b903234047960144f66f2cebdd12d267d9b98e8155ed91d2ae5ed27e2d1f" +url = "https://github.com/apple/pkl/releases/download/0.32.1/pkl-macos-amd64" +url_api = "https://api.github.com/repos/apple/pkl/releases/assets/487426599" + +[tools.pkl."platforms.windows-x64"] +checksum = "sha256:8550a00fcf027335e42c5e2cd553b88e98845408cb1880b3e3d1860caf46d22a" +url = "https://github.com/apple/pkl/releases/download/0.32.1/pkl-windows-amd64.exe" +url_api = "https://api.github.com/repos/apple/pkl/releases/assets/487426668" + +[[tools.stylua]] +version = "2.5.2" +backend = "aqua:JohnnyMorganz/StyLua" +specifiers = ["latest"] + +[tools.stylua."platforms.linux-arm64"] +checksum = "sha256:0ef2ebf0b7e5a652b65c4cb96c6d9ffb3981a98547de3c764465bbf54a8d761a" +url = "https://github.com/JohnnyMorganz/StyLua/releases/download/v2.5.2/stylua-linux-aarch64.zip" +url_api = "https://api.github.com/repos/JohnnyMorganz/StyLua/releases/assets/421900973" + +[tools.stylua."platforms.linux-arm64-musl"] +checksum = "sha256:0ef2ebf0b7e5a652b65c4cb96c6d9ffb3981a98547de3c764465bbf54a8d761a" +url = "https://github.com/JohnnyMorganz/StyLua/releases/download/v2.5.2/stylua-linux-aarch64.zip" +url_api = "https://api.github.com/repos/JohnnyMorganz/StyLua/releases/assets/421900973" + +[tools.stylua."platforms.linux-x64"] +checksum = "sha256:ca6f1cf52eaf69e6632b81acef9c197aa24b85eb30d2455a35e7dbe28ae77c72" +url = "https://github.com/JohnnyMorganz/StyLua/releases/download/v2.5.2/stylua-linux-x86_64-musl.zip" +url_api = "https://api.github.com/repos/JohnnyMorganz/StyLua/releases/assets/421901066" + +[tools.stylua."platforms.linux-x64-musl"] +checksum = "sha256:ca6f1cf52eaf69e6632b81acef9c197aa24b85eb30d2455a35e7dbe28ae77c72" +url = "https://github.com/JohnnyMorganz/StyLua/releases/download/v2.5.2/stylua-linux-x86_64-musl.zip" +url_api = "https://api.github.com/repos/JohnnyMorganz/StyLua/releases/assets/421901066" + +[tools.stylua."platforms.macos-arm64"] +checksum = "sha256:92ff0889e16324801bc072692974bb67f8161e62010fc90f96c62a17f81f32c7" +url = "https://github.com/JohnnyMorganz/StyLua/releases/download/v2.5.2/stylua-macos-aarch64.zip" +url_api = "https://api.github.com/repos/JohnnyMorganz/StyLua/releases/assets/421901102" + +[tools.stylua."platforms.macos-x64"] +checksum = "sha256:53c50a1605d0a6345d160a1a5a21db40bcf2bf9cd23c17f7c277a63a1bff3a7f" +url = "https://github.com/JohnnyMorganz/StyLua/releases/download/v2.5.2/stylua-macos-x86_64.zip" +url_api = "https://api.github.com/repos/JohnnyMorganz/StyLua/releases/assets/421901085" + +[tools.stylua."platforms.windows-x64"] +checksum = "sha256:e77d0ea1226b8b389b43f702240091249a96eea25857281f90ea24d0eb9eb969" +url = "https://github.com/JohnnyMorganz/StyLua/releases/download/v2.5.2/stylua-windows-x86_64.zip" +url_api = "https://api.github.com/repos/JohnnyMorganz/StyLua/releases/assets/421902292"