-Code to develop CWL workflows on Arvados.
-
-1. Install & set up ssh client on Windows
-1. Install vscode and relevant extensions
-1. Use vscode to connect to an arvados shell node for development
-1. Create an simple command line tool, run it, and view the log
-1. Upload input, create a command line tool to process it, and view the output
-
-# Windows SSH Setup
-
-Linux and MacOS users can skip this step.
-
-1. Install git for windows https://git-scm.com/download/win
-1. Open git bash
-1. Run “ssh-keygen”
-1. Look for “Your public key has been saved in /c/Users/MyUsername/.ssh/id_rsa.pub”
-1. Run “cat /c/Users/MyUsername/.ssh/id_rsa.pub”
-1. Copy the lines starting with “ssh-rsa …”
-1. Open Arvados workbench
-1. Go to “SSH keys” in the user menu
-1. Click + Add new ssh key
-1. Paste the key into “Public key” and enter something for “name”
-1. At the git bash command line, run “ssh shell…” and say “yes” if it asks “do you want to continue connecting”
-1. You should be logged into the Arvados shell node.
-1. Log out by typing “exit”
-
-# VSCode setup
-
-1. Install vscode https://code.visualstudio.com/ and start it up
-1. Vscode: go to “Extensions”
- 1. search for “remote development” and install the Remote Development extension pack from Microsoft
-1. Vscode: On the left side bar, choose “Remote explorer”
- 1. In the drop down, choose “SSH targets”
- 1. Click “Add new”
- 1. Enter the “ssh shell…” command line you used in step 1(j)
- 1. Right click the ssh target in the list and select “connect to host in current window”
-1. Vscode: go to “Extensions”
- 1. Search for “benten” and install “CWL (Rabix/Benten)”
- 1. Choose “Install extension on the remote ssh host”
-1. Vscode: On the left side bar, choose “Explorer”
- 1. Select “Clone Repository” and then enter “https://github.com/tetron/vscode-cwl-testing.git”
- 1. Choose “Open”
+Code (abbreviated "vscode") to develop CWL workflows on Arvados.
+
+1. Set up SSH
+1. Install vscode and necessary extensions, then use vscode to connect to an Arvados shell node for development
+1. Register a workflow, run it on workbench, and view the log
+1. Upload input, run a workflow on it, and view the output
+1. Register a workflow with default inputs
+1. Run a workflow without registering it
+
+## 1. SSH Setup
+
+1. (Windows only) Install Git for Windows [https://git-scm.com/download/win](https://git-scm.com/download/win)
+ 1. Choose "64-bit Git for Windows Setup". It does not require admin privileges to install.
+ 1. Hit "Next" a bunch of times to accept the defaults
+ 1. The most important things is that "install git bash" and "install OpenSSH" are enabled (this is the default).
+ 1. At the end of the installation, you can launch tick a box to git bash directly.
+ 1. Open "Git Bash" (installed in the "Git" folder of the start menu)
+1. (All operating systems) Starting from bash shell (on MacOS or Linux you will open "Terminal")
+ 1. Shell: Run `ssh-keygen`
+ 1. Hit enter to save to a default location
+ 1. You can choose to protect the key with a password, or just hit enter for no password.
+ 1. Shell: Look for a message like `Your public key has been saved
+ in /c/Users/MyUsername/.ssh/id_rsa.pub` (Windows git bash
+ example, on MacOS or Linux this will probably start with `/Users` or `/home`)
+ 1. Shell: Run `cat /c/Users/MyUsername/.ssh/id_rsa.pub`
+ 1. Shell: Use the pointer to highlight and copy the lines starting
+ with `ssh-rsa …` up to the next blank line. Right click and
+ select "Copy"
+1. Open Arvados workbench 2. If necessary, go to the user menu and
+ select "Go to Workbench 2"
+ 1. Workbench: Go to `SSH keys` in the user menu
+ 1. Workbench:Click `+Add new ssh key`
+ 1. Workbench: Paste the key into `Public key` and enter something for `name`
+ 1. Workbench: Go to `Virtual Machines` in the user menu
+ 1. Workbench: Highlight and copy the value in in the `Command line` column.
+1. At the git bash command line
+ 1. Shell: paste the `ssh shell…` command line you got from workbench.
+ 1. Shell: type "yes" if it asks `Are you sure you want to continue connecting`.
+ 1. Note: it can take up to two minutes for the SSH key to be copied to
+ the shell node. If you get "Permission denied" the first time, wait 60
+ seconds and try again.
+ 1. Shell: You should now be logged into the Arvados shell node.
+ 1. Shell: Log out by typing `exit`
+
+## 2. VSCode setup
+
+1. Install [Visual Studio Code](https://code.visualstudio.com/) and start it up
+1. Vscode: On the left sidebar, select `Extensions` ![](images/Extensions.png)
+ 1. In `Search Extensions in Marketplace` enter "remote development".
+ 1. Choose and install the "Remote Development" extension pack from Microsoft
+1. Vscode: On the left sidebar, choose `Remote Explorer` ![](images/RemoteExplorer.png)
+ 1. At the top of the Remote Explorer panel choose `SSH targets` ![](images/SSHTargets.png)
+ 1. Click `Add New` ![](images/AddNew.png)
+ 1. Enter the `ssh shell…` command line you used in the previous section, step 1.4.1
+ 1. If it asks you `Select SSH configuration file to update` choose the first one in the list.
+ 1. Right click the newly added ssh target in the list and select “connect to host in current window`
+ 1. If it asks `Select platform of the remote host` select `Linux`.
+1. Vscode: On the left sidebar, go back to `Extensions` ![](images/Extensions.png)
+ 1. Search for "benten", then look for `CWL (Rabix/Benten)` and click `Install`
+ 1. On the information page for `CWL (Rabix/Benten)`
+ 1. If you see a warning `Install the extension on 'SSH: ...' to enable` then click the button `Install in SSH: ...`
+ 1. You should now see a message `Extension is enabled on 'SSH: ...' and disabled locally.`
+1. Vscode: On the left sidebar, choose `Explorer` ![](images/Explorer.png)
+ 1. Select `Clone Repository` and enter [https://github.com/arvados/arvados-vscode-cwl-training](https://github.com/arvados/arvados-vscode-cwl-training), then click `Open`
+ 1. If asked `Would you like to open the cloned repository?` choose `Open`