mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2024-12-21 06:33:30 +00:00
Correctly integrate Go unit tests with Jenkins
This commit is contained in:
parent
30ce6f77c4
commit
300067febe
@ -32,8 +32,8 @@ RUN chmod +x /app/src/enterContainer.sh \
|
|||||||
&& /app/node_modules/.bin/coffee -c /app/src \
|
&& /app/node_modules/.bin/coffee -c /app/src \
|
||||||
&& ln -sf /app/entry.sh /start # Needed for legacy
|
&& ln -sf /app/entry.sh /start # Needed for legacy
|
||||||
|
|
||||||
RUN mv /app/gosuper/bin/linux_amd64/gosuper /app/gosuper/bin/
|
RUN mv /app/gosuper/bin/linux_amd64/gosuper /app/gosuper/bin/ && \
|
||||||
RUN chmod +x /app/gosuper/bin/gosuper
|
chmod +x /app/gosuper/bin/gosuper
|
||||||
|
|
||||||
ENV SUPERVISOR_IMAGE resin/amd64-supervisor
|
ENV SUPERVISOR_IMAGE resin/amd64-supervisor
|
||||||
ENV CONFIG_MOUNT_POINT /boot/config.json
|
ENV CONFIG_MOUNT_POINT /boot/config.json
|
||||||
|
@ -32,8 +32,8 @@ RUN chmod +x /app/src/enterContainer.sh \
|
|||||||
&& /app/node_modules/.bin/coffee -c /app/src \
|
&& /app/node_modules/.bin/coffee -c /app/src \
|
||||||
&& ln -sf /app/entry.sh /start # Needed for legacy
|
&& ln -sf /app/entry.sh /start # Needed for legacy
|
||||||
|
|
||||||
RUN mv /app/gosuper/bin/linux_arm/gosuper /app/gosuper/bin/
|
RUN mv /app/gosuper/bin/linux_arm/gosuper /app/gosuper/bin/ && \
|
||||||
RUN chmod +x /app/gosuper/bin/gosuper
|
chmod +x /app/gosuper/bin/gosuper
|
||||||
|
|
||||||
ENV SUPERVISOR_IMAGE resin/armv7hf-supervisor
|
ENV SUPERVISOR_IMAGE resin/armv7hf-supervisor
|
||||||
ENV CONFIG_MOUNT_POINT /boot/config.json
|
ENV CONFIG_MOUNT_POINT /boot/config.json
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
FROM golang:1.4.2-cross
|
FROM golang:1.4.2-cross
|
||||||
|
|
||||||
COPY . /usr/src/app/src/resin-supervisor
|
|
||||||
|
|
||||||
ENV GOOS linux
|
ENV GOOS linux
|
||||||
ENV GOPATH /usr/src/app
|
ENV GOPATH /usr/src/app
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
COPY . src/resin-supervisor
|
||||||
|
|
||||||
RUN chmod +x src/resin-supervisor/build_gosuper.sh
|
RUN chmod +x src/resin-supervisor/build_gosuper.sh
|
||||||
|
|
||||||
# Run go install with -a (force rebuilding of all packages)
|
# Run go install with -a (force rebuilding of all packages)
|
||||||
|
@ -32,8 +32,8 @@ RUN chmod +x /app/src/enterContainer.sh \
|
|||||||
&& /app/node_modules/.bin/coffee -c /app/src \
|
&& /app/node_modules/.bin/coffee -c /app/src \
|
||||||
&& ln -sf /app/entry.sh /start # Needed for legacy
|
&& ln -sf /app/entry.sh /start # Needed for legacy
|
||||||
|
|
||||||
RUN mv /app/gosuper/bin/linux_386/gosuper /app/gosuper/bin/
|
RUN mv /app/gosuper/bin/linux_386/gosuper /app/gosuper/bin/ && \
|
||||||
RUN chmod +x /app/gosuper/bin/gosuper
|
chmod +x /app/gosuper/bin/gosuper
|
||||||
|
|
||||||
ENV SUPERVISOR_IMAGE resin/i386-supervisor
|
ENV SUPERVISOR_IMAGE resin/i386-supervisor
|
||||||
ENV CONFIG_MOUNT_POINT /boot/config.json
|
ENV CONFIG_MOUNT_POINT /boot/config.json
|
||||||
|
@ -32,7 +32,7 @@ RUN chmod +x /app/src/enterContainer.sh \
|
|||||||
&& /app/node_modules/.bin/coffee -c /app/src \
|
&& /app/node_modules/.bin/coffee -c /app/src \
|
||||||
&& ln -sf /app/entry.sh /start # Needed for legacy
|
&& ln -sf /app/entry.sh /start # Needed for legacy
|
||||||
|
|
||||||
RUN mv /app/gosuper/bin/linux_arm/gosuper /app/gosuper/bin/
|
RUN mv /app/gosuper/bin/linux_arm/gosuper /app/gosuper/bin/ && \
|
||||||
RUN chmod +x /app/gosuper/bin/gosuper
|
chmod +x /app/gosuper/bin/gosuper
|
||||||
|
|
||||||
CMD ["/app/entry.sh"]
|
CMD ["/app/entry.sh"]
|
||||||
|
5
Makefile
5
Makefile
@ -55,6 +55,9 @@ go-builder:
|
|||||||
|
|
||||||
gosuper: go-builder
|
gosuper: go-builder
|
||||||
-mkdir -p gosuper/bin
|
-mkdir -p gosuper/bin
|
||||||
docker run -v $(shell pwd)/gosuper/bin:/usr/src/app/bin -e GOARCH=$(GOARCH) resin/go-supervisor-builder:$(SUPERVISOR_VERSION)
|
docker run -v $(shell pwd)/gosuper/bin:/usr/src/app/bin -e USER_ID=$(shell id -u) -e GROUP_ID=$(shell id -g) -e GOARCH=$(GOARCH) resin/go-supervisor-builder:$(SUPERVISOR_VERSION)
|
||||||
|
|
||||||
|
test-gosuper: go-builder
|
||||||
|
docker run -v $(shell pwd)/gosuper/bin:/usr/src/app/bin resin/go-supervisor-builder:$(SUPERVISOR_VERSION) bash -c "cd src/resin-supervisor && go test -v ./..."
|
||||||
|
|
||||||
.PHONY: supervisor deploy supervisor-dind run-supervisor
|
.PHONY: supervisor deploy supervisor-dind run-supervisor
|
||||||
|
@ -8,6 +8,9 @@ ESCAPED_BRANCH_NAME=$(echo $sourceBranch | sed 's/[^a-z0-9A-Z_.-]/-/g')
|
|||||||
# Try pulling the old build first for caching purposes.
|
# Try pulling the old build first for caching purposes.
|
||||||
docker pull resin/${ARCH}-supervisor:${ESCAPED_BRANCH_NAME} || docker pull resin/${ARCH}-supervisor:master || true
|
docker pull resin/${ARCH}-supervisor:${ESCAPED_BRANCH_NAME} || docker pull resin/${ARCH}-supervisor:master || true
|
||||||
|
|
||||||
|
# Test the gosuper
|
||||||
|
make SUPERVISOR_VERSION=${VERSION} test-gosuper
|
||||||
|
|
||||||
# Build the images
|
# Build the images
|
||||||
make SUPERVISOR_VERSION=${ESCAPED_BRANCH_NAME} ARCH=${ARCH} DEPLOY_REGISTRY= deploy
|
make SUPERVISOR_VERSION=${ESCAPED_BRANCH_NAME} ARCH=${ARCH} DEPLOY_REGISTRY= deploy
|
||||||
make SUPERVISOR_VERSION=${VERSION} ARCH=${ARCH} DEPLOY_REGISTRY= deploy
|
make SUPERVISOR_VERSION=${VERSION} ARCH=${ARCH} DEPLOY_REGISTRY= deploy
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -e
|
|
||||||
go install -a -v ./...
|
go install -a -v ./...
|
||||||
|
RETURN_VALUE=$?
|
||||||
|
|
||||||
# For consistency, always keep the binary within a linux_$GOARCH folder
|
# For consistency, always keep the binary within a linux_$GOARCH folder
|
||||||
if (( $GOARCH == "amd64" )); then
|
if [ $GOARCH == "amd64" ]; then
|
||||||
mkdir $GOPATH/bin/linux_$GOARCH || true
|
mkdir $GOPATH/bin/linux_$GOARCH || true
|
||||||
cp $GOPATH/bin/gosuper $GOPATH/bin/linux_$GOARCH/
|
cp $GOPATH/bin/gosuper $GOPATH/bin/linux_$GOARCH/
|
||||||
fi
|
fi
|
||||||
chmod -R a+rwx $GOPATH/bin
|
chown -R $USER_ID:$GROUP_ID $GOPATH/bin
|
||||||
|
|
||||||
|
exit $RETURN_VALUE
|
||||||
|
@ -2,7 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"os"
|
"io/ioutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UserConfig struct {
|
type UserConfig struct {
|
||||||
@ -20,19 +20,13 @@ func ReadConfig(path string) (UserConfig, error) {
|
|||||||
|
|
||||||
var config UserConfig
|
var config UserConfig
|
||||||
|
|
||||||
f, err := os.Open(path)
|
data, err := ioutil.ReadFile(path)
|
||||||
if err != nil {
|
|
||||||
return config, err
|
|
||||||
}
|
|
||||||
data := make([]byte, 1000)
|
|
||||||
|
|
||||||
count, err := f.Read(data)
|
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return config, err
|
return config, err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = json.Unmarshal(data[:count], &config)
|
err = json.Unmarshal(data, &config)
|
||||||
|
|
||||||
return config, err
|
return config, err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user