sc-build/README.md

65 lines
1.2 KiB
Markdown
Raw Normal View History

2020-02-24 15:23:20 +03:00
# sc-build
Need both manual weebohook and app.
Installation id needs to be configured manually.
2020-02-24 16:21:09 +03:00
## Usage
You want to have some predefined docker container with maximum dependencies cached.
Exmaple:
```dockerfile
FROM fpco/stack-build:lts-14.27
RUN stack update
RUN stack build tasty tasty-hspec aeson containers bytestring
WORKDIR /
```
You need to build that container and git it a name:
```bash
docker build -t fast-lts-14.27 - < FastDockerFile
```
After that you can use it in your `tasks.yaml`:
```yaml
test-task:
prebuild: |
cp -f ../../test-task/package.yaml .
cp -f ../../test-task/stack.yaml .
cp -f -R ../../test-task/test .
dockerfile: |
FROM fast-lts-14.27
COPY . src
WORKDIR /src
ENTRYPOINT stack test --fast
timeoutMinutes: 10
```
The docker container is expected to write json to stdout, conating test results:
```json
{
"test1": true,
"test2": false
}
```
2020-02-24 15:23:20 +03:00
For macos docker API:
```bash
socat TCP-LISTEN:1234,range=127.0.0.1/32,reuseaddr,fork UNIX-CLIENT:/var/run/docker.sock
```
or this (didn't work for me):
```bash
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 127.0.0.1:2357:1234 bobrik/socat TCP-LISTEN:1234,fork UNIX-CONNECT:/var/run/docker.sock
```