aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat
-rw-r--r--.github/workflows/build.yml19+6 −13
-rw-r--r--.github/workflows/legal.yml1+1 −0
-rw-r--r--README.md12+12 −0
-rw-r--r--REUSE.toml1+1 −0
-rw-r--r--mise.lock114+114 −0
-rw-r--r--mise.toml24+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 = [