Installation

To enable Runway to conform to our users’ varying use cases, we have made it available via three different install methods - cURL, npm, and pip.

cURL

Arguably the easiest way to install Runway is by using curl. Use one of the endpoints below to download a single-binary executable version of Runway based on your operating system.

Operating System

Endpoint

Linux

https://oni.ca/runway/latest/linux

macOS

https://oni.ca/runway/latest/osx

Windows

https://oni.ca/runway/latest/windows

curl -L https://oni.ca/runway/latest/linux -o runway

Note

To install a specific version of Runway, you can replace latest with a version number.

Usage

To use the single-binary, run it directly as shown below. Please note that after download, you may need to adjust the permissions before it can be executed. (eg. Linux/macOS:chmod +x runway)

$ ./runway deploy

Suggested use: CloudFormation or Terraform projects

npm

Runway is published on npm as @onica/runway. It currently contains binaries to support macOS, Ubuntu, and Windows.

While Runway can be installed globally like any other npm package, we strongly recommend using it per-project as a dev dependency. See Why Version Lock Per-Project for more info regarding this suggestion.

$ npm i -D @onica/runway

Usage

$ npx runway deploy

Suggested use: Serverless or AWS CDK projects

pip

Runway runs on Python 2.7 and Python 3.5+.

Runway is hosted on PyPI as the package named runway. It can be installed like any other Python package, but we instead strongly recommend using it per-project with poetry. See Why Version Lock Per-Project for more info regarding this suggestion.

Suggested use: Python projects

poetry add runway

Usage

poetry run runway --help

Why Version Lock Per-Project

Locking the version of Runway per-project will allow you to:

  • Specify the version(s) of Runway compatible with your deployments config

  • Ensure Runway executions are performed with the same version (regardless of where/when they occur – avoids the dreaded “works on my machine”)