Skip to content

Commit

Permalink
migration from nxadm/raku-blin-docker
Browse files Browse the repository at this point in the history
  • Loading branch information
nxadm committed Nov 4, 2019
1 parent debe676 commit 0d09f2e
Show file tree
Hide file tree
Showing 9 changed files with 142 additions and 84 deletions.
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
.dockerignore
.git/
.gitignore
Dockerfile
LICENSE
6 changes: 6 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
language: generic
sudo: required
services:
- docker
script:
- docker build -t rakudo/blin:latest -f docker/Dockerfile .
83 changes: 0 additions & 83 deletions Dockerfile

This file was deleted.

6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,9 @@ installs. ☠⚠**
See `output/overview` file for a basic overview of results. More
details for specific modules can be found in `installed/`
directory. Betters ways to view the data should come soon (hopefully).

### Docker

For info about the Docker image, have a look at the
[Readme file ](docker/README.md) in the docker directory.

26 changes: 26 additions & 0 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Run with a volume mounted as /Blin/output, e.g:
# docker run -ti -v /var/tmp/blin:/Blin/output ...
#
# The image takes the same parameters as blin.p6, e.g.:
# docker run -ti -v /var/tmp/blin:/Blin/output nxadm:blin SomeModuleHere AnotherModuleHere
FROM debian:buster-slim
LABEL maintainer="Claudio Ramirez <pub.claudio@gmail.com>"

COPY . /Blin/
ENV LANG='C.UTF-8'
ENV DEBIAN_FRONTEND='noninteractive'
ENV TZ='Europe/Brussels'
ENV pkgs_first="gpg ca-certificates"
ENV PATH="/opt/rakudo-pkg/bin:/opt/rakudo-pkg/share/perl6/bin:/mnt/bin:${PATH}"
ENV PERL6LIB="/mnt/lib"

RUN apt-get update && apt-get install -y $pkgs_first && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 379CE192D401AB61 && \
echo "deb https://dl.bintray.com/nxadm/rakudo-pkg-debs buster main" > \
/etc/apt/sources.list.d/rakudo-pkg.list
RUN mkdir -p /usr/share/man/man1 && apt-get update && set -xv ;\
apt-get install -y $(cat /Blin/docker/pkg-dependencies |grep -v '^#')
RUN echo " StrictHostKeyChecking no" >> /etc/ssh/ssh_config
RUN cd /Blin && zef install --verbose --deps-only .

ENTRYPOINT [ "/Blin/docker/entrypoint.sh" ]
37 changes: 37 additions & 0 deletions docker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Blin Docker image

The `dblin` script wraps the docker commands. It taks the same parameters as
`blin.p6`

```
$ ./dblin SomeModuleHere AnotherModuleHere
$ ./dblin -old=2018.06 --new=2018.09 Foo::Regressed Foo::Regressed::Very Foo::Dependencies::B-on-A
$ ./dblin
```

Depending on the local docker configuration, `sudo` may be needed. In the
container the Blin directory is copies to /mnt where the outside volume is
mounted. `dblin` uses the volume '/var/tmp/Blin-volume'.

Images will be automatically built from the `master` branch with the "latest"
tag. If you want to test changes, use the `rc` branch. Images will be
automatically created with the "rc" tag:

```
rakudo/blin:latest
rakudo/blin:rc
```

Add new binary dependencies to the image by adding them to
[pkg-dependencies](pkg-dependencies).

The `rakudo/blin` image in the [Docker Hub](https://cloud.docker.com) is
automatically built from this repo. Master commits are tagged as "latest",
git tags in the form of `/^v(\d+\.\d+\.\d+)$/` are used as Docker tags with
the `v` prefix excluded, e.g:

```
master: rakudo/blin:latest
tag v1.0.1: rakudo/blin:1.0.1
```
3 changes: 3 additions & 0 deletions docker/dblin
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash
docker pull rakudo/blin
docker run -ti -v /var/tmp/Blin-volume:/mnt rakudo/blin $@
5 changes: 5 additions & 0 deletions docker/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash -e
echo "Running Blin with parameters: $@"
cp -r /Blin/* /mnt
cd /mnt
bin/blin.p6 $@
59 changes: 59 additions & 0 deletions docker/pkg-dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
build-essential
curl
default-jre
fonts-dejavu-core
g++
git
golang-toml-dev
graphviz
libarchive13
libbrotli-dev
libcairo2-dev
libcmark0
libcurl4
libcurl4-openssl-dev
libexif12
libfann-dev
libfreetype6
libgdbm-dev
libgd-dev
libgit2-dev
libglfw3
libgtk-3-dev
libgumbo-dev
libidn11-dev
libidn2-dev
libimage-magick-perl
libimlib2-dev
liblmdb-dev
libmagickwand-dev
libmarkdown2-dev
libmp3lame0
libmsgpack-dev
libnotify4
libnotmuch-dev
libodbc1
libogg-dev
libopencv-dev
libperl-dev
libprimesieve-dev
libqrencode4
libreadline7
libsdl1.2-dev
libsdl-image1.2-dev
libsdl-mixer1.2-dev
libshout3
libsnappy-dev
libssh-dev
libssl-dev
libtagc0-dev
libtcc-dev
libusb-dev
libvorbis-dev
libyaml-dev
libzmq3-dev
lrzip
python3-jupyter-core
python-jupyter-core
rakudo-pkg
zstd

0 comments on commit 0d09f2e

Please sign in to comment.