Skip to content

Commit fd9a970

Browse files
author
Everett Hildenbrandt
committed
Dockerfile, Jenkinsfile: testing based on Jenkinsfile
1 parent 1b518a9 commit fd9a970

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

Dockerfile

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
FROM ubuntu:bionic
2+
3+
ENV TZ=America/Chicago
4+
RUN ln --symbolic --no-dereference --force /usr/share/zoneinfo/$TZ /etc/localtime \
5+
&& echo $TZ > /etc/timezone
6+
7+
RUN apt update && apt upgrade --yes
8+
9+
RUN apt install --yes \
10+
autoconf curl flex gcc libffi-dev libmpfr-dev libtool make maven \
11+
opam openjdk-8-jdk pandoc pkg-config python3 python-pygments \
12+
python-recommonmark python-sphinx time zlib1g-dev
13+
14+
RUN update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
15+
16+
RUN curl -sSL https://get.haskellstack.org/ | sh
17+
18+
RUN git clone 'https://github.com/z3prover/z3' --branch=z3-4.6.0 \
19+
&& cd z3 \
20+
&& python scripts/mk_make.py \
21+
&& cd build \
22+
&& make -j8 \
23+
&& make install \
24+
&& cd ../.. \
25+
&& rm -rf z3
26+
27+
ARG USER_ID=1000
28+
ARG GROUP_ID=1000
29+
RUN groupadd --gid $GROUP_ID user \
30+
&& useradd --create-home --uid $USER_ID --shell /bin/sh --gid user user
31+
32+
USER $USER_ID:$GROUP_ID
33+
34+
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain 1.28.0
35+
36+
ADD .build/k/k-distribution/src/main/scripts/bin/k-configure-opam-dev .build/k/k-distribution/src/main/scripts/bin/k-configure-opam-common /home/user/.tmp-opam/bin/
37+
ADD .build/k/k-distribution/src/main/scripts/lib/opam /home/user/.tmp-opam/lib/opam/
38+
RUN cd /home/user \
39+
&& ./.tmp-opam/bin/k-configure-opam-dev

Jenkinsfile

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
pipeline {
2+
agent {
3+
dockerfile {
4+
additionalBuildArgs '--build-arg USER_ID=$(id -u) --build-arg GROUP_ID=$(id -g)'
5+
}
6+
}
7+
stages {
8+
stage("Init title") {
9+
when { changeRequest() }
10+
steps {
11+
script {
12+
currentBuild.displayName = "PR ${env.CHANGE_ID}: ${env.CHANGE_TITLE}"
13+
}
14+
}
15+
}
16+
stage('Build') {
17+
steps {
18+
ansiColor('xterm') {
19+
sh '''
20+
export PATH=$HOME/.local/bin:$PATH
21+
make clean
22+
make deps
23+
make build -j2
24+
'''
25+
}
26+
}
27+
}
28+
stage('Test') {
29+
steps {
30+
ansiColor('xterm') {
31+
sh '''
32+
export PATH=$HOME/.local/bin:$PATH
33+
make test -j6
34+
'''
35+
}
36+
}
37+
}
38+
}
39+
}

0 commit comments

Comments
 (0)