Individual stack.yaml files

This commit is contained in:
Michael Snoyman 2018-08-19 13:48:33 +03:00
parent be570023d6
commit 9cf4a6890e
No known key found for this signature in database
GPG Key ID: A048E8C057E86876
11 changed files with 164 additions and 151 deletions

View File

@ -72,9 +72,9 @@ matrix:
# The Stack builds. We can pass in arbitrary Stack arguments via the ARGS
# variable, such as using --stack-yaml to point to a different file.
- env: BUILD=stack ARGS=""
compiler: ": #stack default"
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
#- env: BUILD=stack ARGS=""
# compiler: ": #stack default"
# addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
#- env: BUILD=stack ARGS="--resolver lts-2"
# compiler: ": #stack 7.8.4"
@ -84,7 +84,7 @@ matrix:
# compiler: ": #stack 7.10.2"
# addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
- env: BUILD=stack ARGS="--resolver lts-6"
- env: BUILD=stack ARGS="--resolver lts-6" STACK_YAML="stack-lts-6.yaml"
compiler: ": #stack 7.10.3"
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
@ -92,27 +92,27 @@ matrix:
# compiler: ": #stack 8.0.1"
# addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
- env: BUILD=stack ARGS="--resolver lts-9"
- env: BUILD=stack ARGS="--resolver lts-9" STACK_YAML="stack-lts-9.yaml"
compiler: ": #stack 8.0.2"
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
- env: BUILD=stack ARGS="--resolver lts-11"
- env: BUILD=stack ARGS="--resolver lts-11" STACK_YAML="stack-lts-11.yaml"
compiler: ": #stack 8.2.2"
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
- env: BUILD=stack ARGS="--resolver lts-12"
- env: BUILD=stack ARGS="--resolver lts-12" STACK_YAML="stack-lts-12.yaml"
compiler: ": #stack 8.4.3"
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
# Nightly builds are allowed to fail
- env: BUILD=stack ARGS="--resolver nightly"
- env: BUILD=stack ARGS="--resolver nightly" STACK_YAML="stack-nightly.yaml"
compiler: ": #stack nightly"
addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
# Build on macOS in addition to Linux
- env: BUILD=stack ARGS=""
compiler: ": #stack default osx"
os: osx
#- env: BUILD=stack ARGS=""
# compiler: ": #stack default osx"
# os: osx
# Travis includes an macOS which is incompatible with GHC 7.8.4
#- env: BUILD=stack ARGS="--resolver lts-2"
@ -123,7 +123,7 @@ matrix:
# compiler: ": #stack 7.10.2 osx"
# os: osx
- env: BUILD=stack ARGS="--resolver lts-6"
- env: BUILD=stack ARGS="--resolver lts-6" STACK_YAML="stack-lts-6.yaml"
compiler: ": #stack 7.10.3 osx"
os: osx
@ -131,15 +131,15 @@ matrix:
# compiler: ": #stack 8.0.1 osx"
# os: osx
- env: BUILD=stack ARGS="--resolver lts-9"
- env: BUILD=stack ARGS="--resolver lts-9" STACK_YAML="stack-lts-9.yaml"
compiler: ": #stack 8.0.2 osx"
os: osx
- env: BUILD=stack ARGS="--resolver lts-11"
- env: BUILD=stack ARGS="--resolver lts-11" STACK_YAML="stack-lts-11.yaml"
compiler: ": #stack 8.2.2 osx"
os: osx
- env: BUILD=stack ARGS="--resolver lts-12"
- env: BUILD=stack ARGS="--resolver lts-12" STACK_YAML="stack-lts-12.yaml"
compiler: ": #stack 8.4.3 osx"
os: osx
@ -149,7 +149,7 @@ matrix:
allow_failures:
- env: BUILD=cabal GHCVER=head CABALVER=head HAPPYVER=1.19.5 ALEXVER=3.1.7
- env: BUILD=stack ARGS="--resolver nightly"
#- env: BUILD=stack ARGS="--resolver nightly"
before_install:
# Using compiler above sets CC to an invalid value, so unset it
@ -169,8 +169,8 @@ before_install:
# brew no longer has fcgi
# brew install fcgi
grep -v wai-handler-fastcgi < stack.yaml > tmp
mv tmp stack.yaml
grep -v wai-handler-fastcgi < $STACK_YAML > tmp
mv tmp $STACK_YAML
else
travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
fi

View File

@ -17,14 +17,14 @@ environment:
TMP: "c:\\tmp"
matrix:
- ARGS: ""
#- ARGS: ""
#- ARGS: "--resolver lts-2"
#- ARGS: "--resolver lts-3"
- ARGS: "--resolver lts-6"
- ARGS: "--stack-yaml stack-lts-6.yaml"
#- ARGS: "--resolver lts-7"
- ARGS: "--resolver lts-9"
- ARGS: "--resolver lts-11"
- ARGS: "--resolver lts-12"
- ARGS: "--stack-yaml stack-lts-9.yaml"
- ARGS: "--stack-yaml stack-lts-11.yaml"
- ARGS: "--stack-yaml stack-lts-12.yaml"
#- ARGS: "--resolver nightly"
test_script:

View File

@ -1,54 +0,0 @@
% WAI-KW.tex
\begin{hcarentry}{WAI}
\label{wai}
\report{Kazu Yamamoto}%05/18
\participants{Michael Snoyman, Greg Weber}
\status{stable}
\makeheader
WAI (Web Application Interface) is an application interface between web
applications and handlers in Haskell. The \texttt{Application} data type is
defined as follows:
\begin{verbatim}
type Application
= Request
-> (Response -> IO ResponseReceived)
-> IO ResponseReceived
\end{verbatim}
That is, a WAI application takes two arguments: a \texttt{Request} and a
function to send a \texttt{Response}. So, the typical behavior of WAI
application is processing a request, generating a response and passing the
response to the function.
Historically speaking, this interface made possible to develop handlers other
than HTTP. The WAI applications can run through FastCGI
(wai-handler-fastcgi), run as stand-alone (wai-handler-webkit), etc. But the
most popular handler is based on HTTP, of course. The major HTTP handler for
WAI is Warp which now provides both HTTP/1.1 and HTTP/2. TLS (warp-tls) is
also available. New transports such as WebSocket (wai-websocket) and Event
Source (wai-extra) can be implemented, too.
It is possible to develop WAI applications directly. For instance, Hoogle and
Mighttpd2 take this way. However, you may want to use web application
frameworks such as Apiary, MFlow, rest, Servant, Scotty, Spock, Yesod, etc.
WAI also provides \texttt{Middleware}:
\begin{verbatim}
type Middleware = Application -> Application
\end{verbatim}
WAI middleware can inspect and transform a request, for example by
automatically gzipping a response or logging a request (wai-extra).
Since the last HCAR, WAI started using Builder of ByteString instead of
Builder of blaze-builder. Because they are identical, no backward
compatibility issue happens.
\FurtherReading
\begin{compactitem}
\item\url{https://groups.google.com/d/forum/haskell-wai}
\end{compactitem}
\end{hcarentry}

View File

@ -1,28 +0,0 @@
% Warp-KW.tex
\begin{hcarentry}[updated]{Warp}
\label{warp}
\report{Kazu Yamamoto}%05/18
\participants{Michael Snoyman}
\status{stable}
\makeheader
Warp is a high performance, easy to deploy HTTP handler for WAI~\cref{wai}.
Its supports both HTTP/1.1 and HTTP/2.
Since the last HCAR, no major changes were made.
\FurtherReading
\begin{compactitem}
\item``Warp: A Haskell Web Server''
\begin{compactitem}
\item the May/June 2011 issue of IEEE Internet Computing
\item Issue page: \url{http://www.computer.org/portal/web/csdl/abs/mags/ic/2011/03/mic201103toc.htm}
\item PDF: \url{http://steve.vinoski.net/pdf/IC-Warp\_a\_Haskell\_Web\_Server.pdf}
\end{compactitem}
\item ``Warp''
\begin{compactitem}
\item The Performance of Open Source Applications
\item HTML: \url{http://www.aosabook.org/en/posa/warp.html}
\end{compactitem}
\end{compactitem}
\end{hcarentry}

View File

@ -1,11 +0,0 @@
./wai
./wai-extra
./warp
./warp-tls
./wai-app-static
./wai-handler-fastcgi
./wai-handler-launch
./wai-websockets
./wai-conduit
./mime-types
./auto-update

28
stack-lts-11.yaml Normal file
View File

@ -0,0 +1,28 @@
resolver: lts-11.21
packages:
- ./auto-update
- ./mime-types
- ./wai
- ./wai-extra
- ./warp
- ./warp-tls
- ./wai-app-static
- ./wai-handler-fastcgi
- ./wai-websockets
- ./wai-conduit
flags:
wai-extra:
build-example: true
extra-deps:
- streaming-commons-0.2.1.0@sha256:163af02944f374f316e35257c1afbffefd2c2852a85a151d1ea0ad22152cf28d,4990
nix:
enable: false
packages:
- fcgi
- zlib
image:
containers:
- base: "fpco/pid1"
name: "yesodweb/warp"
executables:
- warp

26
stack-lts-12.yaml Normal file
View File

@ -0,0 +1,26 @@
resolver: lts-12.6
packages:
- ./auto-update
- ./mime-types
- ./wai
- ./wai-extra
- ./warp
- ./warp-tls
- ./wai-app-static
- ./wai-handler-fastcgi
- ./wai-websockets
- ./wai-conduit
flags:
wai-extra:
build-example: true
nix:
enable: false
packages:
- fcgi
- zlib
image:
containers:
- base: "fpco/pid1"
name: "yesodweb/warp"
executables:
- warp

32
stack-lts-6.yaml Normal file
View File

@ -0,0 +1,32 @@
resolver: lts-6.35
packages:
- ./auto-update
- ./mime-types
- ./wai
- ./wai-extra
- ./warp
- ./warp-tls
- ./wai-app-static
- ./wai-handler-fastcgi
- ./wai-websockets
- ./wai-conduit
extra-deps:
- bsb-http-chunked-0.0.0.2@sha256:0571ef33ec5530104503d32eaf24f2d7c221f350e5fc475a6dd8e84311bc0ca1,1792
- streaming-commons-0.2.1.0@sha256:163af02944f374f316e35257c1afbffefd2c2852a85a151d1ea0ad22152cf28d,4990
- tls-session-manager-0.0.0.2@sha256:e3d3f8a026196df46746a19d3d7d31211b2fca3aefed9074e951b2dcc1b8833c,872
- wai-logger-2.3.2@sha256:7f5dbc72c0753bd3e0e73f8f542d9d159d1d70f8ff3a3ec16d0b74b500534fc6,1572
- gauge-0.2.3@sha256:ce41cb66ebf730a5050181db0338b1a4b3f76ac71331bf5070089bcd4352ff46,3777
- psqueues-0.2.7.0@sha256:189970837d0aae01f48cd2a8aac6ce314191939e118cc0488aee1fb12da1956a,4757
- basement-0.0.7@rev:0
- http-client-0.5.13.1@rev:0
nix:
enable: false
packages:
- fcgi
- zlib
image:
containers:
- base: "fpco/pid1"
name: "yesodweb/warp"
executables:
- warp

28
stack-lts-9.yaml Normal file
View File

@ -0,0 +1,28 @@
resolver: lts-9.21
packages:
- ./auto-update
- ./mime-types
- ./wai
- ./wai-extra
- ./warp
- ./warp-tls
- ./wai-app-static
- ./wai-handler-fastcgi
- ./wai-websockets
- ./wai-conduit
extra-deps:
- bsb-http-chunked-0.0.0.2@sha256:0571ef33ec5530104503d32eaf24f2d7c221f350e5fc475a6dd8e84311bc0ca1,1792
- streaming-commons-0.2.1.0@sha256:163af02944f374f316e35257c1afbffefd2c2852a85a151d1ea0ad22152cf28d,4990
- wai-logger-2.3.2@sha256:7f5dbc72c0753bd3e0e73f8f542d9d159d1d70f8ff3a3ec16d0b74b500534fc6,1572
- http-client-0.5.13.1@rev:0
nix:
enable: false
packages:
- fcgi
- zlib
image:
containers:
- base: "fpco/pid1"
name: "yesodweb/warp"
executables:
- warp

26
stack-nightly.yaml Normal file
View File

@ -0,0 +1,26 @@
resolver: nightly-2018-08-17
packages:
- ./auto-update
- ./mime-types
- ./wai
- ./wai-extra
- ./warp
- ./warp-tls
- ./wai-app-static
- ./wai-handler-fastcgi
- ./wai-websockets
- ./wai-conduit
flags:
wai-extra:
build-example: true
nix:
enable: false
packages:
- fcgi
- zlib
image:
containers:
- base: "fpco/pid1"
name: "yesodweb/warp"
executables:
- warp

View File

@ -1,35 +0,0 @@
resolver: lts-10.0
packages:
- ./auto-update
- ./mime-types
- ./wai
- ./wai-extra
- ./warp
- ./warp-tls
- ./wai-app-static
- ./wai-handler-fastcgi
- ./wai-websockets
- ./wai-conduit
flags:
wai-extra:
build-example: true
extra-deps:
- bsb-http-chunked-0
- tls-session-manager-0.0.0.2
- psqueues-0.2.4.0
- streaming-commons-0.2.0.0
- wai-logger-2.3.2
- http-client-0.5.10
- websockets-0.12.4.0
- binary-0.8.5.1
nix:
enable: false
packages:
- fcgi
- zlib
image:
containers:
- base: "fpco/pid1"
name: "yesodweb/warp"
executables:
- warp

1
stack.yaml Symbolic link
View File

@ -0,0 +1 @@
stack-lts-12.yaml