mirror of
https://github.com/danbulant/deno_install
synced 2026-07-08 12:40:51 +00:00
Add install.sh (#23)
This commit is contained in:
parent
a47d90e557
commit
0f88ed1d63
4 changed files with 142 additions and 16 deletions
67
.travis.yml
67
.travis.yml
|
|
@ -1,16 +1,55 @@
|
||||||
language: python
|
matrix:
|
||||||
|
include:
|
||||||
|
- language: python
|
||||||
|
os:
|
||||||
|
- linux
|
||||||
|
# Travis does not support python on osx yet.
|
||||||
|
# see: https://github.com/travis-ci/travis-ci/issues/2312
|
||||||
|
# - osx
|
||||||
|
python:
|
||||||
|
- "2.7"
|
||||||
|
- "3.3"
|
||||||
|
# Test the install script.
|
||||||
|
script:
|
||||||
|
- ./install.py
|
||||||
|
- ./install_test.py
|
||||||
|
|
||||||
os:
|
- language: sh
|
||||||
- linux
|
os:
|
||||||
# Travis does not support python on osx yet.
|
- linux
|
||||||
# see: https://github.com/travis-ci/travis-ci/issues/2312
|
addons:
|
||||||
# - osx
|
apt:
|
||||||
|
packages:
|
||||||
|
- ksh
|
||||||
|
- zsh
|
||||||
|
env:
|
||||||
|
- PATH=$HOME/bin/:$PATH
|
||||||
|
- SHFMT_VERSION=v2.6.2
|
||||||
|
- SHFMT_DOWNLOAD_URL="https://github.com/mvdan/sh/releases/download/${SHFMT_VERSION}/shfmt_${SHFMT_VERSION}_linux_amd64"
|
||||||
|
before_script:
|
||||||
|
- $SHELL --version 2>/dev/null || dpkg -s "$SHELL" 2>/dev/null || command -v "$SHELL"
|
||||||
|
- curl --version
|
||||||
|
- shellcheck --version
|
||||||
|
- curl -sSL "$SHFMT_DOWNLOAD_URL" -o $HOME/bin/shfmt;
|
||||||
|
chmod +x $HOME/bin/shfmt;
|
||||||
|
shfmt --version
|
||||||
|
script:
|
||||||
|
- echo "Linting installer script using \`shellcheck\`:";
|
||||||
|
shellcheck -s sh *.sh;
|
||||||
|
shellcheck -s dash *.sh;
|
||||||
|
shellcheck -s ksh *.sh;
|
||||||
|
shellcheck -s bash *.sh
|
||||||
|
- echo "Checking script formatting using \`shfmt\`:";
|
||||||
|
shfmt -d -p -i 2 -ci .
|
||||||
|
- echo "Running test suite inside supported shells:";
|
||||||
|
echo "\`sh\`:"; sh ./install_test.sh;
|
||||||
|
echo "\`dash\`:"; dash ./install_test.sh;
|
||||||
|
echo "\`ksh\`:"; ksh ./install_test.sh;
|
||||||
|
echo "\`bash\`:"; bash ./install_test.sh;
|
||||||
|
echo "\`zsh\`:"; zsh ./install_test.sh
|
||||||
|
|
||||||
python:
|
- language: bash
|
||||||
- "2.7"
|
os:
|
||||||
- "3.3"
|
- osx
|
||||||
|
script:
|
||||||
# Test the install script.
|
- ./install_test.sh
|
||||||
script:
|
|
||||||
- ./install.py
|
|
||||||
- ./install_test.py
|
|
||||||
|
|
|
||||||
16
README.md
16
README.md
|
|
@ -6,9 +6,15 @@
|
||||||
|
|
||||||
Downloads the latest Deno binary into `$HOME/.deno/bin`.
|
Downloads the latest Deno binary into `$HOME/.deno/bin`.
|
||||||
|
|
||||||
|
**Install with Shell:**
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -L https://deno.land/x/install/install.sh | sh
|
||||||
|
```
|
||||||
|
|
||||||
**Install with Python:**
|
**Install with Python:**
|
||||||
|
|
||||||
```
|
```sh
|
||||||
curl -L https://deno.land/x/install/install.py | python
|
curl -L https://deno.land/x/install/install.py | python
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -24,9 +30,15 @@ _Note: Depending on your security settings, you may have to run `Set-ExecutionPo
|
||||||
|
|
||||||
If you need to install specific version of deno, use the following commands:
|
If you need to install specific version of deno, use the following commands:
|
||||||
|
|
||||||
|
**Install with Shell:**
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -L https://deno.land/x/install/install.sh | sh -s v0.2.0
|
||||||
|
```
|
||||||
|
|
||||||
**Install with Python:**
|
**Install with Python:**
|
||||||
|
|
||||||
```
|
```sh
|
||||||
curl -L https://deno.land/x/install/install.py | python - v0.2.0
|
curl -L https://deno.land/x/install/install.py | python - v0.2.0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
35
install.sh
Executable file
35
install.sh
Executable file
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright 2018 the Deno authors. All rights reserved. MIT license.
|
||||||
|
# TODO(everyone): Keep this script simple and easily auditable.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
version="v0.2.6"
|
||||||
|
else
|
||||||
|
version=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
deno_dir="$HOME/.deno/bin"
|
||||||
|
|
||||||
|
if [ ! -d "$deno_dir" ]; then
|
||||||
|
mkdir -p "$deno_dir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $(uname -s) in
|
||||||
|
Darwin) os="osx" ;;
|
||||||
|
*) os="linux" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
deno_uri="https://github.com/denoland/deno/releases/download/${version}/deno_${os}_x64.gz"
|
||||||
|
|
||||||
|
curl -fL# -o "$deno_dir/deno.gz" "$deno_uri"
|
||||||
|
gunzip -df "$deno_dir/deno.gz"
|
||||||
|
chmod +x "$deno_dir/deno"
|
||||||
|
|
||||||
|
echo "Deno was installed successfully."
|
||||||
|
if command -v deno >/dev/null; then
|
||||||
|
echo "Run 'deno --help' to get started."
|
||||||
|
else
|
||||||
|
echo "Run '~/.deno/bin/deno --help' to get started."
|
||||||
|
fi
|
||||||
40
install_test.sh
Executable file
40
install_test.sh
Executable file
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
chmod +x install.sh
|
||||||
|
|
||||||
|
# PATH tests
|
||||||
|
|
||||||
|
rm -rf ~/.deno
|
||||||
|
./install.sh | grep -e "Run '~/.deno/bin/deno --help' to get started."
|
||||||
|
~/.deno/bin/deno --help
|
||||||
|
|
||||||
|
PATH=$PATH:~/.deno/bin
|
||||||
|
rm -rf ~/.deno
|
||||||
|
./install.sh | grep -e "Run 'deno --help' to get started."
|
||||||
|
deno --help
|
||||||
|
|
||||||
|
# Version tests
|
||||||
|
|
||||||
|
rm -rf ~/.deno
|
||||||
|
./install.sh v0.2.0
|
||||||
|
deno -v | grep -e 0.2.0
|
||||||
|
|
||||||
|
# End-to-end tests
|
||||||
|
|
||||||
|
if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
|
||||||
|
repo=$TRAVIS_REPO_SLUG
|
||||||
|
branch=$TRAVIS_BRANCH
|
||||||
|
else
|
||||||
|
repo=$TRAVIS_PULL_REQUEST_SLUG
|
||||||
|
branch=$TRAVIS_PULL_REQUEST_BRANCH
|
||||||
|
fi
|
||||||
|
e2e_url=https://raw.githubusercontent.com/$repo/$branch/install.sh
|
||||||
|
|
||||||
|
rm -rf ~/.deno
|
||||||
|
curl -sSL "$e2e_url" | $SHELL
|
||||||
|
deno -v
|
||||||
|
|
||||||
|
rm -rf ~/.deno
|
||||||
|
curl -sSL "$e2e_url" | $SHELL -s v0.2.0
|
||||||
|
deno -v | grep -e 0.2.0
|
||||||
Loading…
Reference in a new issue