feat: additional mise config and idiomatic version files enabling precompiled ruby support (#487)

* fix: change generated mise name to distinguish from user-provided mise.toml, add mise.lock

* docs: misc code comments

* build: stop all docker containers locally when cleaning

* feat: support all idiomatic version files and mise config files in mise installation step

* this enables the user to use advanced configuration (like forcing ruby precompiled binaries) in their mise.toml
* also supported mise.lock during the installation step

* test: ruby 3 compiled test

* docs: note about no main.rb

* fix: cache mise config file search

* refactor: move railpack json config

* test: yjit test and jemalloc on precompiled ruby

* test: enable sassc and other common gems to make sure they don't fail when compiling

* docs: add dedicated mise page

* docs: pulling in the mise docs

needs more deslop effort

* test: snapshot update

* docs: deslop

* test: update test asset name for mise.toml generation

Generated-by: aiautocommit
This commit is contained in:
Michael Bianco
2026-03-18 14:37:17 -06:00
committed by GitHub
parent 763346af65
commit 2432535ce3
118 changed files with 706 additions and 229 deletions
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -80,7 +80,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -88,7 +88,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -16,7 +16,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -24,7 +24,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -16,7 +16,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -24,7 +24,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -27,7 +27,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -35,7 +35,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -38,7 +38,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -46,7 +46,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -38,7 +38,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -46,7 +46,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -25,7 +25,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -33,7 +33,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -25,7 +25,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -37,7 +37,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -25,7 +25,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -37,7 +37,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -26,7 +26,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -38,7 +38,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -88,7 +88,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -100,7 +100,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -26,7 +26,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -34,7 +34,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -84,7 +84,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -92,7 +92,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -26,7 +26,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -34,7 +34,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -84,7 +84,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -92,7 +92,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -30,7 +30,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -42,7 +42,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -30,7 +30,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -42,7 +42,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -30,7 +30,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -38,7 +38,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -32,7 +32,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -40,7 +40,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -93,7 +93,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -101,7 +101,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -32,7 +32,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -40,7 +40,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -93,7 +93,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -101,7 +101,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -32,7 +32,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -40,7 +40,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -93,7 +93,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -101,7 +101,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -74,7 +74,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -53,7 +53,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -61,7 +61,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -67,7 +67,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -75,7 +75,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -57,7 +57,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -65,7 +65,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -63,7 +63,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -71,7 +71,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -53,7 +53,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -61,7 +61,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -63,7 +63,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -71,7 +71,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -74,7 +74,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -66,7 +66,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -74,7 +74,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -63,7 +63,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -71,7 +71,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -74,7 +74,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -74,7 +74,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -62,7 +62,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -70,7 +70,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -70,7 +70,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -78,7 +78,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -61,7 +61,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -69,7 +69,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -66,7 +66,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -74,7 +74,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -67,7 +67,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -75,7 +75,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -61,7 +61,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -69,7 +69,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -70,7 +70,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -78,7 +78,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -57,7 +57,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -65,7 +65,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -57,7 +57,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -65,7 +65,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -57,7 +57,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -65,7 +65,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -82,7 +82,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -90,7 +90,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -64,7 +64,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -72,7 +72,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -63,7 +63,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -75,7 +75,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -64,7 +64,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -72,7 +72,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -64,7 +64,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -72,7 +72,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -64,7 +64,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -72,7 +72,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -51,7 +51,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -59,7 +59,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -51,7 +51,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -59,7 +59,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -40,7 +40,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -48,7 +48,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -49,7 +49,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -61,7 +61,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -75,7 +75,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -87,7 +87,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -49,7 +49,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -57,7 +57,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -49,7 +49,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -57,7 +57,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -49,7 +49,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -57,7 +57,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -75,7 +75,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -87,7 +87,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -40,7 +40,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -52,7 +52,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -40,7 +40,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -52,7 +52,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -43,7 +43,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -51,7 +51,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -49,7 +49,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -61,7 +61,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -43,7 +43,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -51,7 +51,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -43,7 +43,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -51,7 +51,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -49,7 +49,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -61,7 +61,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -75,7 +75,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -87,7 +87,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -49,7 +49,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -61,7 +61,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -49,7 +49,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -61,7 +61,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -75,7 +75,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -83,7 +83,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -49,7 +49,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -61,7 +61,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -49,7 +49,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -61,7 +61,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -67,15 +67,23 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": ".ruby-version",
"src": ".ruby-version"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -0,0 +1,194 @@
{
"caches": {
"apt": {
"directory": "/var/cache/apt",
"type": "locked"
},
"apt-lists": {
"directory": "/var/lib/apt/lists",
"type": "locked"
}
},
"deploy": {
"base": {
"step": "packages:apt:runtime"
},
"inputs": [
{
"include": [
"/mise/shims",
"/mise/installs",
"/usr/local/bin/mise",
"/etc/mise/config.toml",
"/root/.local/state/mise"
],
"step": "packages:mise"
},
{
"include": [
"/usr/local/bundle"
],
"step": "install"
},
{
"include": [
"/app"
],
"step": "build"
}
],
"startCommand": "ruby --yjit app.rb",
"variables": {
"BUNDLE_GEMFILE": "/app/Gemfile",
"GEM_HOME": "/usr/local/bundle",
"GEM_PATH": "/usr/local/bundle",
"LD_PRELOAD": "libjemalloc.so.2",
"MALLOC_ARENA_MAX": "2"
}
},
"steps": [
{
"caches": [
"apt",
"apt-lists"
],
"commands": [
{
"cmd": "sh -c 'apt-get update \u0026\u0026 apt-get install -y cargo libjemalloc-dev libyaml-dev rustc'",
"customName": "install apt packages: cargo libjemalloc-dev libyaml-dev rustc"
}
],
"inputs": [
{
"image": "ghcr.io/railwayapp/railpack-builder:mise-2026.3.9"
}
],
"name": "packages:apt:build"
},
{
"assets": {
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": "mise.toml",
"src": "mise.toml"
},
{
"dest": ".ruby-version",
"src": ".ruby-version"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"dest": "mise.lock",
"src": "mise.lock"
},
{
"customName": "create mise config",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
"cmd": "mise install",
"customName": "install mise packages: ruby"
}
],
"inputs": [
{
"step": "packages:apt:build"
}
],
"name": "packages:mise",
"variables": {
"MISE_CACHE_DIR": "/mise/cache",
"MISE_CONFIG_DIR": "/mise",
"MISE_DATA_DIR": "/mise",
"MISE_IDIOMATIC_VERSION_FILE_ENABLE_TOOLS": "python,node,ruby,elixir,go,java,yarn",
"MISE_INSTALLS_DIR": "/mise/installs",
"MISE_NODE_VERIFY": "false",
"MISE_PARANOID": "1",
"MISE_SHIMS_DIR": "/mise/shims",
"MISE_TRUSTED_CONFIG_PATHS": "/app"
}
},
{
"commands": [
{
"cmd": "gem install -N bundler:2.4.9"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"dest": "Gemfile.lock",
"src": "Gemfile.lock"
},
{
"cmd": "bundle install"
},
{
"path": "/usr/local/bundle"
}
],
"inputs": [
{
"step": "packages:mise"
}
],
"name": "install",
"variables": {
"BUNDLE_GEMFILE": "/app/Gemfile",
"GEM_HOME": "/usr/local/bundle",
"GEM_PATH": "/usr/local/bundle",
"LD_PRELOAD": "libjemalloc.so.2",
"MALLOC_ARENA_MAX": "2"
}
},
{
"inputs": [
{
"step": "install"
},
{
"include": [
"."
],
"local": true
}
],
"name": "build",
"variables": {
"BUNDLE_GEMFILE": "/app/Gemfile",
"GEM_HOME": "/usr/local/bundle",
"GEM_PATH": "/usr/local/bundle",
"LD_PRELOAD": "libjemalloc.so.2",
"MALLOC_ARENA_MAX": "2"
}
},
{
"caches": [
"apt",
"apt-lists"
],
"commands": [
{
"cmd": "sh -c 'apt-get update \u0026\u0026 apt-get install -y libjemalloc2 libyaml-dev'",
"customName": "install apt packages: libjemalloc2 libyaml-dev"
}
],
"inputs": [
{
"image": "ghcr.io/railwayapp/railpack-runtime:mise-2026.3.9"
}
],
"name": "packages:apt:runtime"
}
]
}
@@ -67,15 +67,23 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": ".ruby-version",
"src": ".ruby-version"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -67,15 +67,19 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -67,15 +67,19 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -67,7 +67,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -77,9 +77,13 @@
"dest": "mise.toml",
"src": "mise.toml"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -67,15 +67,19 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -67,15 +67,19 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -68,15 +68,23 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": ".ruby-version",
"src": ".ruby-version"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -68,15 +68,23 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": ".ruby-version",
"src": ".ruby-version"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -67,15 +67,19 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -67,7 +67,7 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -77,9 +77,13 @@
"dest": "mise.toml",
"src": "mise.toml"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -91,15 +91,19 @@
},
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
"path": "/mise/shims"
},
{
"dest": "Gemfile",
"src": "Gemfile"
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -32,7 +32,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -44,7 +44,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -32,7 +32,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -40,7 +40,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -36,7 +36,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -44,7 +44,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -36,7 +36,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -44,7 +44,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -36,7 +36,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -44,7 +44,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -36,7 +36,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -48,7 +48,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
@@ -36,7 +36,7 @@
"steps": [
{
"assets": {
"mise.toml": "[mise.toml]"
"generated-mise-toml": "[generated-mise-toml]"
},
"commands": [
{
@@ -44,7 +44,7 @@
},
{
"customName": "create mise config",
"name": "mise.toml",
"name": "generated-mise-toml",
"path": "/etc/mise/config.toml"
},
{
+3 -4
View File
@@ -73,7 +73,7 @@ func (a *App) findMatches(pattern string, isDir bool) ([]string, error) {
return paths, nil
}
// FindFiles returns a list of file paths matching a glob pattern
// returns a list of file paths matching a glob pattern
func (a *App) FindFiles(pattern string) ([]string, error) {
return a.findMatches(pattern, false)
}
@@ -190,7 +190,6 @@ func (a *App) ReadYAML(name string, v interface{}) error {
return nil
}
// ReadTOML reads and parses a TOML file
func (a *App) ReadTOML(name string, v interface{}) error {
data, err := a.ReadFile(name)
if err != nil {
@@ -200,7 +199,7 @@ func (a *App) ReadTOML(name string, v interface{}) error {
return toml.Unmarshal([]byte(data), v)
}
// IsFileExecutable checks if a path is an executable file
// checks if a path is an executable file
func (a *App) IsFileExecutable(name string) bool {
path := filepath.Join(a.Source, name)
info, err := os.Stat(path)
@@ -216,7 +215,7 @@ func (a *App) IsFileExecutable(name string) bool {
return info.Mode()&0111 != 0
}
// StripSourcePath converts an absolute path to a path relative to the app source directory
// converts an absolute path to a path relative to the app source directory
func (a *App) stripSourcePath(absPath string) (string, error) {
rel, err := filepath.Rel(a.Source, absPath)
if err != nil {
+3 -3
View File
@@ -48,11 +48,11 @@ func TestGenerateBuildPlanForExamples(t *testing.T) {
plan := buildResult.Plan
// Remove the mise.toml asset since the versions may change between runs
// Remove the generated-mise-toml asset since the versions may change between runs
for _, step := range plan.Steps {
for name := range step.Assets {
if name == "mise.toml" {
step.Assets[name] = "[mise.toml]"
if name == "generated-mise-toml" {
step.Assets[name] = "[generated-mise-toml]"
}
}
}

Some files were not shown because too many files have changed in this diff Show More