diff options
| author | Nikolay Govorov <me@govorov.online> | 2026-07-25 00:16:43 +0100 |
|---|---|---|
| committer | Nikolay Govorov <me@govorov.online> | 2026-07-25 00:16:43 +0100 |
| commit | 3a861c85e817d589ed0015657183c64346786c37 (patch) | |
| tree | 3dc4b5a8100ef84a703bfb45e06b51325ff5129b | |
| parent | 05e15787aa45116d9c97d910626fc9fd5d10e843 (diff) | |
| download | tar tar.gz tar.bz2 tar.lz tar.xz tar.zst zip | |
Use mise for tools provision
Diffstat
| -rw-r--r-- | .github/workflows/build.yml | 19 | +6 −13 |
| -rw-r--r-- | .github/workflows/legal.yml | 1 | +1 −0 |
| -rw-r--r-- | README.md | 12 | +12 −0 |
| -rw-r--r-- | REUSE.toml | 1 | +1 −0 |
| -rw-r--r-- | mise.lock | 114 | +114 −0 |
| -rw-r--r-- | mise.toml | 24 | +24 −0 |
6 files changed, 158 insertions, 13 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4773028..99da313 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,21 +25,14 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0 + - uses: jdx/mise-action@5228313ee0372e111a38da051671ca30fc5a96db # v3 with: - go-version-file: go.mod + version: 2026.7.5 + experimental: true + install: false - - uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1 - with: - mirror: https://pkg.earth/zig # maintained by mirum author - version: 0.16.0 # keep in sync with build.zig.zon - - - name: Install tools - run: | - echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list - sudo apt update && sudo apt install nfpm apt-utils rclone createrepo-c - sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin - curl -sSL "https://github.com/bufbuild/buf/releases/download/v1.67.0/buf-$(uname -s)-$(uname -m)" -o /usr/local/bin/buf && chmod +x /usr/local/bin/buf + - name: Install dependencies + run: mise bootstrap --locked --yes --update - name: Build and package run: task package GIT_REF=${{ github.ref }} GPG_KEY_ID=${{ vars.GPG_KEY_ID }} diff --git a/.github/workflows/legal.yml b/.github/workflows/legal.yml index 3d6aa54..0336344 100644 --- a/.github/workflows/legal.yml +++ b/.github/workflows/legal.yml @@ -26,6 +26,7 @@ jobs: with: version: 2026.7.5 experimental: true + install: false - name: Check contribution sign-off run: mise run signoff diff --git a/README.md b/README.md index e5aa528..8cb272c 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,18 @@ An experimental portable CI platform with VM-first isolation, programmable pipelines, local execution parity and Starlark configs. +## Development + +Install the language toolchains, build utilities, and required system packages +declared by the repository: + +```console +mise bootstrap +mise exec -- task --list +``` + +`task` remains the runner until the task definitions are migrated to mise. + ## [Why](https://xkcd.com/927/) The goal of this project is to build a CI system that's both convenient for tiny diff --git a/REUSE.toml b/REUSE.toml index 9d831fe..850dd72 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -11,6 +11,7 @@ path = [ "cmd/mirum-server/web/*.json", "go.mod", "go.sum", + "mise.lock", "packaging/dl/*", "packaging/logo.svg", "buf.*", diff --git a/mise.lock b/mise.lock new file mode 100644 --- /dev/null +++ b/mise.lock @@ -0,0 +1,114 @@ +# @generated - this file is auto-generated by `mise lock` https://mise.jdx.dev/dev-tools/mise-lock.html + +[[tools.buf]] +version = "1.67.0" +backend = "aqua:bufbuild/buf" + +[tools.buf."platforms.linux-arm64"] +checksum = "sha256:3d542f0f99159c8b6442f4c1f6d8f59fd669356b97aa6f6b67ea4a5af7f81ec7" +url = "https://github.com/bufbuild/buf/releases/download/v1.67.0/buf-Linux-aarch64.tar.gz" +url_api = "https://api.github.com/repos/bufbuild/buf/releases/assets/386412995" +provenance = "minisign" + +[tools.buf."platforms.linux-x64"] +checksum = "sha256:b8682c2ea6f377cf1441e4fbc54ed1ecccbb9f2d887560c4320cf7807f015519" +url = "https://github.com/bufbuild/buf/releases/download/v1.67.0/buf-Linux-x86_64.tar.gz" +url_api = "https://api.github.com/repos/bufbuild/buf/releases/assets/386413039" +provenance = "minisign" + +[[tools.gh]] +version = "2.96.0" +backend = "aqua:cli/cli" + +[tools.gh."platforms.linux-arm64"] +checksum = "sha256:06f86ec7103d41993b76cd78072f43595c34aaa56506d971d9860e67140bf909" +url = "https://github.com/cli/cli/releases/download/v2.96.0/gh_2.96.0_linux_arm64.tar.gz" +url_api = "https://api.github.com/repos/cli/cli/releases/assets/464728549" +provenance = "github-attestations" + +[tools.gh."platforms.linux-x64"] +checksum = "sha256:83d5c2ccad5498f58bf6368acb1ab32588cf43ab3a4b1c301bf36328b1c8bd60" +url = "https://github.com/cli/cli/releases/download/v2.96.0/gh_2.96.0_linux_amd64.tar.gz" +url_api = "https://api.github.com/repos/cli/cli/releases/assets/464728543" +provenance = "github-attestations" + +[[tools.go]] +version = "1.26.5" +backend = "core:go" + +[tools.go."platforms.linux-arm64"] +checksum = "sha256:fe4789e92b1f33358680864bbe8704289e7bb5fc207d80623c308935bd696d49" +url = "https://dl.google.com/go/go1.26.5.linux-arm64.tar.gz" + +[tools.go."platforms.linux-x64"] +checksum = "sha256:5c2c3b16caefa1d968a94c1daca04a7ca301a496d9b086e17ad77bb81393f053" +url = "https://dl.google.com/go/go1.26.5.linux-amd64.tar.gz" + +[[tools.nfpm]] +version = "2.47.0" +backend = "aqua:goreleaser/nfpm" + +[tools.nfpm."platforms.linux-arm64"] +checksum = "sha256:1c0f5f2999b9a974bfb04fdb0cc3306096de530ac5dbb25d739cc5f5219c919c" +url = "https://github.com/goreleaser/nfpm/releases/download/v2.47.0/nfpm_2.47.0_Linux_arm64.tar.gz" +url_api = "https://api.github.com/repos/goreleaser/nfpm/releases/assets/453316744" +provenance = "cosign" + +[tools.nfpm."platforms.linux-x64"] +checksum = "sha256:0660ca602b2d2d2ae4781a06c692b3eeb9d437ffea05b831d76e41f4a3188783" +url = "https://github.com/goreleaser/nfpm/releases/download/v2.47.0/nfpm_2.47.0_Linux_x86_64.tar.gz" +url_api = "https://api.github.com/repos/goreleaser/nfpm/releases/assets/453316748" +provenance = "cosign" + +[[tools.node]] +version = "24.18.0" +backend = "core:node" + +[tools.node."platforms.linux-arm64"] +checksum = "sha256:6b4484c2190274175df9aa8f28e2d758a819cb1c1fe6ab481e2f95b463ab8508" +url = "https://nodejs.org/dist/v24.18.0/node-v24.18.0-linux-arm64.tar.gz" + +[tools.node."platforms.linux-x64"] +checksum = "sha256:783130984963db7ba9cbd01089eaf2c2efb055c7c1693c943174b967b3050cb8" +url = "https://nodejs.org/dist/v24.18.0/node-v24.18.0-linux-x64.tar.gz" + +[[tools.rclone]] +version = "1.74.4" +backend = "aqua:rclone/rclone" + +[tools.rclone."platforms.linux-arm64"] +checksum = "sha256:97685285c9ad6a0cf17d5844115d2a67245af6444db672187074bd9c358de419" +url = "https://github.com/rclone/rclone/releases/download/v1.74.4/rclone-v1.74.4-linux-arm64.zip" +url_api = "https://api.github.com/repos/rclone/rclone/releases/assets/470550100" + +[tools.rclone."platforms.linux-x64"] +checksum = "sha256:fe435e0c36228e7c2f116a8701f01127bb1f694005fc11d1f27186c8bca4115d" +url = "https://github.com/rclone/rclone/releases/download/v1.74.4/rclone-v1.74.4-linux-amd64.zip" +url_api = "https://api.github.com/repos/rclone/rclone/releases/assets/470549540" + +[[tools.task]] +version = "3.52.0" +backend = "aqua:go-task/task" + +[tools.task."platforms.linux-arm64"] +checksum = "sha256:7e0044108830cec0534577b289564e3b7c83e6df276feb631a1edc63d04e4ebe" +url = "https://github.com/go-task/task/releases/download/v3.52.0/task_linux_arm64.tar.gz" +url_api = "https://api.github.com/repos/go-task/task/releases/assets/464613352" + +[tools.task."platforms.linux-x64"] +checksum = "sha256:02c679ffae53dca791804847d78b31731615894e292948397c971c87ac9e95bd" +url = "https://github.com/go-task/task/releases/download/v3.52.0/task_linux_amd64.tar.gz" +url_api = "https://api.github.com/repos/go-task/task/releases/assets/464613330" + +[[tools.zig]] +version = "0.16.0" +backend = "core:zig" + +[tools.zig."platforms.linux-arm64"] +checksum = "sha256:ea4b09bfb22ec6f6c6ceac57ab63efb6b46e17ab08d21f69f3a48b38e1534f17" +url = "https://ziglang.org/download/0.16.0/zig-aarch64-linux-0.16.0.tar.xz" + +[tools.zig."platforms.linux-x64"] +checksum = "sha256:70e49664a74374b48b51e6f3fdfbf437f6395d42509050588bd49abe52ba3d00" +url = "https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz" +provenance = "minisign" diff --git a/mise.toml b/mise.toml index e6867f4..e3757c4 100644 --- a/mise.toml +++ b/mise.toml @@ -6,6 +6,30 @@ min_version = "2026.7.5" [settings] experimental = true +[tools] +buf = "1.67.0" +gh = "2.96.0" +go = "1.26.5" +nfpm = "2.47.0" +node = "24.18.0" +rclone = "1.74.4" +task = "3.52.0" # Removed after Taskfile.yml is migrated to mise tasks. +zig = "0.16.0" + +[bootstrap.packages] +# APT +"apt:apt-utils" = "latest" +"apt:createrepo-c" = "latest" +"apt:gnupg" = "latest" +"apt:openssl" = "latest" +"apt:zip" = "latest" + +# DNF +"dnf:createrepo_c" = "latest" +"dnf:gnupg2" = "latest" +"dnf:openssl" = "latest" +"dnf:zip" = "latest" + [task_config] dir = "{{cwd}}" includes = [ |
