sue445/index_shotgun

View on GitHub
ci/install.sh

Summary

Maintainability
Test Coverage
#!/bin/bash -xe

gem update --system --quiet || true

gem --version
bundle --version

if [ "${DATABASE}" = "mysql" ]; then
  sudo apt-get update
  sudo apt-get install -y libmysqlclient-dev

  export BUNDLE_WITHOUT="postgresql sqlite3 oracle"

elif [ "${DATABASE}" = "postgresql" ]; then
  sudo apt-get update
  sudo apt-get install -y libpq-dev

  export BUNDLE_WITHOUT="mysql sqlite3 oracle"

elif [ "${DATABASE}" = "sqlite3" ]; then
  sudo apt-get update
  sudo apt-get install -y libsqlite3-dev

  export BUNDLE_WITHOUT="mysql postgresql oracle"

elif [ "${DATABASE}" = "oracle" ]; then
  # c.f. https://github.com/kubo/ruby-oci8/blob/ruby-oci8-2.2.7/docs/install-instant-client.md#install-oracle-instant-client-packages
  mkdir -p /opt/oracle
  pushd /opt/oracle

  wget https://download.oracle.com/otn_software/linux/instantclient/193000/instantclient-basiclite-linux.x64-19.3.0.0.0dbru.zip
  wget https://download.oracle.com/otn_software/linux/instantclient/193000/instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip

  unzip instantclient-basiclite-linux.x64-19.3.0.0.0dbru.zip
  unzip instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip

  sudo apt-get update
  sudo apt-get install -y libaio1

  popd

  export BUNDLE_WITHOUT="mysql postgresql sqlite3"

else
  export BUNDLE_WITHOUT="mysql postgresql sqlite3 oracle"

fi

bundle config set --local path "vendor/bundle/"
bundle update --jobs $(nproc) --retry 3