Merge pull request #46 from ctrox/gh-actions

Add github action for build and test
This commit is contained in:
Cyrill Troxler 2021-04-06 20:57:36 +02:00 committed by GitHub
commit ebffbeb54c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 33 additions and 6 deletions

25
.github/workflows/go.yml vendored Normal file
View file

@ -0,0 +1,25 @@
name: Go
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
- name: Build
run: go build -v ./...
- name: Test
run: make test

View file

@ -24,11 +24,12 @@ TEST_IMAGE_TAG=$(REGISTRY_NAME)/$(IMAGE_NAME):test
build: build:
CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o _output/s3driver ./cmd/s3driver CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o _output/s3driver ./cmd/s3driver
test: test:
docker build -t $(FULL_IMAGE_TAG) -f cmd/s3driver/Dockerfile.full .
docker build -t $(TEST_IMAGE_TAG) -f test/Dockerfile . docker build -t $(TEST_IMAGE_TAG) -f test/Dockerfile .
docker run --rm --privileged -v $(PWD):$(PROJECT_DIR) --device /dev/fuse $(TEST_IMAGE_TAG) docker run --rm --privileged -v $(PWD):$(PROJECT_DIR) --device /dev/fuse $(TEST_IMAGE_TAG)
container: build container:
docker build -t $(IMAGE_TAG) -f cmd/s3driver/Dockerfile . docker build -t $(IMAGE_TAG) -f cmd/s3driver/Dockerfile .
docker build -t $(FULL_IMAGE_TAG) --build-arg VERSION=$(VERSION) -f cmd/s3driver/Dockerfile.full . docker build -t $(FULL_IMAGE_TAG) -f cmd/s3driver/Dockerfile.full .
push: container push: container
docker push $(IMAGE_TAG) docker push $(IMAGE_TAG)
docker push $(FULL_IMAGE_TAG) docker push $(FULL_IMAGE_TAG)

View file

@ -41,7 +41,7 @@ COPY --from=s3backer /usr/bin/s3backer /usr/bin/s3backer
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y \ apt-get install -y \
libfuse2 gcc sqlite3 libsqlite3-dev \ libfuse2 gcc sqlite3 libsqlite3-dev \
s3fs psmisc procps libcurl3 xfsprogs curl unzip && \ s3fs psmisc procps libcurl4 xfsprogs curl unzip && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# install rclone # install rclone

View file

@ -7,9 +7,10 @@ RUN apt-get update && \
git wget make && \ git wget make && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
RUN wget -q https://golang.org/dl/go1.15.7.linux-amd64.tar.gz && \ ARG GOVERSION=1.16.3
tar -xf go1.15.7.linux-amd64.tar.gz && \ RUN wget -q https://golang.org/dl/go${GOVERSION}.linux-amd64.tar.gz && \
rm go1.15.7.linux-amd64.tar.gz && \ tar -xf go${GOVERSION}.linux-amd64.tar.gz && \
rm go${GOVERSION}.linux-amd64.tar.gz && \
mv go /usr/local mv go /usr/local
ENV GOROOT /usr/local/go ENV GOROOT /usr/local/go