diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 0000000..da02b82 --- /dev/null +++ b/.github/workflows/go.yml @@ -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 diff --git a/Makefile b/Makefile index 91a2059..09ca206 100644 --- a/Makefile +++ b/Makefile @@ -24,11 +24,12 @@ TEST_IMAGE_TAG=$(REGISTRY_NAME)/$(IMAGE_NAME):test build: CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o _output/s3driver ./cmd/s3driver test: + docker build -t $(FULL_IMAGE_TAG) -f cmd/s3driver/Dockerfile.full . docker build -t $(TEST_IMAGE_TAG) -f test/Dockerfile . 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 $(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 docker push $(IMAGE_TAG) docker push $(FULL_IMAGE_TAG) diff --git a/cmd/s3driver/Dockerfile.full b/cmd/s3driver/Dockerfile.full index e973625..a8da20d 100644 --- a/cmd/s3driver/Dockerfile.full +++ b/cmd/s3driver/Dockerfile.full @@ -41,7 +41,7 @@ COPY --from=s3backer /usr/bin/s3backer /usr/bin/s3backer RUN apt-get update && \ apt-get install -y \ 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/* # install rclone diff --git a/test/Dockerfile b/test/Dockerfile index efe8afb..b50ecfb 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -7,9 +7,10 @@ RUN apt-get update && \ git wget make && \ rm -rf /var/lib/apt/lists/* -RUN wget -q https://golang.org/dl/go1.15.7.linux-amd64.tar.gz && \ - tar -xf go1.15.7.linux-amd64.tar.gz && \ - rm go1.15.7.linux-amd64.tar.gz && \ +ARG GOVERSION=1.16.3 +RUN wget -q https://golang.org/dl/go${GOVERSION}.linux-amd64.tar.gz && \ + tar -xf go${GOVERSION}.linux-amd64.tar.gz && \ + rm go${GOVERSION}.linux-amd64.tar.gz && \ mv go /usr/local ENV GOROOT /usr/local/go