You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This GitHub Action runs a command on a [Coiled](https://coiled.io) cluster by adding the following steps to your workflow. For more details see our [CLI job docs](https://docs.coiled.io/user_guide/cli-jobs.html).
description: 'GitHub Action to run CLI jobs on VM via Coiled'
3
+
author: 'Coiled'
4
+
5
+
branding:
6
+
icon: 'command'
7
+
color: 'blue'
8
+
9
+
inputs:
10
+
command:
11
+
description: "Command to run on VM."
12
+
required: true
13
+
name:
14
+
description: "Run name. This identifier controls whether `coiled run` invocations are dispatched to the same cloud VM or not. Use the same name to run multiple commands on the same VM. Defaults to a unique name with no VM reuse."
15
+
required: false
16
+
workspace:
17
+
description: "Coiled workspace (uses default workspace if not specified)."
18
+
required: false
19
+
software:
20
+
description: "Software environment name to use. If neither software nor container is specified, all the currently-installed Python packages are replicated on the VM using package sync."
21
+
required: false
22
+
container:
23
+
description: "Container image to use. If neither software nor container is specified, all the currently-installed Python packages are replicated on the VM using package sync."
24
+
required: false
25
+
vm-type:
26
+
description: "VM type to use. Specify multiple times to provide multiple options."
27
+
required: false
28
+
gpu:
29
+
description: "Have a GPU available."
30
+
required: false
31
+
region:
32
+
description: "The cloud provider region in which to run the notebook."
33
+
required: false
34
+
disk-size:
35
+
description: "Use larger-than-default disk on VM, specified in GiB."
36
+
required: false
37
+
keepalive:
38
+
description: "Keep your VM running for the specified time, even after your command completes. In seconds (``--keepalive 60``) unless you specify units (``--keepalive 3m`` for 3 minutes).Default to shutdown immediately after the command finishes."
39
+
required: false
40
+
file:
41
+
description: "Local files required to run command. Can be either individual file or entire directory. Multiple values can be specified, such as ``--file foo.txt --file my-subdir/``."
42
+
required: false
43
+
env:
44
+
description: "Environment variables securely transmitted to run command environment. Format is ``KEY=val``, multiple vars can be set with separate ``--env`` for each."
45
+
required: false
46
+
subdomain:
47
+
description: "Custom subdomain for the VM hostname."
48
+
required: false
49
+
allow-ssh-from:
50
+
description: "IP address or CIDR from which connections to port 22 (SSH) are open; can also be specified as 'everyone' (0.0.0.0/0) or 'me' (automatically determines public IP detected for your local client). Note that ``coiled run`` relies on SSH connection for executing commands on VM. [default: me]"
51
+
required: false
52
+
port:
53
+
description: "Open extra ports in network firewall for inbound connections (multiple ports can be set with separate ``--port`` for each)."
54
+
required: false
55
+
interactive:
56
+
description: "Open an interactive session, e.g., ``coiled run --interactive bash`` or ``coiled run --interactive python``."
57
+
required: false
58
+
detach:
59
+
description: "Start the run in the background, don't wait for the results."
60
+
required: false
61
+
sync:
62
+
description: "Sync files between local working directory and ``/scratch/synced``."
63
+
required: false
64
+
root:
65
+
description: "Act as root in Docker container."
66
+
required: false
67
+
forward-gcp-adc:
68
+
description: "Forward long-lived Google Cloud Application Default Credentials to VM for data access."
69
+
required: false
70
+
tag:
71
+
description: "Tags. Format is ``KEY=val``, multiple vars can be set with separate ``--tag`` for each."
72
+
required: false
73
+
sync-ignore:
74
+
description: "Paths to not sync when using ``--sync``."
75
+
required: false
76
+
mount-bucket:
77
+
description: "S3 or GCS bucket(s) to mount as volumes."
for input in name workspace software container vm-type gpu region disk-size keepalive file env subdomain allow-ssh-from port interactive detach sync root forward-gcp-adc tag sync-ignore mount-bucket; do
107
+
if [[ -n "${{ inputs.$input }}" ]]; then
108
+
args+=("--$input" "${{ inputs.$input }}")
109
+
fi
110
+
done
111
+
micromamba run -n coiled-run coiled run "${{ inputs.command }}" "${args[@]}"
0 commit comments