GithubHelp home page GithubHelp logo

isabella232 / terminus-installer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pantheon-systems/terminus-installer

0.0 0.0 0.0 5.53 MB

Installer for Pantheon Terminus

License: MIT License

Shell 9.72% PHP 90.28%

terminus-installer's Introduction

terminus-installer : An installer script for Terminus, Pantheon's CLI

Status

Build Status Dependency Status Coverage Status Deprecated

About

This repository houses the source for and PHAR archive of the Terminus Installer script. Its goal is to provide a fail-proof installation method for users less familiar with manual installation methods such as Composer and Git, or those simply wanting a single-step process to get it running on their local machines.

Index

Component Description Notes
bin User-executable scripts
builds PHAR copies of the script
scripts Scripts for creating PHAR archives of the source and maintaining the source code
src Source code for the script
tests Tests for maintaining the codebase

Developing & Running

Running

Use the following line to install Terminus:

curl -O https://raw.githubusercontent.com/pantheon-systems/terminus-installer/master/builds/installer.phar && php installer.phar install

Developing

  1. Create an issue on this repository to discuss the change you propose should be made.
  2. Fork this repository.
  3. Clone the forked repository.
  4. Run composer install at the repository root directory to install all necessary dependencies.
  5. Make changes to the code.
  6. Run the test suite. The tests must pass before any code will be accepted.
  7. Commit your changes and push them up to your fork.
  8. Open a pull request on this repository to merge your fork.

Your pull request will be reviewed by Pantheon and changes may be requested before the code is accepted.

Debugging

No tips at present.

Known Issues/Limitations

  • If the bin directory is unavailable, Terminus cannot be automatically set up as a command. A symlink or an alias to the Terminus executable be made in either the ~/.bashrc or ~/.bash_profile files.

Runtime Dependencies

  • A command-line client
  • PHP
  • PHP-CLI
  • cURL

Runtime Configuration

There are options you can set to configure your installation.

  • --bin-dir=<dir> Where <dir> is the location of your bin directory. Defaults to /usr/local/bin.
  • --install-dir=<dir> Where <dir> is the directory to which you want Composer to install Terminus. If not given, Terminus will be installed to your current working directory.
  • --install-version=<version> Where <version> is any released version of Terminus. If not given, the latest version will be installed.

These can be used by adding them to the installer call from above like so:

curl -O https://raw.githubusercontent.com/pantheon-systems/terminus-installer/master/builds/installer.phar && php installer.phar install --install-version=1.2.3 --install-dir=/tmp/terminus

Testing

Tests are run via the .scripts/test.sh script. Components thereof can be run as follows:

  • composer cs runs the code sniffer to ensure all code is appropriately formatted.
  • composer phpunit runs the PHPUnit unit tests.
  • composer behat runs the Behat feature tests

Managing Third-Party Libraries

Dependencies are easily updated by Composer. To update this codebase:

  1. Check out a new branch off of an up-to-date copy of master.
  2. Run composer update at the repository root directory.
  3. Run the test suite. If there are errors, address them.
  4. Commit the changes, push the branch, and create a pull request for the update.

Deployment

New versions are automatically deployed once an update is accepted into the master branch.

terminus-installer's People

Contributors

ajbarry avatar davidstrauss avatar heddn avatar kporras07 avatar oubawaleh avatar tesladethray avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.