Skip to content

Commit c33da3b

Browse files
committed
refactor: create all builds & make sure they work
1 parent 0eb8da2 commit c33da3b

File tree

10 files changed

+43
-31
lines changed

10 files changed

+43
-31
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.log

build.sh

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,39 +12,45 @@ export \
1212
PUSH_NAMESPACES=makeomatic \
1313
BASE_NAME=makeomatic/node
1414

15+
BRANCH_NAME=${BRANCH_NAME:-$(git branch | grep ^*|cut -d" " -f2)}
16+
echo "working in $BRANCH_NAME"
17+
BRANCH_NAME=$(echo $BRANCH_NAME | sed -e "s/\//-/g")
18+
echo "tagging as $BRANCH_NAME"
19+
1520
# install basic scripts
1621
curl -sSL https://github.com/makeomatic/ci-scripts/raw/master/install.sh | sh -s
17-
git clone https://github.com/docker-library/official-images.git ~/official-images
22+
[ -d ~/official-images ] || git clone https://github.com/docker-library/official-images.git ~/official-images
1823

1924
# add scripts to PATH
2025
export PATH=$PATH:~/ci-scripts
21-
[ ${BRANCH_NAME} == master ] || export variant=${BRANCH_NAME}
26+
27+
# cleanup logs
28+
rm -rf ./*.log
2229

2330
# build base node images that are used further in the project
24-
docker-build -v "${variant}" $BASE_NAME -f node/Dockerfile .
25-
docker-build -v "${variant}-onbuild" $BASE_NAME -f node/Dockerfile.onbuild .
26-
docker-build -v "${variant}-tester" $BASE_NAME -f node/Dockerfile.tester .
27-
docker-build -v "${variant}-tester-glibc" $BASE_NAME -f node/Dockerfile.tester-glibc .
31+
docker-build $BASE_NAME -f node/Dockerfile .
32+
docker-build -v "onbuild" $BASE_NAME -f node/Dockerfile.onbuild .
33+
docker-build -v "tester" $BASE_NAME -f node/Dockerfile.tester .
34+
docker-build -v "tester-glibc" $BASE_NAME -f node/Dockerfile.tester-glibc .
2835
# build node images with ruby
29-
docker-build -v "${variant}-ruby" $BASE_NAME -f node-ruby/Dockerfile .
36+
docker-build -v "ruby" $BASE_NAME -f node-ruby/Dockerfile .
3037
# build node images with ssh embedded
31-
docker-build -v "${variant}-ssh" $BASE_NAME -f node-ssh/Dockerfile .
32-
docker-build -v "${variant}-ssh-onbuild" $BASE_NAME -f node-ssh/Dockerfile.onbuild .
38+
docker-build -v "ssh" $BASE_NAME -f node-ssh/Dockerfile .
39+
docker-build -v "ssh-onbuild" $BASE_NAME -f node-ssh/Dockerfile.onbuild .
3340
# build node images with libvips
34-
docker-build -v "${variant}-vips" $BASE_NAME -f node-vips/Dockerfile .
35-
docker-build -v "${variant}-vips-onbuild" $BASE_NAME -f node-vips/Dockerfile.onbuild .
36-
docker-build -v "${variant}-vips-tester-glibc" $BASE_NAME -f node-vips/Dockerfile.tester-glibc .
41+
docker-build -v "vips" $BASE_NAME -f node-vips/Dockerfile .
42+
docker-build -v "vips-onbuild" $BASE_NAME -f node-vips/Dockerfile.onbuild .
43+
docker-build -v "vips-tester-glibc" $BASE_NAME -f node-vips/Dockerfile.tester-glibc .
3744
# build node images with libvips & ssh
38-
docker-build -v "${variant}-vips-ssh" $BASE_NAME -f node-vips-ssh/Dockerfile .
39-
docker-build -v "${variant}-vips-ssh-onbuild" $BASE_NAME -f node-vips-ssh/Dockerfile.onbuild .
45+
docker-build -v "vips-ssh" $BASE_NAME -f node-vips-ssh/Dockerfile .
46+
docker-build -v "vips-ssh-onbuild" $BASE_NAME -f node-vips-ssh/Dockerfile.onbuild .
4047

4148
# List of newly created images
42-
export images=$(docker images | grep "^$BASE_NAME" | tr -s '[:space:]' | cut -f1,2 -d' ' | sed 's/ /:/')
49+
export images=$(docker images $BASE_NAME | tr -s '[:space:]' | cut -f1,2 -d' ' | sed 's/ /:/')
4350

4451
# we actually need to
4552
# Push to docker when DEPLOY is true
46-
# docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
47-
[ ${BRANCH_NAME} == master ] && for image in $images; do docker push $image; done
53+
[ ${BRANCH_NAME} = master ] && for image in $images; do docker push $image; done
4854

4955
# report
50-
docker images
56+
docker images $BASE_NAME

node-ruby/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ RUN \
2727
echo 'update: --no-document'; \
2828
} >> /usr/local/etc/gemrc \
2929
&& set -ex \
30-
&& apk add --no-cache --update --virtual .builddeps \
30+
&& apk add --no-cache --virtual .builddeps \
3131
bison \
3232
bzip2 \
3333
bzip2-dev \
@@ -75,6 +75,7 @@ RUN \
7575
./configure --disable-install-doc \
7676
&& make -j"$(getconf _NPROCESSORS_ONLN)" \
7777
&& make install \
78+
&& gem update --system $RUBYGEMS_VERSION \
7879
&& cd / \
7980
&& curl -sSL https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}.tar.gz | tar -xz \
8081
&& cd /node-${NODE_VERSION} \
@@ -96,7 +97,6 @@ RUN \
9697
)" \
9798
&& apk add --virtual .rundeps $runDeps \
9899
&& apk del .builddeps \
99-
&& gem update --system $RUBYGEMS_VERSION \
100100
&& rm -rf /node-${NODE_VERSION} \
101101
/usr/src/ruby \
102102
/usr/share/man /tmp/* /root/.npm /root/.node-gyp \

node-ssh/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:6.9.1
1+
FROM makeomatic/node:6.9.1
22

33
# add extra packages
44
RUN \

node-vips-ssh/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
FROM makeomatic/node:6.9.1-vips
22

3-
RUN apk add --no-cache --update --virtual .flavorDeps \
3+
RUN apk add --no-cache --virtual .flavorDeps \
44
openssh \
55
git

node-vips-ssh/Dockerfile.onbuild

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ ONBUILD WORKDIR /src
55
ONBUILD COPY package.json .
66
ONBUILD COPY ./keys/* /tmp/.ssh/
77
ONBUILD RUN \
8-
apk add --no-cache --update --virtual .buildDeps \
8+
apk add --no-cache --virtual .buildDeps \
99
g++ \
1010
make \
11-
vips-dev \
11+
vips-dev@testing \
1212
&& GIT_SSH_COMMAND="ssh -i /tmp/.ssh/id_rsa -F /dev/null" npm install --production \
1313
&& npm dedupe \
1414
&& apk del .buildDeps .flavorDeps \

node-vips/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
FROM makeomatic/node:6.9.1
22

33
# add libvips
4-
RUN apk add --no-cache --update vips
4+
RUN \
5+
echo "@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
6+
&& apk add --no-cache vips@testing

node-vips/Dockerfile.onbuild

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ ONBUILD WORKDIR /src
44

55
ONBUILD COPY package.json .
66
ONBUILD RUN \
7-
apk add --no-cache --update --virtual .flavorDeps \
7+
apk add --no-cache --virtual .flavorDeps \
88
git \
99
g++ \
1010
make \
11-
vips-dev \
11+
vips-dev@testing \
1212
&& npm install --production \
1313
&& npm dedupe \
1414
&& apk del .flavorDeps \

node-vips/Dockerfile.tester-glibc

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ ENV GLIBC_VER 2.23-r3
44

55
# to build native deps
66
RUN \
7-
apk --no-cache add \
7+
apk add --update \
8+
vips-dev@testing \
89
build-base \
910
python \
1011
make \
@@ -13,10 +14,12 @@ RUN \
1314
make \
1415
g++ \
1516
linux-headers \
16-
&& apk add --no-cache libvips-dev --repository http://cdn.matic.ninja/apk/community \
1717
&& printf '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApZ2u1KJKUu/fW4A25y9m\ny70AGEa/J3Wi5ibNVGNn1gT1r0VfgeWd0pUybS4UmcHdiNzxJPgoWQhV2SSW1JYu\ntOqKZF5QSN6X937PTUpNBjUvLtTQ1ve1fp39uf/lEXPpFpOPL88LKnDBgbh7wkCp\nm2KzLVGChf83MS0ShL6G9EQIAUxLm99VpgRjwqTQ/KfzGtpke1wqws4au0Ab4qPY\nKXvMLSPLUp7cfulWvhmZSegr5AdhNw5KNizPqCJT8ZrGvgHypXyiFvvAH5YRtSsc\nZvo9GI2e2MaZyo9/lvb+LbLEJZKEQckqRj4P26gmASrZEPStwc+yqy1ShHLA0j6m\n1QIDAQAB\n-----END PUBLIC KEY-----\n' > /etc/apk/keys/sgerrand.rsa.pub \
1818
&& wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-${GLIBC_VER}.apk \
1919
&& apk add glibc-${GLIBC_VER}.apk \
20-
&& rm glibc-${GLIBC_VER}.apk
20+
&& rm -rf \
21+
glibc-${GLIBC_VER}.apk \
22+
/etc/apk/cache/* \
23+
/var/cache/apk/*
2124

2225
WORKDIR /src

node/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ENV NODE_VERSION=v6.9.1 \
88
NODE_HOME=/usr/local
99

1010
RUN \
11-
apk add --no-cache --update --virtual .node-buildDeps \
11+
apk add --no-cache --virtual .node-buildDeps \
1212
git \
1313
curl \
1414
make \

0 commit comments

Comments
 (0)