mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-09-20 15:09:02 +03:00
server: Bump GHC version to 8.10.2 (#5659)
This commit is contained in:
parent
15794ad817
commit
8c29f15b4d
@ -1,9 +1,7 @@
|
||||
# anchor refs to be used elsewhere
|
||||
refs:
|
||||
constants:
|
||||
# TODO upload to hasura docker hub:
|
||||
# - &server_builder_image hasura/graphql-engine-server-builder:2020-01-14
|
||||
- &server_builder_image jberryman/graphql-engine-server-builder-8.10:2020-04-29
|
||||
- &server_builder_image hasura/graphql-engine-server-builder:2020-08-26
|
||||
skip_job_on_ciignore: &skip_job_on_ciignore
|
||||
run:
|
||||
name: checking if job should be terminated or not
|
||||
@ -22,7 +20,7 @@ refs:
|
||||
if [ -z "$CIRCLE_PR_NUMBER" ]; then
|
||||
echo "Not a PR build, continuing test" && exit 0
|
||||
fi
|
||||
echo "Compare refs: ${CIRCLE_COMPARE_URL##http*/}"
|
||||
echo "Compare refs: ${CIRCLE_COMPARE_URL##http*/}"
|
||||
if git diff --quiet "${CIRCLE_COMPARE_URL##http*/}" -- server; then
|
||||
echo "No server changes present, skipping test"
|
||||
circleci-agent step halt
|
||||
@ -165,10 +163,10 @@ jobs:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
keys:
|
||||
- cabal-store-v2-{{ checksum "server/cabal.project" }}-{{ checksum "server/graphql-engine.cabal" }}-{{ checksum "server/cabal.project.freeze" }}
|
||||
- cabal-store-v2-{{ checksum "server/cabal.project" }}-{{ checksum "server/graphql-engine.cabal" }}-
|
||||
- cabal-store-v2-{{ checksum "server/cabal.project" }}-
|
||||
- cabal-store-v2-
|
||||
- cabal-store-v3-{{ checksum "server/cabal.project" }}-{{ checksum "server/graphql-engine.cabal" }}-{{ checksum "server/cabal.project.freeze" }}
|
||||
- cabal-store-v3-{{ checksum "server/cabal.project" }}-{{ checksum "server/graphql-engine.cabal" }}-
|
||||
- cabal-store-v3-{{ checksum "server/cabal.project" }}-
|
||||
- cabal-store-v3-
|
||||
- run:
|
||||
name: Install latest postgresql client tools
|
||||
command: |
|
||||
@ -187,7 +185,7 @@ jobs:
|
||||
make enable_coverage=true ci-build
|
||||
fi
|
||||
- save_cache:
|
||||
key: cabal-store-v2-{{ checksum "server/cabal.project" }}-{{ checksum "server/graphql-engine.cabal" }}-{{ checksum "server/cabal.project.freeze" }}
|
||||
key: cabal-store-v3-{{ checksum "server/cabal.project" }}-{{ checksum "server/graphql-engine.cabal" }}-{{ checksum "server/cabal.project.freeze" }}
|
||||
paths:
|
||||
- ~/.cabal/packages
|
||||
- ~/.cabal/store
|
||||
@ -416,7 +414,7 @@ jobs:
|
||||
root: /build
|
||||
paths:
|
||||
- _cli_output
|
||||
|
||||
|
||||
test_and_build_cli_migrations:
|
||||
docker:
|
||||
- image: hasura/graphql-engine-cli-migrations-builder:20200415
|
||||
|
@ -1,8 +1,6 @@
|
||||
# Don't update this without updating the
|
||||
# packager imager of graphql-engine
|
||||
FROM phadej/ghc:8.10.1-stretch
|
||||
# TODO https://github.com/haskell/docker-haskell/issues/17
|
||||
#FROM haskell:8.10.1
|
||||
FROM haskell:8.10.2-stretch
|
||||
|
||||
ARG docker_ver="17.09.0-ce"
|
||||
ARG postgres_ver="12"
|
||||
@ -14,7 +12,10 @@ RUN apt-get -y update \
|
||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
|
||||
&& curl -s https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
|
||||
&& apt-get -y update \
|
||||
&& apt-get install -y g++ gcc libc6-dev libpq-dev libffi-dev libgmp-dev make xz-utils zlib1g-dev git gnupg upx netcat python3 python3-pip postgresql-client-${postgres_ver} postgresql-client-common \
|
||||
&& apt-get install -y \
|
||||
g++ gcc git gnupg libc6-dev libffi-dev libgmp-dev libkrb5-dev \
|
||||
libpq-dev libssl-dev make netcat postgresql-client-${postgres_ver} \
|
||||
postgresql-client-common python3 python3-pip upx xz-utils zlib1g-dev \
|
||||
&& curl -sL https://deb.nodesource.com/setup_${node_ver} | bash - \
|
||||
&& apt-get install -y nodejs \
|
||||
&& curl -Lo /tmp/docker-${docker_ver}.tgz https://download.docker.com/linux/static/stable/x86_64/docker-${docker_ver}.tgz \
|
||||
|
@ -5,7 +5,7 @@ own machine and how to contribute.
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
- [GHC](https://www.haskell.org/ghc/) 8.10.1 and [cabal-install](https://cabal.readthedocs.io/en/latest/)
|
||||
- [GHC](https://www.haskell.org/ghc/) 8.10.2 and [cabal-install](https://cabal.readthedocs.io/en/latest/)
|
||||
- There are various ways these can be installed, but [ghcup](https://www.haskell.org/ghcup/) is a good choice if you’re not sure.
|
||||
- [Node.js](https://nodejs.org/en/) (>= v8.9)
|
||||
- npm >= 5.7
|
||||
|
@ -5,10 +5,8 @@ reject-unconstrained-dependencies: all
|
||||
package graphql-engine
|
||||
ghc-options:
|
||||
-j3 -Werror
|
||||
-- Limit heap size to 8GB, which is the amount of available memory on a
|
||||
-- CircleCI `large` instance. (GHC interprets G as GB, i.e. 1,000^3 bytes,
|
||||
-- but instances seem to have 8GiB, i.e. 1,024^3 bytes, so that leaves us
|
||||
-- a little breathing room.)
|
||||
+RTS -M8G -RTS
|
||||
-- Limit heap size to a little less than 8GB, which is the amount of
|
||||
-- available memory on a CircleCI `large` instance.
|
||||
+RTS -M7500m -RTS
|
||||
tests: true
|
||||
benchmarks: true
|
||||
|
@ -6,7 +6,7 @@
|
||||
-- Or, if you want to customize the configuration:
|
||||
-- $ cp cabal.project.dev cabal.project.local
|
||||
|
||||
with-compiler: ghc-8.10.1
|
||||
with-compiler: ghc-8.10.2
|
||||
|
||||
package *
|
||||
documentation: true
|
||||
|
@ -35,7 +35,7 @@ constraints: any.Cabal ==3.2.0.0,
|
||||
attoparsec-iso8601 -developer -fast,
|
||||
any.authenticate-oauth ==1.6.0.1,
|
||||
any.auto-update ==0.1.6,
|
||||
any.base ==4.14.0.0,
|
||||
any.base ==4.14.1.0,
|
||||
any.base-compat ==0.11.1,
|
||||
any.base-compat-batteries ==0.11.1,
|
||||
any.base-orphans ==0.8.2,
|
||||
@ -137,8 +137,8 @@ constraints: any.Cabal ==3.2.0.0,
|
||||
any.foldl ==1.4.6,
|
||||
any.free ==5.1.3,
|
||||
any.generic-arbitrary ==0.1.0,
|
||||
any.ghc-boot-th ==8.10.1,
|
||||
any.ghc-heap ==8.10.1,
|
||||
any.ghc-boot-th ==8.10.2,
|
||||
any.ghc-heap ==8.10.2,
|
||||
any.ghc-heap-view ==0.6.2,
|
||||
ghc-heap-view -prim-supports-any,
|
||||
any.ghc-prim ==0.6.1,
|
||||
|
@ -541,9 +541,9 @@ runHGEServer env ServeOptions{..} InitCtx{..} pgExecCtx initTime shutdownApp pos
|
||||
-- see memory stay high after finishing). In the theoretical worst case
|
||||
-- there is such low haskell heap pressure that we never run finalizers to
|
||||
-- free the foreign data from e.g. libpq.
|
||||
-- - `-Iw` is not yet implemented in 8.10.1: https://gitlab.haskell.org/ghc/ghc/-/issues/18433
|
||||
-- - even if it was these two knobs would still not give us a guarentee that
|
||||
-- a major GC would always run at some minumum frequency (e.g. for finalizers)
|
||||
-- - as of GHC 8.10.2 we have access to `-Iw`, but those two knobs still
|
||||
-- don’t give us a guarantee that a major GC will always run at some
|
||||
-- minumum frequency (e.g. for finalizers)
|
||||
--
|
||||
-- ...so we hack together our own using GHC.Stats, which should have
|
||||
-- insignificant runtime overhead.
|
||||
|
@ -1,6 +1,5 @@
|
||||
-- | Types and functions related to the server initialisation
|
||||
{-# LANGUAGE CPP #-}
|
||||
{-# OPTIONS_GHC -O0 #-}
|
||||
module Hasura.Server.Init
|
||||
( module Hasura.Server.Init
|
||||
, module Hasura.Server.Init.Config
|
||||
|
Loading…
Reference in New Issue
Block a user