[wip] universal workers
This commit is contained in:
47
packs/core/runtimes/go.yaml
Normal file
47
packs/core/runtimes/go.yaml
Normal file
@@ -0,0 +1,47 @@
|
||||
ref: core.go
|
||||
pack_ref: core
|
||||
name: Go
|
||||
description: Go runtime for compiling and running Go scripts and programs
|
||||
|
||||
distributions:
|
||||
verification:
|
||||
commands:
|
||||
- binary: go
|
||||
args:
|
||||
- "version"
|
||||
exit_code: 0
|
||||
pattern: "go\\d+\\."
|
||||
priority: 1
|
||||
min_version: "1.18"
|
||||
recommended_version: "1.22"
|
||||
|
||||
installation:
|
||||
package_managers:
|
||||
- apt
|
||||
- snap
|
||||
- brew
|
||||
module_support: true
|
||||
|
||||
execution_config:
|
||||
interpreter:
|
||||
binary: go
|
||||
args:
|
||||
- "run"
|
||||
file_extension: ".go"
|
||||
environment:
|
||||
env_type: gopath
|
||||
dir_name: gopath
|
||||
create_command:
|
||||
- sh
|
||||
- "-c"
|
||||
- "mkdir -p {env_dir}"
|
||||
interpreter_path: null
|
||||
dependencies:
|
||||
manifest_file: go.mod
|
||||
install_command:
|
||||
- sh
|
||||
- "-c"
|
||||
- "cd {pack_dir} && GOPATH={env_dir} go mod download 2>/dev/null || true"
|
||||
env_vars:
|
||||
GOPATH: "{env_dir}"
|
||||
GOMODCACHE: "{env_dir}/pkg/mod"
|
||||
30
packs/core/runtimes/java.yaml
Normal file
30
packs/core/runtimes/java.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
ref: core.java
|
||||
pack_ref: core
|
||||
name: Java
|
||||
description: Java runtime for executing Java programs and scripts
|
||||
|
||||
distributions:
|
||||
verification:
|
||||
commands:
|
||||
- binary: java
|
||||
args:
|
||||
- "-version"
|
||||
exit_code: 0
|
||||
pattern: "version \"\\d+"
|
||||
priority: 1
|
||||
min_version: "11"
|
||||
recommended_version: "21"
|
||||
|
||||
installation:
|
||||
interpreters:
|
||||
- java
|
||||
- javac
|
||||
package_managers:
|
||||
- maven
|
||||
- gradle
|
||||
|
||||
execution_config:
|
||||
interpreter:
|
||||
binary: java
|
||||
args: []
|
||||
file_extension: ".java"
|
||||
46
packs/core/runtimes/perl.yaml
Normal file
46
packs/core/runtimes/perl.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
ref: core.perl
|
||||
pack_ref: core
|
||||
name: Perl
|
||||
description: Perl runtime for script execution with optional CPAN dependency management
|
||||
|
||||
distributions:
|
||||
verification:
|
||||
commands:
|
||||
- binary: perl
|
||||
args:
|
||||
- "--version"
|
||||
exit_code: 0
|
||||
pattern: "perl.*v\\d+\\."
|
||||
priority: 1
|
||||
min_version: "5.20"
|
||||
recommended_version: "5.38"
|
||||
|
||||
installation:
|
||||
package_managers:
|
||||
- cpanm
|
||||
- cpan
|
||||
interpreters:
|
||||
- perl
|
||||
|
||||
execution_config:
|
||||
interpreter:
|
||||
binary: perl
|
||||
args: []
|
||||
file_extension: ".pl"
|
||||
environment:
|
||||
env_type: local_lib
|
||||
dir_name: perl5
|
||||
create_command:
|
||||
- sh
|
||||
- "-c"
|
||||
- "mkdir -p {env_dir}/lib/perl5"
|
||||
interpreter_path: null
|
||||
dependencies:
|
||||
manifest_file: cpanfile
|
||||
install_command:
|
||||
- sh
|
||||
- "-c"
|
||||
- "cd {pack_dir} && PERL5LIB={env_dir}/lib/perl5 PERL_LOCAL_LIB_ROOT={env_dir} cpanm --local-lib {env_dir} --installdeps --quiet . 2>/dev/null || true"
|
||||
env_vars:
|
||||
PERL5LIB: "{env_dir}/lib/perl5"
|
||||
PERL_LOCAL_LIB_ROOT: "{env_dir}"
|
||||
47
packs/core/runtimes/r.yaml
Normal file
47
packs/core/runtimes/r.yaml
Normal file
@@ -0,0 +1,47 @@
|
||||
ref: core.r
|
||||
pack_ref: core
|
||||
name: R
|
||||
description: R runtime for statistical computing and data analysis scripts
|
||||
|
||||
distributions:
|
||||
verification:
|
||||
commands:
|
||||
- binary: Rscript
|
||||
args:
|
||||
- "--version"
|
||||
exit_code: 0
|
||||
pattern: "\\d+\\.\\d+\\.\\d+"
|
||||
priority: 1
|
||||
min_version: "4.0.0"
|
||||
recommended_version: "4.4.0"
|
||||
|
||||
installation:
|
||||
package_managers:
|
||||
- install.packages
|
||||
- renv
|
||||
interpreters:
|
||||
- Rscript
|
||||
- R
|
||||
|
||||
execution_config:
|
||||
interpreter:
|
||||
binary: Rscript
|
||||
args:
|
||||
- "--vanilla"
|
||||
file_extension: ".R"
|
||||
environment:
|
||||
env_type: renv
|
||||
dir_name: renv
|
||||
create_command:
|
||||
- sh
|
||||
- "-c"
|
||||
- "mkdir -p {env_dir}/library"
|
||||
interpreter_path: null
|
||||
dependencies:
|
||||
manifest_file: renv.lock
|
||||
install_command:
|
||||
- sh
|
||||
- "-c"
|
||||
- "cd {pack_dir} && R_LIBS_USER={env_dir}/library Rscript -e \"if (file.exists('renv.lock')) renv::restore(library='{env_dir}/library', prompt=FALSE)\" 2>/dev/null || true"
|
||||
env_vars:
|
||||
R_LIBS_USER: "{env_dir}/library"
|
||||
48
packs/core/runtimes/ruby.yaml
Normal file
48
packs/core/runtimes/ruby.yaml
Normal file
@@ -0,0 +1,48 @@
|
||||
ref: core.ruby
|
||||
pack_ref: core
|
||||
name: Ruby
|
||||
description: Ruby runtime for script execution with automatic gem environment management
|
||||
|
||||
distributions:
|
||||
verification:
|
||||
commands:
|
||||
- binary: ruby
|
||||
args:
|
||||
- "--version"
|
||||
exit_code: 0
|
||||
pattern: "ruby \\d+\\."
|
||||
priority: 1
|
||||
min_version: "2.7"
|
||||
recommended_version: "3.2"
|
||||
|
||||
installation:
|
||||
package_managers:
|
||||
- gem
|
||||
- bundler
|
||||
interpreters:
|
||||
- ruby
|
||||
portable: false
|
||||
|
||||
execution_config:
|
||||
interpreter:
|
||||
binary: ruby
|
||||
args: []
|
||||
file_extension: ".rb"
|
||||
environment:
|
||||
env_type: gem_home
|
||||
dir_name: gems
|
||||
create_command:
|
||||
- sh
|
||||
- "-c"
|
||||
- "mkdir -p {env_dir}/gems"
|
||||
interpreter_path: null
|
||||
dependencies:
|
||||
manifest_file: Gemfile
|
||||
install_command:
|
||||
- sh
|
||||
- "-c"
|
||||
- "cd {pack_dir} && GEM_HOME={env_dir}/gems GEM_PATH={env_dir}/gems bundle install --quiet 2>/dev/null || true"
|
||||
env_vars:
|
||||
GEM_HOME: "{env_dir}/gems"
|
||||
GEM_PATH: "{env_dir}/gems"
|
||||
BUNDLE_PATH: "{env_dir}/gems"
|
||||
Reference in New Issue
Block a user