summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarrienG <darrien@glasser.dev>2021-08-01 08:27:47 -0400
committerDarrienG <darrien@glasser.dev>2021-08-01 08:27:47 -0400
commitacd5fe6f0ce9b481a123ad9aed9e5f6cb40bc9e0 (patch)
treed70b6d6dbb8f8ef6ceadfa431c04d1c05638a572
parent10748911ea3677cb4c9ec36e0bf99a8412d794f3 (diff)
Create pipeline for docker builds
-rw-r--r--Dockerfile34
-rwxr-xr-xbuild.linux.sh13
2 files changed, 47 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..2526f05
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,34 @@
+FROM centos:centos8
+
+RUN dnf install -y dnf-plugins-core && \
+ dnf config-manager --set-enabled powertools && \
+ dnf install -y \
+ gcc gtk3 gtk3-devel \
+ libusb libusb-devel \
+ nodejs npm pkg-config \
+ webkit2gtk3 webkit2gtk3-devel wget && \
+ mkdir project && \
+ wget https://golang.org/dl/go1.16.6.linux-amd64.tar.gz -O go.tar.gz
+
+RUN tar -zxf go.tar.gz && \
+ cp -r ./go /usr/local/bin
+
+ENV PATH=$PATH:/usr/local/bin/go/bin
+
+WORKDIR project
+COPY /*.go ./
+COPY /go.mod ./go.mod
+COPY /go.sum ./go.sum
+COPY /frontend ./frontend
+COPY /project.json ./project.json
+COPY /wally ./wally
+
+WORKDIR frontend
+
+RUN npm install && \
+ npm run build
+
+WORKDIR ..
+
+RUN go build -o wally-bin
+ENTRYPOINT ["sleep", "infinity"]
diff --git a/build.linux.sh b/build.linux.sh
new file mode 100755
index 0000000..68c97df
--- /dev/null
+++ b/build.linux.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+
+set -eou pipefail
+
+CONTAINER_NAME="$(uuidgen)"
+
+docker build -t wally .
+docker run --rm -d --name "$CONTAINER_NAME" wally
+
+docker cp $CONTAINER_NAME:/project/wally-bin ./dist/linux64/wally
+
+docker kill --signal SIGKILL "$CONTAINER_NAME"
+