Skip to content

Modernize the typechecker monad and make it abstract #2697

Modernize the typechecker monad and make it abstract

Modernize the typechecker monad and make it abstract #2697

Workflow file for this run

name: CI (getdeps)
on: [push, pull_request]
jobs:
ci-getdeps:
strategy:
fail-fast: false
matrix:
ghc: [8.4.4, 8.6.5, 8.8.4, 8.10.2]
runs-on: ubuntu-latest
container:
image: ghcr.io/facebookincubator/hsthrift/ci-base:ghcup
options: --cpus 2
env:
LD_LIBRARY_PATH: "/github/home/.hsthrift/lib"
PKG_CONFIG_PATH: "/github/home/.hsthrift/lib/pkgconfig"
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Env
run: env
- name: Install additional tools
run: |
apt-get update
apt-get install -y ninja-build libgmock-dev
- name: Drop system libfmt
run: apt-get remove -y libfmt-dev
- name: Install folly, fizz, wangle, fbthrift
run: ./new_install_deps.sh
- name: Add fbthrift/thrift1 to PATH
run: echo "$HOME/.hsthrift/bin" >> "$GITHUB_PATH"
- name: Install ${{ matrix.ghc }}
run: ghcup install ghc ${{ matrix.ghc }} --set
- name: Install cabal-install-3.6
run: ghcup install cabal -u https://downloads.haskell.org/~cabal/cabal-install-3.6.0.0/cabal-install-3.6.0.0-x86_64-linux.tar.xz 3.6.0.0 --set
- name: Add GHC and cabal to PATH
run: echo "$HOME/.ghcup/bin" >> "$GITHUB_PATH"
- name: Populate hackage index
run: cabal update
- name: Generate C++ code from thrift files
run: make thrift-cpp
- name: Build everything up to thrift-compiler
run: cabal build --project-file=ci.cabal.project exe:thrift-compiler
- name: Generate Haskell code from thrift files
run: make thrift-hs
- name: Generate source distributions for all packages
run: cabal sdist --project-file=ci.cabal.project all
- name: Unpack source distributions in new directory
run: |
mkdir _sdists
cd _sdists
for f in $(ls ../dist-newstyle/sdist/*.tar.gz); do
tar xzf $f;
done
cp ../ci-sdist.cabal.project cabal.project
cd ..
- name: Build all packages
run: cabal build all
working-directory: ./_sdists
- name: Run testsuites
run: cabal test mangle fb-util thrift-compiler thrift-lib thrift-server thrift-tests --keep-going
working-directory: ./_sdists