asdf

Форк
0
/
install_dependencies.bash 
78 строк · 2.7 Кб
1
#!/usr/bin/env bash
2

3
set -euo pipefail
4
IFS=$'\n\t'
5

6
### Used env vars set by default in GitHub Actions
7
# docs: https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
8
# GITHUB_ACTIONS
9
# RUNNER_OS
10

11
if [ -z "$GITHUB_ACTIONS" ]; then
12
  printf "%s\n" "GITHUB_ACTIONS is not set. This script is only intended to be run in GitHub Actions. Exiting."
13
  exit 1
14
fi
15

16
if [ -z "$RUNNER_OS" ]; then
17
  printf "%s\n" "RUNNER_OS is not set. This script is only intended to be run in GitHub Actions. Exiting."
18
  exit 1
19
fi
20

21
### Set variables for tracking versions
22
# Elvish
23
elvish_semver="v0.19.2"
24
# Fish
25
fish_semver="3.7.0"
26
fish_apt_semver="${fish_semver}-1~jammy"
27
# Nushell
28
nushell_semver="0.86.0"
29
# Powershell
30
powershell_semver="7.3.3"
31
powershell_apt_semver="${powershell_semver}-1.deb"
32

33
### Install dependencies on Linux
34
if [ "$RUNNER_OS" = "Linux" ]; then
35
  printf "%s\n" "Installing dependencies on Linux"
36

37
  curl -fsSLo- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc >/dev/null
38
  sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-bullseye-prod bullseye main" > /etc/apt/sources.list.d/microsoft.list'
39
  sudo add-apt-repository -y ppa:fish-shell/release-3
40
  sudo apt-get update
41
  sudo apt-get -y install curl parallel \
42
    fish="${fish_apt_semver}" \
43
    powershell="${powershell_apt_semver}"
44

45
  # Create $HOME/bin
46
  mkdir -p "$HOME/bin"
47

48
  # Download elvish binary and add to path
49
  curl https://dl.elv.sh/linux-amd64/elvish-${elvish_semver}.tar.gz -o elvish-${elvish_semver}.tar.gz
50
  tar xzf elvish-${elvish_semver}.tar.gz
51
  rm elvish-${elvish_semver}.tar.gz
52
  mv elvish-${elvish_semver} "$HOME/bin/elvish"
53

54
  # Download nushell binary and add to path
55
  curl -L https://github.com/nushell/nushell/releases/download/${nushell_semver}/nu-${nushell_semver}-x86_64-unknown-linux-gnu.tar.gz -o nu-${nushell_semver}-x86_64-unknown-linux-gnu.tar.gz
56
  tar xzf nu-${nushell_semver}-x86_64-unknown-linux-gnu.tar.gz
57
  rm nu-${nushell_semver}-x86_64-unknown-linux-gnu.tar.gz
58
  mv nu-${nushell_semver}-x86_64-unknown-linux-gnu/* "$HOME/bin"
59

60
  # Add $HOME/bin to path (add Elvish & Nushell to path)
61
  echo "$HOME/bin" >>"$GITHUB_PATH"
62
fi
63

64
### Install dependencies on macOS
65
if [ "$RUNNER_OS" = "macOS" ]; then
66
  printf "%s\n" "Installing dependencies on macOS"
67
  brew install coreutils parallel \
68
    elvish \
69
    fish \
70
    nushell \
71
    powershell
72
fi
73

74
### Install bats-core
75
printf "%s\n" "Installing bats-core"
76
bats_version=$(grep -Eo "^\\s*bats\\s*.*$" ".tool-versions" | cut -d ' ' -f2-)
77
git clone --depth 1 --branch "v$bats_version" https://github.com/bats-core/bats-core.git "$HOME/bats-core"
78
echo "$HOME/bats-core/bin" >>"$GITHUB_PATH"
79

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.