Add libred2-dev to deps #611
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI-Clang | |
on: [push, pull_request] | |
env: | |
LANG: en_US.UTF-8 | |
jobs: | |
ci-clang: | |
strategy: | |
fail-fast: false | |
matrix: | |
ghc: [8.10.7] | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/donsbot/hsthrift/ci-base:clang11rocksdb | |
options: --cpus 2 --security-opt=seccomp=unconfined | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install additional tools | |
run: | | |
apt-get update | |
apt install -y libxxhash-dev m4 rsync wget unzip libclang-12-dev llvm-12-dev libgmock-dev libre2-dev | |
- name: Make utf8 default locale | |
run: | | |
apt-get install -y locales | |
locale-gen en_US.UTF-8 | |
update-locale LANG=en_US.UTF-8 | |
- name: Install GHC ${{ matrix.ghc }} | |
run: ghcup install ghc ${{ matrix.ghc }} --set | |
- name: Install cabal-install | |
run: ghcup install cabal -u https://downloads.haskell.org/cabal/cabal-install-3.8.1.0/cabal-install-3.8.1.0-x86_64-linux-deb10.tar.xz 3.8.1.0 --set | |
- name: Add GHC and cabal to PATH | |
run: echo "$HOME/.ghcup/bin" >> "$GITHUB_PATH" | |
- name: Install indexer (flow) | |
run: | | |
export FLOW=0.209.1 | |
wget "https://github.com/facebook/flow/releases/download/v${FLOW}/flow-linux64-v${FLOW}.zip" | |
unzip "flow-linux64-v${FLOW}.zip" | |
mkdir -p "$HOME"/.hsthrift/bin && mv flow/flow "$HOME"/.hsthrift/bin | |
- name: Install indexer (typescript) | |
run: | | |
export NODEARCH=node-v18.0.0-linux-x64 | |
curl -LO "https://nodejs.org/dist/v18.0.0/${NODEARCH}.tar.xz" | |
tar -xvf "${NODEARCH}.tar.xz" | |
cp -r "${NODEARCH}"/* "$HOME"/.hsthrift/ | |
npm install -g @sourcegraph/scip-typescript | |
- name: Install indexer (python) | |
run: | | |
export NODEARCH=node-v18.0.0-linux-x64 | |
curl -LO "https://nodejs.org/dist/v18.0.0/${NODEARCH}.tar.xz" | |
tar -xvf "${NODEARCH}.tar.xz" | |
cp -r "${NODEARCH}"/* "$HOME"/.hsthrift/ | |
npm install -g @sourcegraph/scip-python | |
apt install -y python3-pip | |
- name: Install indexer (dotnet) | |
run: | | |
export DOTNET=7.0 | |
wget https://dot.net/v1/dotnet-install.sh | |
chmod +x dotnet-install.sh | |
./dotnet-install.sh --channel ${DOTNET} | |
export DOTNET_ROOT=$HOME/.dotnet | |
$DOTNET_ROOT/dotnet tool install --global scip-dotnet | |
- name: Install indexer (go) | |
run: | | |
export GOLANG=1.17.8 | |
export SCIPGO=0.1.4 | |
mkdir go-install; cd go-install | |
wget "https://go.dev/dl/go${GOLANG}.linux-amd64.tar.gz" | |
tar -C "$HOME/.hsthrift" -xzf "go${GOLANG}.linux-amd64.tar.gz" | |
wget "https://github.com/sourcegraph/scip-go/releases/download/v${SCIPGO}/scip-go_${SCIPGO}_linux_amd64.tar.gz" | |
tar xzf "scip-go_${SCIPGO}_linux_amd64.tar.gz" | |
mkdir -p "$HOME"/.hsthrift/bin && mv scip-go "$HOME"/.hsthrift/bin | |
echo "$HOME/.hsthrift/go/bin" >> "$GITHUB_PATH" | |
- name: Install indexer (rust) | |
run: | | |
export RUST_ANALYZER=2023-11-06 | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" | |
mkdir -p "$HOME"/.hsthrift/bin | |
curl -L https://github.com/rust-analyzer/rust-analyzer/releases/download/${RUST_ANALYZER}/rust-analyzer-x86_64-unknown-linux-gnu.gz | gunzip -c - > "$HOME"/.hsthrift/bin/rust-analyzer | |
chmod +x "$HOME"/.hsthrift/bin/rust-analyzer | |
- name: Install indexer (java) | |
run: | | |
apt-get install -y default-jdk maven | |
curl -fLo coursier https://git.io/coursier-cli && chmod +x coursier | |
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/ | |
./coursier bootstrap --standalone -o lsif-java com.sourcegraph:lsif-java_2.13:0.8.0-RC1 --main-class com.sourcegraph.lsif_java.LsifJava | |
mkdir -p "$HOME"/.hsthrift/bin && cp lsif-java "$HOME"/.hsthrift/bin | |
# no hhvm builds yet for jammy/ubuntu 22.00, so we skip the hack indexer | |
- name: Fetch hsthrift and build folly | |
run: ./install_deps.sh --use-system-libs | |
- name: Nuke build artifacts | |
run: rm -rf /tmp/fbcode_builder_getdeps-Z__wZGleanZGleanZhsthriftZbuildZfbcode_builder-root/ | |
- name: Add thrift compiler to path | |
run: echo "$HOME/.hsthrift/bin" >> "$GITHUB_PATH" | |
- name: Populate hackage index | |
run: cabal update | |
- name: Build hsthrift and Glean | |
run: env LD_LIBRARY_PATH="$HOME/.hsthrift/lib" PKG_CONFIG_PATH="$HOME/.hsthrift/lib/pkgconfig" make | |
- name: Build glass | |
run: env LD_LIBRARY_PATH="$HOME/.hsthrift/lib" PKG_CONFIG_PATH="$HOME/.hsthrift/lib/pkgconfig" make glass | |
# no hhvm/hack or typescript indexer, so we run without hack regression tests | |
- name: Build glean-clang | |
run: env LD_LIBRARY_PATH="$HOME/.hsthrift/lib" PKG_CONFIG_PATH="$HOME/.hsthrift/lib/pkgconfig" make glean-clang | |
- name: Run tests | |
run: env LD_LIBRARY_PATH="$HOME/.hsthrift/lib" PKG_CONFIG_PATH="$HOME/.hsthrift/lib/pkgconfig" cabal test glean:tests -f-hack-tests |