From 1b44a5eebf039bf55dd65090b12f6c9c707dccc5 Mon Sep 17 00:00:00 2001 From: Isaac Halvorson Date: Thu, 24 Sep 2026 16:04:50 -0500 Subject: [PATCH] wip --- .config/ls-lint.yml | 7 + .config/lychee.toml | 6 + .config/ryl.toml | 33 ++ .shellcheckrc => .config/shellcheckrc | 0 .github/dependabot.yml | 3 +- .gitignore | 7 +- hk.pkl | 72 ++-- mise.lock | 508 ++++++++++++++++++++++++++ mise.toml | 5 + packer/macos-base.pkr.hcl | 25 ++ scripts/xcode/lib/xcode-utils.bash | 4 +- 11 files changed, 636 insertions(+), 34 deletions(-) create mode 100644 .config/ls-lint.yml create mode 100644 .config/lychee.toml create mode 100644 .config/ryl.toml rename .shellcheckrc => .config/shellcheckrc (100%) create mode 100644 mise.lock create mode 100644 packer/macos-base.pkr.hcl diff --git a/.config/ls-lint.yml b/.config/ls-lint.yml new file mode 100644 index 0000000..02d3b53 --- /dev/null +++ b/.config/ls-lint.yml @@ -0,0 +1,7 @@ +--- +ls: + .*: kebab-case + +ignore: + - README.md + - scripts/xcode/tests/test_xcode-utils.bash diff --git a/.config/lychee.toml b/.config/lychee.toml new file mode 100644 index 0000000..7e0fe3c --- /dev/null +++ b/.config/lychee.toml @@ -0,0 +1,6 @@ +cache = true +exclude = [ + # StackExchange and StackOverflow URLs keep throwing 403s for some reason + '^https?://(.*\.)?stackexchange\.com', + '^https?://(.*\.)?stackoverflow\.com', +] diff --git a/.config/ryl.toml b/.config/ryl.toml new file mode 100644 index 0000000..ebcec7a --- /dev/null +++ b/.config/ryl.toml @@ -0,0 +1,33 @@ +[files] +yaml = [ + "*.yaml", + "*.yml", + ".yamllint", +] + +[rules] +anchors = "enable" +braces = "enable" +brackets = "enable" +colons = "enable" +commas = "enable" +document-end = "disable" +empty-lines = "enable" +empty-values = "disable" +float-values = "disable" +hyphens = "enable" +indentation = "enable" +key-duplicates = "enable" +key-ordering = "disable" +line-length = "enable" +new-line-at-end-of-file = "enable" +new-lines = "enable" +octal-values = "disable" +quoted-strings = "disable" +trailing-spaces = "enable" + +[rules.comments] +min-spaces-from-content = 1 + +[per-file-ignores] +".github/workflows/*" = ["truthy"] diff --git a/.shellcheckrc b/.config/shellcheckrc similarity index 100% rename from .shellcheckrc rename to .config/shellcheckrc diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8983643..844bd4c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,5 +1,6 @@ --- -# Documentation for this file: https://docs.github.com/en/code-security/reference/supply-chain-security/dependabot-options-reference +# Documentation for this file: +# https://docs.github.com/en/code-security/reference/supply-chain-security/dependabot-options-reference version: 2 updates: diff --git a/.gitignore b/.gitignore index 03bbb21..5fd9109 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,8 @@ -# General +# general .DS_Store .env -# Cached files +# caches .cache/ - -# Packer +.lycheecache packer_cache/ diff --git a/hk.pkl b/hk.pkl index 6da73b6..486030f 100644 --- a/hk.pkl +++ b/hk.pkl @@ -1,52 +1,70 @@ -amends "package://github.com/jdx/hk/releases/download/v2.1.0/hk@2.1.0#/Config.pkl" +amends "package://github.com/jdx/hk/releases/download/v2.2.0/hk@2.2.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v2.1.0/hk@2.1.0#/Builtins.pkl" +import "package://github.com/jdx/hk/releases/download/v2.2.0/hk@2.2.0#/Builtins.pkl" fail_fast = false env { - ["HK_MISE"] = "true" + ["HK_MISE"] = "1" } -local builtin_linters = new Mapping { +steps { + ["packer"] = new Step { + glob = "*.pkr.hcl" + check = "packer fmt -check {{ files }}" + fix = "packer fmt {{ files }}" + } + + // Builtins ["actionlint"] = Builtins.actionlint + ["editorconfig-checker"] = Builtins.editorconfig_checker ["mise"] = Builtins.mise ["pkl"] = Builtins.pkl ["pkl-format"] = Builtins.pkl_format - ["shellcheck"] = Builtins.shellcheck + ["ryl"] = Builtins.ryl ["shfmt"] = Builtins.shfmt ["tombi"] = Builtins.tombi -} -local utility_linters = new Mapping { + ["ls-lint"] = (Builtins.ls_lint) { + check { + command { + argv = Builtins.ls_lint.check.command.argv + List("-config", ".config/ls-lint.yml") + } + } + } + ["lychee"] = (Builtins.lychee) { + exclude = "mise.lock" + check { + command { + argv = Builtins.lychee.check.command.argv + List("--config", ".config/lychee.toml") + } + } + } + ["shellcheck"] = (Builtins.shellcheck) { + check { + command { + argv = Builtins.shellcheck.check.command.argv + List("--rcfile", ".config/shellcheckrc") + } + } + check_diff { + command { + argv = + Builtins.shellcheck.check_diff.command.argv + List("--rcfile", ".config/shellcheckrc") + } + } + } + + // Utilities ["byte-order-marker"] = Builtins.byte_order_marker ["check-added-large-files"] = Builtins.check_added_large_files ["check-case-conflict"] = Builtins.check_case_conflict ["check-executables-have-shebangs"] = Builtins.check_executables_have_shebangs ["check-merge-conflict"] = Builtins.check_merge_conflict ["check-symlinks"] = Builtins.check_symlinks + ["destroyed_symlinks"] = Builtins.destroyed_symlinks ["detect-private-key"] = Builtins.detect_private_key ["fix-smart-quotes"] = Builtins.fix_smart_quotes + ["forbid-submodules"] = Builtins.forbid_submodules ["mixed-line-ending"] = Builtins.mixed_line_ending ["newlines"] = Builtins.newlines ["trailing-whitespace"] = Builtins.trailing_whitespace } - -local all_linters = new Mapping { - ...builtin_linters - ...utility_linters -} - -hooks { - ["pre-commit"] { - fix = true - stash = "git" - steps = all_linters - } - ["fix"] { - fix = true - steps = all_linters - } - ["check"] { - steps = all_linters - } -} diff --git a/mise.lock b/mise.lock new file mode 100644 index 0000000..f7aefa0 --- /dev/null +++ b/mise.lock @@ -0,0 +1,508 @@ +# @generated - this file is auto-generated by `mise lock` https://mise.jdx.dev/dev-tools/mise-lock.html + +lockfile_version = 2 + +[[tools.actionlint]] +version = "1.7.12" +backend = "aqua:rhysd/actionlint" +specifiers = ["latest"] + +[tools.actionlint."platforms.linux-arm64"] +checksum = "sha256:325e971b6ba9bfa504672e29be93c24981eeb1c07576d730e9f7c8805afff0c6" +url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_linux_arm64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924897" +provenance = "github-attestations" + +[tools.actionlint."platforms.linux-arm64-musl"] +checksum = "sha256:325e971b6ba9bfa504672e29be93c24981eeb1c07576d730e9f7c8805afff0c6" +url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_linux_arm64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924897" +provenance = "github-attestations" + +[tools.actionlint."platforms.linux-x64"] +checksum = "sha256:8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8" +url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_linux_amd64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924896" +provenance = "github-attestations" + +[tools.actionlint."platforms.linux-x64-musl"] +checksum = "sha256:8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8" +url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_linux_amd64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924896" +provenance = "github-attestations" + +[tools.actionlint."platforms.macos-arm64"] +checksum = "sha256:aba9ced2dee8d27fecca3dc7feb1a7f9a52caefa1eb46f3271ea66b6e0e6953f" +url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_darwin_arm64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924893" +provenance = "github-attestations" + +[tools.actionlint."platforms.macos-x64"] +checksum = "sha256:5b44c3bc2255115c9b69e30efc0fecdf498fdb63c5d58e17084fd5f16324c644" +url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_darwin_amd64.tar.gz" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924880" +provenance = "github-attestations" + +[tools.actionlint."platforms.windows-x64"] +checksum = "sha256:6e7241b51e6817ea6a047693d8e6fed13b31819c9a0dd6c5a726e1592d22f6e9" +url = "https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_windows_amd64.zip" +url_api = "https://api.github.com/repos/rhysd/actionlint/releases/assets/384924919" +provenance = "github-attestations" + +[[tools."aqua:owenlamont/ryl"]] +version = "0.22.0" +backend = "aqua:owenlamont/ryl" +specifiers = ["latest"] + +[tools."aqua:owenlamont/ryl"."platforms.linux-arm64"] +checksum = "sha256:1045ea5807ae274c0812f63f73469018b58f822c8987e22b71f9995be971a6dd" +url = "https://github.com/owenlamont/ryl/releases/download/v0.22.0/ryl-aarch64-unknown-linux-gnu.tar.gz" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/547221094" +provenance = "github-attestations" + +[tools."aqua:owenlamont/ryl"."platforms.linux-arm64-musl"] +checksum = "sha256:e2756acb29fac8a1963ef6477f557d31bd9b6a1fb0d745dcb2c5c24714e20910" +url = "https://github.com/owenlamont/ryl/releases/download/v0.22.0/ryl-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/547221095" +provenance = "github-attestations" + +[tools."aqua:owenlamont/ryl"."platforms.linux-x64"] +checksum = "sha256:e51be237168ff44c8e28caca87db35c15ac5c943bba5edba0e72465b51add524" +url = "https://github.com/owenlamont/ryl/releases/download/v0.22.0/ryl-x86_64-unknown-linux-gnu.tar.gz" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/547221116" +provenance = "github-attestations" + +[tools."aqua:owenlamont/ryl"."platforms.linux-x64-musl"] +checksum = "sha256:43625dd5c968b2c08e875a8121b2c441bd5059414d8d1fbe8d791cf6bfde402c" +url = "https://github.com/owenlamont/ryl/releases/download/v0.22.0/ryl-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/547221117" +provenance = "github-attestations" + +[tools."aqua:owenlamont/ryl"."platforms.macos-arm64"] +checksum = "sha256:512051556cc92b3bfcb21c434072dcb3de7088af4982439ff0cce7888819f501" +url = "https://github.com/owenlamont/ryl/releases/download/v0.22.0/ryl-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/547221097" +provenance = "github-attestations" + +[tools."aqua:owenlamont/ryl"."platforms.windows-x64"] +checksum = "sha256:c0b3c8520b0d749d5df974e9638110a7169cde1d8febd6a4e68e802c5de7a70d" +url = "https://github.com/owenlamont/ryl/releases/download/v0.22.0/ryl-x86_64-pc-windows-msvc.zip" +url_api = "https://api.github.com/repos/owenlamont/ryl/releases/assets/547221108" +provenance = "github-attestations" + +[[tools.editorconfig-checker]] +version = "4.0.2" +backend = "github:editorconfig-checker/editorconfig-checker" +specifiers = ["latest"] + +[tools.editorconfig-checker."platforms.linux-arm64"] +checksum = "sha256:abad76da8c9950fdc2a314bcd66969172aa823e9c595fa7e3a389a91e34d025e" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v4.0.2/editorconfig-checker-linux-arm64.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/574675779" +provenance = "github-attestations" + +[tools.editorconfig-checker."platforms.linux-arm64-musl"] +checksum = "sha256:abad76da8c9950fdc2a314bcd66969172aa823e9c595fa7e3a389a91e34d025e" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v4.0.2/editorconfig-checker-linux-arm64.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/574675779" +provenance = "github-attestations" + +[tools.editorconfig-checker."platforms.linux-x64"] +checksum = "sha256:44efaef3ed14c6ab52eb87481d78e5e5c204796dccf26e2f4598a61ba17f8003" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v4.0.2/editorconfig-checker-linux-amd64.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/574675771" +provenance = "github-attestations" + +[tools.editorconfig-checker."platforms.linux-x64-musl"] +checksum = "sha256:44efaef3ed14c6ab52eb87481d78e5e5c204796dccf26e2f4598a61ba17f8003" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v4.0.2/editorconfig-checker-linux-amd64.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/574675771" +provenance = "github-attestations" + +[tools.editorconfig-checker."platforms.macos-arm64"] +checksum = "sha256:ff59f57717d95fc62b8e372c8051dbbb766f7d660942409a85d027b0feb2422c" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v4.0.2/editorconfig-checker-darwin-all.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/574675773" +provenance = "github-attestations" + +[tools.editorconfig-checker."platforms.macos-x64"] +checksum = "sha256:ff59f57717d95fc62b8e372c8051dbbb766f7d660942409a85d027b0feb2422c" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v4.0.2/editorconfig-checker-darwin-all.tar.gz" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/574675773" +provenance = "github-attestations" + +[tools.editorconfig-checker."platforms.windows-x64"] +checksum = "sha256:857f8f74dfc259d73dac93573e37cf3ce01150787d7b139bf839549cc6b5beb9" +url = "https://github.com/editorconfig-checker/editorconfig-checker/releases/download/v4.0.2/editorconfig-checker-windows-amd64.zip" +url_api = "https://api.github.com/repos/editorconfig-checker/editorconfig-checker/releases/assets/574675794" +provenance = "github-attestations" + +[[tools.hk]] +version = "2.2.0" +backend = "packslip:github.com/jdx/hk" +specifiers = ["latest"] + +[tools.hk."platforms.linux-arm64"] +checksum = "sha256:8f6f86adae8d9b40ce47815af1b7a2f43a5b02d8abda7a831c8fcb9d5619e878" +url = "https://github.com/jdx/hk/releases/download/v2.2.0/hk-aarch64-unknown-linux-gnu.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" + +[tools.hk."platforms.linux-arm64-musl"] +checksum = "sha256:7914940ab8ebbdfcda2a4315e9efbc419d1c65828d26be04310362649aa47162" +url = "https://github.com/jdx/hk/releases/download/v2.2.0/hk-aarch64-unknown-linux-musl.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" + +[tools.hk."platforms.linux-x64"] +checksum = "sha256:ffb90603d1aeb6c545ff64087372c136d46bb6d820164d63b352b1c189f40053" +url = "https://github.com/jdx/hk/releases/download/v2.2.0/hk-x86_64-unknown-linux-gnu.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" + +[tools.hk."platforms.linux-x64-musl"] +checksum = "sha256:bf359f72335b99c872d7de28ccdd51cea2e5311c9200414a2409d5bfcd06c595" +url = "https://github.com/jdx/hk/releases/download/v2.2.0/hk-x86_64-unknown-linux-musl.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" + +[tools.hk."platforms.macos-arm64"] +checksum = "sha256:82da7ae00554222568ea4115939e13fca640c2fae426ea828176b5b08ea45f68" +url = "https://github.com/jdx/hk/releases/download/v2.2.0/hk-aarch64-apple-darwin.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" + +[tools.hk."platforms.windows-x64"] +checksum = "sha256:f265c9cadfbb2ded37328f7248dc5879804b5e460746bab5039765ee0e23eaf2" +url = "https://github.com/jdx/hk/releases/download/v2.2.0/hk-x86_64-pc-windows-msvc.zip" +signer = "sigstore-oidc:https://github.com/jdx/hk/.github/workflows/release.yml" + +[[tools.ls-lint]] +version = "2.3.1" +backend = "aqua:loeffel-io/ls-lint" +specifiers = ["latest"] + +[tools.ls-lint."platforms.linux-arm64"] +checksum = "sha256:2abdb71243c619f0bb29587be5c228bec84c107985f2c066139ef0ec35fd3a99" +url = "https://github.com/loeffel-io/ls-lint/releases/download/v2.3.1/ls-lint-linux-arm64" +url_api = "https://api.github.com/repos/loeffel-io/ls-lint/releases/assets/260857550" + +[tools.ls-lint."platforms.linux-arm64-musl"] +checksum = "sha256:2abdb71243c619f0bb29587be5c228bec84c107985f2c066139ef0ec35fd3a99" +url = "https://github.com/loeffel-io/ls-lint/releases/download/v2.3.1/ls-lint-linux-arm64" +url_api = "https://api.github.com/repos/loeffel-io/ls-lint/releases/assets/260857550" + +[tools.ls-lint."platforms.linux-x64"] +checksum = "sha256:b5a0d2e4427ad039fbc574551f17679f38f142b25d15e0e538769f8cf15af397" +url = "https://github.com/loeffel-io/ls-lint/releases/download/v2.3.1/ls-lint-linux-amd64" +url_api = "https://api.github.com/repos/loeffel-io/ls-lint/releases/assets/260857547" + +[tools.ls-lint."platforms.linux-x64-musl"] +checksum = "sha256:b5a0d2e4427ad039fbc574551f17679f38f142b25d15e0e538769f8cf15af397" +url = "https://github.com/loeffel-io/ls-lint/releases/download/v2.3.1/ls-lint-linux-amd64" +url_api = "https://api.github.com/repos/loeffel-io/ls-lint/releases/assets/260857547" + +[tools.ls-lint."platforms.macos-arm64"] +checksum = "sha256:e4ed2ce2b7b61d6685769e34c6375ccecb14a3f00ee59438cf82d01d6236a3c4" +url = "https://github.com/loeffel-io/ls-lint/releases/download/v2.3.1/ls-lint-darwin-arm64" +url_api = "https://api.github.com/repos/loeffel-io/ls-lint/releases/assets/260857541" + +[tools.ls-lint."platforms.macos-x64"] +checksum = "sha256:fc17fc642e95fd8bf7030ed661e86758bee654f6e11f1e31a5f21887f47f73ae" +url = "https://github.com/loeffel-io/ls-lint/releases/download/v2.3.1/ls-lint-darwin-amd64" +url_api = "https://api.github.com/repos/loeffel-io/ls-lint/releases/assets/260857543" + +[tools.ls-lint."platforms.windows-x64"] +checksum = "sha256:94e5cfb9468e597cb513fb7a8bf26499c9315ebd505d960c74e2d4849167bd31" +url = "https://github.com/loeffel-io/ls-lint/releases/download/v2.3.1/ls-lint-windows-amd64.exe" +url_api = "https://api.github.com/repos/loeffel-io/ls-lint/releases/assets/260857557" + +[[tools.lychee]] +version = "0.24.2" +backend = "aqua:lycheeverse/lychee" +specifiers = ["latest"] + +[tools.lychee."platforms.linux-arm64"] +checksum = "sha256:91a7bd65685da41b90ccb9bc867a3d649a7818042dae04ff405e55a25bddee4c" +url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-aarch64-unknown-linux-gnu.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409959442" + +[tools.lychee."platforms.linux-arm64-musl"] +checksum = "sha256:5d0b0e3aeab240f41920c633a6eaf97599be6eedda034b36e858ede7dba5e535" +url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409958602" + +[tools.lychee."platforms.linux-x64"] +checksum = "sha256:1f4e0ef7f6554a6ed33dd7ac144fb2e1bbed98598e7af973042fc5cd43951c9a" +url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-x86_64-unknown-linux-gnu.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409959156" + +[tools.lychee."platforms.linux-x64-musl"] +checksum = "sha256:73657a111819a30c47c08352896796f23d64e4eb2b3ed39b6d32149241566fc5" +url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409959271" + +[tools.lychee."platforms.macos-arm64"] +checksum = "sha256:c9d3740ea2d891854d37116c9fba840f37b6e7c89d330e7db84ac333631c4977" +url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409957951" + +[tools.lychee."platforms.macos-x64"] +checksum = "sha256:887503a9cff667d322b8d0892b40bf49976eb9507af8483220a3706cdad55978" +url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-x86_64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409957687" + +[tools.lychee."platforms.windows-x64"] +checksum = "sha256:32975d1493ee1a975d6bb41e4fb56fe419cb442ded628bb772ba2e614acfacad" +url = "https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-x86_64-pc-windows-msvc.zip" +url_api = "https://api.github.com/repos/lycheeverse/lychee/releases/assets/409959491" + +[[tools.packer]] +version = "1.16.1" +backend = "aqua:hashicorp/packer" +specifiers = ["latest"] + +[tools.packer."platforms.linux-arm64"] +checksum = "sha256:4784ac0b9228a61f3ecb3861dbf0bf9ebeab6ddb0f5a10466126b8daa5db0de5" +url = "https://releases.hashicorp.com/packer/1.16.1/packer_1.16.1_linux_arm64.zip" + +[tools.packer."platforms.linux-arm64-musl"] +checksum = "sha256:4784ac0b9228a61f3ecb3861dbf0bf9ebeab6ddb0f5a10466126b8daa5db0de5" +url = "https://releases.hashicorp.com/packer/1.16.1/packer_1.16.1_linux_arm64.zip" + +[tools.packer."platforms.linux-x64"] +checksum = "sha256:af38a9e93e4ed1b9ca68206ae969c64c300c82a3dde46a780dfa629f0867f651" +url = "https://releases.hashicorp.com/packer/1.16.1/packer_1.16.1_linux_amd64.zip" + +[tools.packer."platforms.linux-x64-musl"] +checksum = "sha256:af38a9e93e4ed1b9ca68206ae969c64c300c82a3dde46a780dfa629f0867f651" +url = "https://releases.hashicorp.com/packer/1.16.1/packer_1.16.1_linux_amd64.zip" + +[tools.packer."platforms.macos-arm64"] +checksum = "sha256:c45cb1f851971e8a340c4a36434273cf2c8ef0cc7f5b3ac65588a3539b1df424" +url = "https://releases.hashicorp.com/packer/1.16.1/packer_1.16.1_darwin_arm64.zip" + +[tools.packer."platforms.macos-x64"] +checksum = "sha256:e3655fb154e718526c3bcaacf327e6247e55945d2fefd59f84f535750f7ef5c4" +url = "https://releases.hashicorp.com/packer/1.16.1/packer_1.16.1_darwin_amd64.zip" + +[tools.packer."platforms.windows-x64"] +checksum = "sha256:48e9b25ecf807959a1dcb9aa9b074e6fcd08c7b7ed89803538647c5873dbc95b" +url = "https://releases.hashicorp.com/packer/1.16.1/packer_1.16.1_windows_amd64.zip" + +[[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.shellcheck]] +version = "0.11.0" +backend = "aqua:koalaman/shellcheck" +specifiers = ["latest"] + +[tools.shellcheck."platforms.linux-arm64"] +checksum = "sha256:12b331c1d2db6b9eb13cfca64306b1b157a86eb69db83023e261eaa7e7c14588" +url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.linux.aarch64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056934" + +[tools.shellcheck."platforms.linux-arm64-musl"] +checksum = "sha256:12b331c1d2db6b9eb13cfca64306b1b157a86eb69db83023e261eaa7e7c14588" +url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.linux.aarch64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056934" + +[tools.shellcheck."platforms.linux-x64"] +checksum = "sha256:8c3be12b05d5c177a04c29e3c78ce89ac86f1595681cab149b65b97c4e227198" +url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.linux.x86_64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056942" + +[tools.shellcheck."platforms.linux-x64-musl"] +checksum = "sha256:8c3be12b05d5c177a04c29e3c78ce89ac86f1595681cab149b65b97c4e227198" +url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.linux.x86_64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056942" + +[tools.shellcheck."platforms.macos-arm64"] +checksum = "sha256:56affdd8de5527894dca6dc3d7e0a99a873b0f004d7aabc30ae407d3f48b0a79" +url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.darwin.aarch64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056932" + +[tools.shellcheck."platforms.macos-x64"] +checksum = "sha256:3c89db4edcab7cf1c27bff178882e0f6f27f7afdf54e859fa041fca10febe4c6" +url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.darwin.x86_64.tar.xz" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056930" + +[tools.shellcheck."platforms.windows-x64"] +checksum = "sha256:8a4e35ab0b331c85d73567b12f2a444df187f483e5079ceffa6bda1faa2e740e" +url = "https://github.com/koalaman/shellcheck/releases/download/v0.11.0/shellcheck-v0.11.0.zip" +url_api = "https://api.github.com/repos/koalaman/shellcheck/releases/assets/279056944" + +[[tools.shfmt]] +version = "3.14.1" +backend = "aqua:mvdan/sh" +specifiers = ["latest"] + +[tools.shfmt."platforms.linux-arm64"] +checksum = "sha256:5f2db09dae91fca848f7adbdd014632e921a383863a2ad7e0450ad3aba0c6489" +url = "https://github.com/mvdan/sh/releases/download/v3.14.1/shfmt_v3.14.1_linux_arm64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/547320869" + +[tools.shfmt."platforms.linux-arm64-musl"] +checksum = "sha256:5f2db09dae91fca848f7adbdd014632e921a383863a2ad7e0450ad3aba0c6489" +url = "https://github.com/mvdan/sh/releases/download/v3.14.1/shfmt_v3.14.1_linux_arm64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/547320869" + +[tools.shfmt."platforms.linux-x64"] +checksum = "sha256:76e77641faa025814b77f153b29796b8e6fa2fca03e0c76a691608b86c7ea7bf" +url = "https://github.com/mvdan/sh/releases/download/v3.14.1/shfmt_v3.14.1_linux_amd64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/547320883" + +[tools.shfmt."platforms.linux-x64-musl"] +checksum = "sha256:76e77641faa025814b77f153b29796b8e6fa2fca03e0c76a691608b86c7ea7bf" +url = "https://github.com/mvdan/sh/releases/download/v3.14.1/shfmt_v3.14.1_linux_amd64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/547320883" + +[tools.shfmt."platforms.macos-arm64"] +checksum = "sha256:b7c872db63553ccffc7253aba3ed7d4885a27d83f1ba567b1138c6315a5847e5" +url = "https://github.com/mvdan/sh/releases/download/v3.14.1/shfmt_v3.14.1_darwin_arm64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/547320930" + +[tools.shfmt."platforms.macos-x64"] +checksum = "sha256:d33eee0da0f92835b3562e9767a05cee7e4eaeef47daa03bfd09da17b4b590a6" +url = "https://github.com/mvdan/sh/releases/download/v3.14.1/shfmt_v3.14.1_darwin_amd64" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/547320946" + +[tools.shfmt."platforms.windows-x64"] +checksum = "sha256:13629ce28442ca80b6b5a819f7574ab39e1c28c6e26734ca816c9714e04851df" +url = "https://github.com/mvdan/sh/releases/download/v3.14.1/shfmt_v3.14.1_windows_amd64.exe" +url_api = "https://api.github.com/repos/mvdan/sh/releases/assets/547320827" + +[[tools.tart]] +version = "2.38.0" +backend = "aqua:openai/tart" +specifiers = ["latest"] + +[tools.tart."platforms.macos-arm64"] +checksum = "sha256:1712be82b687cc27792d5a2bae3f36fcb5e5dea4d5772231f5508dea567999e2" +url = "https://github.com/openai/tart/releases/download/2.38.0/tart.tar.gz" +url_api = "https://api.github.com/repos/openai/tart/releases/assets/586822854" + +[tools.tart."platforms.macos-x64"] +checksum = "sha256:1712be82b687cc27792d5a2bae3f36fcb5e5dea4d5772231f5508dea567999e2" +url = "https://github.com/openai/tart/releases/download/2.38.0/tart.tar.gz" +url_api = "https://api.github.com/repos/openai/tart/releases/assets/586822854" + +[[tools.tombi]] +version = "1.5.5" +backend = "aqua:tombi-toml/tombi" +specifiers = ["latest"] + +[tools.tombi."platforms.linux-arm64"] +checksum = "sha256:a545a471cec6baf982bcb8e274d097303cece1a72136ada79d240adb6d1354f6" +url = "https://github.com/tombi-toml/tombi/releases/download/v1.5.5/tombi-cli-1.5.5-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/tombi-toml/tombi/releases/assets/559313379" +provenance = "github-attestations" + +[tools.tombi."platforms.linux-arm64-musl"] +checksum = "sha256:a545a471cec6baf982bcb8e274d097303cece1a72136ada79d240adb6d1354f6" +url = "https://github.com/tombi-toml/tombi/releases/download/v1.5.5/tombi-cli-1.5.5-aarch64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/tombi-toml/tombi/releases/assets/559313379" +provenance = "github-attestations" + +[tools.tombi."platforms.linux-x64"] +checksum = "sha256:6c50d2589989e8182e9f6e774b4b25c9f5729b67a2a7e7dcaadddbedbe1da5ec" +url = "https://github.com/tombi-toml/tombi/releases/download/v1.5.5/tombi-cli-1.5.5-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/tombi-toml/tombi/releases/assets/559313407" +provenance = "github-attestations" + +[tools.tombi."platforms.linux-x64-musl"] +checksum = "sha256:6c50d2589989e8182e9f6e774b4b25c9f5729b67a2a7e7dcaadddbedbe1da5ec" +url = "https://github.com/tombi-toml/tombi/releases/download/v1.5.5/tombi-cli-1.5.5-x86_64-unknown-linux-musl.tar.gz" +url_api = "https://api.github.com/repos/tombi-toml/tombi/releases/assets/559313407" +provenance = "github-attestations" + +[tools.tombi."platforms.macos-arm64"] +checksum = "sha256:460b3269414d2ca26e05863908764f118bea3b4a52068081af6a3dae03c1320e" +url = "https://github.com/tombi-toml/tombi/releases/download/v1.5.5/tombi-cli-1.5.5-aarch64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/tombi-toml/tombi/releases/assets/559313381" +provenance = "github-attestations" + +[tools.tombi."platforms.macos-x64"] +checksum = "sha256:9276c456e4a0217e95fb84ac3cde29d281d7b53e5eb168d83cb038ec07e2083d" +url = "https://github.com/tombi-toml/tombi/releases/download/v1.5.5/tombi-cli-1.5.5-x86_64-apple-darwin.tar.gz" +url_api = "https://api.github.com/repos/tombi-toml/tombi/releases/assets/559313375" +provenance = "github-attestations" + +[tools.tombi."platforms.windows-x64"] +checksum = "sha256:49e8aa14e82038a13c5f9f50cc6524b56b9bce167734bead31439939e0830a3b" +url = "https://github.com/tombi-toml/tombi/releases/download/v1.5.5/tombi-cli-1.5.5-x86_64-pc-windows-msvc.zip" +url_api = "https://api.github.com/repos/tombi-toml/tombi/releases/assets/559313401" +provenance = "github-attestations" + +[[tools.usage]] +version = "6.11.1" +backend = "packslip:github.com/jdx/usage" +specifiers = ["latest"] + +[tools.usage."platforms.linux-arm64"] +checksum = "sha256:90622145566409da24d282190ad17cc786c85d498d751543824ab62931705018" +url = "https://github.com/jdx/usage/releases/download/v6.11.1/usage-aarch64-unknown-linux-gnu.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/usage/.github/workflows/publish-cli.yml" + +[tools.usage."platforms.linux-arm64-musl"] +checksum = "sha256:b8903edb0accb76576a9a454900388d629dff9a35186e653c4e5b48e622e62c0" +url = "https://github.com/jdx/usage/releases/download/v6.11.1/usage-aarch64-unknown-linux-musl.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/usage/.github/workflows/publish-cli.yml" + +[tools.usage."platforms.linux-x64"] +checksum = "sha256:afa6cb0e76f88cc6392aeecf21bbcd869747d4eeb60ab84c98d6e6178edc359a" +url = "https://github.com/jdx/usage/releases/download/v6.11.1/usage-x86_64-unknown-linux-gnu.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/usage/.github/workflows/publish-cli.yml" + +[tools.usage."platforms.linux-x64-musl"] +checksum = "sha256:7b37d1d36b310857908e508802db6c6b670555cf25cd0b990f09ee40cb11247b" +url = "https://github.com/jdx/usage/releases/download/v6.11.1/usage-x86_64-unknown-linux-musl.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/usage/.github/workflows/publish-cli.yml" + +[tools.usage."platforms.macos-arm64"] +checksum = "sha256:e3a20b948f2665862dcbaddfc50d62ac741654e3cdd815130a6fae00b3d088ff" +url = "https://github.com/jdx/usage/releases/download/v6.11.1/usage-universal-apple-darwin.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/usage/.github/workflows/publish-cli.yml" + +[tools.usage."platforms.macos-x64"] +checksum = "sha256:e3a20b948f2665862dcbaddfc50d62ac741654e3cdd815130a6fae00b3d088ff" +url = "https://github.com/jdx/usage/releases/download/v6.11.1/usage-universal-apple-darwin.tar.gz" +signer = "sigstore-oidc:https://github.com/jdx/usage/.github/workflows/publish-cli.yml" + +[tools.usage."platforms.windows-x64"] +checksum = "sha256:783ce7539b1145f1860054352067e5da70bfac1ceeba3c9f3cb912477068f99d" +url = "https://github.com/jdx/usage/releases/download/v6.11.1/usage-x86_64-pc-windows-msvc.zip" +signer = "sigstore-oidc:https://github.com/jdx/usage/.github/workflows/publish-cli.yml" diff --git a/mise.toml b/mise.toml index 326ff50..e756cb7 100644 --- a/mise.toml +++ b/mise.toml @@ -2,10 +2,15 @@ activate_aggressive = true experimental = true lockfile = true +minimum_release_age = "0" [tools] actionlint = "latest" +"aqua:owenlamont/ryl" = "latest" +editorconfig-checker = "latest" hk = "latest" +ls-lint = "latest" +lychee = "latest" packer = "latest" pkl = "latest" shellcheck = "latest" diff --git a/packer/macos-base.pkr.hcl b/packer/macos-base.pkr.hcl new file mode 100644 index 0000000..5487e57 --- /dev/null +++ b/packer/macos-base.pkr.hcl @@ -0,0 +1,25 @@ +packer { + required_plugins { + ipsw = { + version = ">= 0.1.10" + source = "github.com/torarnv/ipsw" + } + + tart = { + version = ">= 1.21.0" + source = "github.com/cirruslabs/tart" + } + } +} + +variable "vm_username" { + type = string + sensitive = true + default = "admin" +} + +variable "vm_password" { + type = string + sensitive = true + default = "admin" +} diff --git a/scripts/xcode/lib/xcode-utils.bash b/scripts/xcode/lib/xcode-utils.bash index f6110da..3db5240 100755 --- a/scripts/xcode/lib/xcode-utils.bash +++ b/scripts/xcode/lib/xcode-utils.bash @@ -120,10 +120,10 @@ function prewarm_simulators() { # Wait for the "update_dyld_sim_shared_cache" process to finish to avoid wasting CPU cycles after boot # sources: - # - https://github.com/cirruslabs/macos-image-templates/blob/5b17f4e2644723b2124c5cf1c1def4ba81fc6db7/templates/xcode.pkr.hcl#L243-L252 # - https://apple.stackexchange.com/questions/412101/update-dyld-sim-shared-cache-is-taking-up-a-lot-of-memory + # - https://github.com/cirruslabs/macos-image-templates/blob/5b17f4e2644723b2124c5cf1c1def4ba81fc6db7/templates/xcode.pkr.hcl#L243-L252 # - https://github.com/cirruslabs/macos-image-templates/issues/236 - # - https://stackoverflow.com/a/68394101/9316533 + # - https://stackoverflow.com/questions/27564160/what-does-com-apple-coresimulator-coresimulatorservice-do/68394101#68394101 echo "Waiting for simulator shared cache to update..." local -r selected_xcode_version="$(get_selected_xcode_version)"