diff --git a/.github/workflows/image.yml b/.github/workflows/image.yml index e0a68122..37686055 100644 --- a/.github/workflows/image.yml +++ b/.github/workflows/image.yml @@ -5,6 +5,7 @@ on: branches: - nightly - lts21 + - lts22 jobs: push: diff --git a/automated/dockerfiles/lts-22.0/Dockerfile b/automated/dockerfiles/lts-22.0/Dockerfile new file mode 100644 index 00000000..c55d2b67 --- /dev/null +++ b/automated/dockerfiles/lts-22.0/Dockerfile @@ -0,0 +1,90 @@ +FROM ubuntu:22.04 + +LABEL maintainer="manny@fpcomplete.com" + +ARG GHC_VERSION=9.6.3 +ARG LTS_SLUG=lts-22.0 +ARG PID1_VERSION=0.1.2.0 +ARG STACK_VERSION=2.11.1 +ARG CUDA_VERSION=10.0 +ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64 +ARG LLVM_PATH=/usr/lib/llvm-9 +ARG BOOTSTRAP_COMMIT=56d27e1cfead1a37ff55942a9d2f14c0733459c9 + +ARG DEBIAN_FRONTEND=noninteractive +ARG VARIANT=build +ARG STACK_ROOT=/home/stackage/.stack + +# +# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries. +# + +ENV LANG=C.UTF-8 \ + LC_ALL=C.UTF-8 \ + PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \ + CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \ + CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include + +# +# Install pre-requisites +# + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \ + make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \ + rm -rf /var/lib/apt/lists/* + +# +# Use Stackage's docker/*.sh scripts to install system libraries and +# tools required to build any Stackage package. +# Re-installs 'stack' *after* running docker/*.sh since that may have +# installed a different version. +# In the case of 'small' image, just install Stack and GHC. +# + +RUN if [ "$VARIANT" != "small" ]; then \ + wget -qO- https://raw.githubusercontent.com/commercialhaskell/stackage/$BOOTSTRAP_COMMIT/docker/01-build-server.sh https://raw.githubusercontent.com/commercialhaskell/stackage/$BOOTSTRAP_COMMIT/docker/02-apt-get-install.sh https://raw.githubusercontent.com/commercialhaskell/stackage/$BOOTSTRAP_COMMIT/docker/03-custom-install.sh https://raw.githubusercontent.com/commercialhaskell/stackage/$BOOTSTRAP_COMMIT/docker/04-cleanup.sh | sed "s/^GHCVER=9.0.1$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \ + fi && \ + wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \ + if [ "$VARIANT" = "small" ]; then \ + stack setup --resolver ghc-$GHC_VERSION; \ + fi && \ + rm -rf /var/lib/apt/lists/* && \ + cd $STACK_ROOT && \ + find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \ + find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true + +# +# Configure Stack to use the GHC installed in the Docker image rather than installing its own +# + +RUN mkdir /etc/stack/ && \ + echo "system-ghc: true" >/etc/stack/config.yaml + +# +# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We +# remove most of the STACK_ROOT afterward to save space, but keep the 'share' +# files that some of these tools require. +# + +RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \ + happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \ + cd $STACK_ROOT && \ + find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \ + find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true + +# +# Install 'pid1' init daemon +# + +RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \ + chown root:root /usr/local/sbin && \ + chown root:root /usr/local/sbin/pid1 + +# +# Set up pid1 entrypoint and default command +# + +ENTRYPOINT ["/usr/local/sbin/pid1"] +CMD ["bash"] diff --git a/become-a-curator.md b/become-a-curator.md index 00bb6dd6..fab3bef0 100644 --- a/become-a-curator.md +++ b/become-a-curator.md @@ -28,14 +28,14 @@ github. We also have a curator slack channel where we help each other out. The current curator team consists of: -* Adam Bergmark -* Dan Burton -* Jens Petersen -* Luke Murphy -* Michael Snoyman - -We onboarded Luke as the newest member a few months ago and this -helped us iron out and document the process further. +* Adam Bergmark (@bergmark) +* Alexey Zabelin (@alexeyzab) +* Andreas Ländle (@alaendle) +* Chris Dornan (@cdornan) +* Dan Burton (@danburton) +* Jens Petersen (@juhp) +* Joe Kachmar (@jkachmar) +* Mihai Maruseac (@mihaimaruseac) You can read the curator documentation here: https://github.com/commercialhaskell/stackage/blob/master/CURATORS.md diff --git a/build-constraints.yaml b/build-constraints.yaml index f057f045..9c304e82 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -63,8 +63,6 @@ packages: - buttplug-hs-core "Manuel Schneckenreither @schnecki": - - experimenter < 0 # 0.1.0.14 https://github.com/schnecki/experimenter/issues/1 - - api-maker < 0 # 0.1.0.6 https://github.com/schnecki/api-maker/issues/1 - easy-logger - welford-online-mean-variance @@ -72,7 +70,6 @@ packages: - error-or - error-or-utils - inbox - - mock-time < 0 # 0.1.0 compile fail https://github.com/luntain/error-or-bundle/issues/4 "Liang-Ting Chen @L-TChen": - geniplate-mirror @@ -90,7 +87,7 @@ packages: - java-adt - Sit - - alex > 3.2.7 + - alex - happy < 1.21.0 || > 1.21.0 - haskell-src - ListLike @@ -321,7 +318,6 @@ packages: - primecount "Guillaume Bouchard @guibou": - - krank < 0 # 0.3.0 https://github.com/guibou/krank/issues/97 - pretty-terminal - PyF @@ -366,7 +362,6 @@ packages: "Matthew Ahrens @mpahrens": - forkable-monad - - butter < 0 # 0.1.0.6 text 1.2.5.0 exports `elem` https://github.com/System-Indystress/Butter/issues/4 "Iris Ward @AdituV": - typenums @@ -650,7 +645,6 @@ packages: - cabal-plan - topograph - ix-shapable - - hsshellscript < 0 # 3.5.0 compile fail https://github.com/commercialhaskell/stackage/issues/6762 - hyper - storable-endian - glpk-headers @@ -1175,7 +1169,7 @@ packages: - zlib-lens "Andrew Farmer @xich": - - scotty + - scotty < 0.21 # https://github.com/commercialhaskell/stackage/issues/7208 - wai-middleware-static "Simon Hengel @sol": @@ -3041,9 +3035,6 @@ packages: - tree-fun - random-tree - clumpiness - - find-clumpiness - - blosum < 0 # 0.1.1.4 compile fail - - rank-product < 0 # 0.2.2.0 compile fail "Simon Marechal @bartavelle": - compactmap @@ -3094,7 +3085,7 @@ packages: - slack-web "Nickolay Kudasov @fizruk": - - http-api-data < 0.6 # https://github.com/commercialhaskell/stackage/issues/7032 + - http-api-data - swagger2 - telegram-bot-simple - rzk @@ -3212,7 +3203,7 @@ packages: - boomerang - happstack-hsp - happstack-jmacro - - happstack-server + - happstack-server < 7.9 # https://github.com/commercialhaskell/stackage/issues/7207 - happstack-server-tls - hsx-jmacro - ixset @@ -4575,8 +4566,8 @@ packages: - file-path-th "Raghu Kaippully @rkaippully": - - webgear-core - - webgear-openapi + - webgear-core < 0 # https://github.com/commercialhaskell/stackage/issues/7168 + - webgear-openapi < 0 # https://github.com/commercialhaskell/stackage/issues/7168 - webgear-server < 0 # 1.0.5 compile fail https://github.com/haskell-webgear/webgear/issues/16 "Alex Washburn @recursion-ninja": @@ -5080,7 +5071,7 @@ packages: - ipa "Andreas Herrmann @aherrmann": - - capability + - capability < 0 # https://github.com/commercialhaskell/stackage/issues/7146 "Dustin Sallings @dustin": - net-mqtt @@ -5115,7 +5106,6 @@ packages: - hgal "Rickard Andersson @GoNZooo": - - gotyno-hs < 0 # 1.1.0 compile fail https://github.com/commercialhaskell/stackage/issues/6766 - reddit-scrape "James Cranch @jcranch": @@ -5511,7 +5501,6 @@ packages: - heap - here - hex - - hierarchical-clustering < 0 # 0.4.7 compile fail https://github.com/commercialhaskell/stackage/issues/6764 - hjsonpointer - hjsonschema - hlibgit2 @@ -5744,7 +5733,7 @@ packages: - system-fileio - system-filepath - tabular - - tar + - tar < 0.6 # https://github.com/commercialhaskell/stackage/issues/7202 - tasty-lua - tasty-th - tdigest @@ -6122,7 +6111,6 @@ packages: - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* requires network < =2.8.0.0 and the snapshot contains network-3.1.4.0 - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* requires the disabled package: BiobaseBlast - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* requires the disabled package: Taxonomy - - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* requires the disabled package: hierarchical-clustering - Spintax < 0 # tried Spintax-0.3.6, but its *library* requires mtl >=2.2.1 && < 2.3 and the snapshot contains mtl-2.3.1 - Spintax < 0 # tried Spintax-0.3.6, but its *library* requires text >=1.2.2 && < 1.3 and the snapshot contains text-2.0.2 - Spock < 0 # tried Spock-0.14.0.0, but its *library* requires the disabled package: Spock-core @@ -6549,7 +6537,6 @@ packages: - fib < 0 # tried fib-0.1.0.1, but its *library* requires the disabled package: base-noprelude - filecache < 0 # tried filecache-0.4.1, but its *library* requires fsnotify ==0.3.* and the snapshot contains fsnotify-0.4.1.0 - filecache < 0 # tried filecache-0.4.1, but its *library* requires mtl >=2.1 && < 2.3 and the snapshot contains mtl-2.3.1 - - find-clumpiness < 0 # tried find-clumpiness-0.2.3.2, but its *library* requires the disabled package: hierarchical-clustering - first-class-patterns < 0 # tried first-class-patterns-0.3.2.5, but its *library* requires transformers >=0.1.0 && < 0.6 and the snapshot contains transformers-0.6.1.0 - flat-mcmc < 0 # tried flat-mcmc-1.5.2, but its *library* requires text >=1.2 && < 2 and the snapshot contains text-2.0.2 - flat-mcmc < 0 # tried flat-mcmc-1.5.2, but its *library* requires transformers >=0.2 && < 0.6 and the snapshot contains transformers-0.6.1.0 @@ -8043,12 +8030,9 @@ packages: # https://github.com/commercialhaskell/stackage/issues/7074 - th-abstraction < 0.6.0.0 - # https://github.com/commercialhaskell/stackage/issues/7086 - - tagged < 0.8.8 - - # https://github.com/commercialhaskell/stackage/issues/7103 - - megaparsec < 9.5.0 - - megaparsec-tests < 9.5.0 + # https://github.com/commercialhaskell/stackage/issues/7205 + - megaparsec < 9.6 + - megaparsec-tests < 9.6 # https://github.com/commercialhaskell/stackage/issues/7106 - tls < 1.9 @@ -8075,15 +8059,9 @@ packages: - singletons-th < 3.3 - th-desugar < 1.16 - # https://github.com/commercialhaskell/stackage/issues/7146 - - constraints < 0.14 - # https://github.com/commercialhaskell/stackage/issues/7159 - Diff < 0.5 - # https://github.com/commercialhaskell/stackage/issues/7168 - - jose < 0.11 - # https://github.com/commercialhaskell/stackage/issues/7178 - cassava-megaparsec < 2.1 # end of Stackage upper bounds @@ -8974,7 +8952,6 @@ expected-test-failures: - generic-optics # 2.2.1.0 optimization output https://github.com/kcsongor/generic-lens/issues/133 - github-types # https://github.com/commercialhaskell/stackage/issues/6549 - haskoin-node # https://github.com/commercialhaskell/stackage/issues/6769 - - heist # https://github.com/commercialhaskell/stackage/issues/6765 - hgeometry-combinatorial # 0.14 - hruby # 0.5.1.0 - hspec-golden-aeson # 0.9.0.0 @@ -9023,7 +9000,6 @@ expected-test-failures: - sqids - stateWriter # 0.4.0 https://github.com/bartavelle/stateWriter/issues/6 - subcategories - - sydtest # https://github.com/commercialhaskell/stackage/issues/6729 - sydtest-yesod # https://github.com/commercialhaskell/stackage/issues/6798 - tasty-fail-fast - tasty-html # https://github.com/commercialhaskell/stackage/issues/6966