Merge pull request #115 from marcofranssen/add-ci-job

ci: Add workflow
This commit is contained in:
Chih Yu Wu
2026-01-28 16:22:06 +08:00
committed by GitHub
3 changed files with 75 additions and 8 deletions

19
.github/dependabot.yaml vendored Normal file
View File

@@ -0,0 +1,19 @@
version: 2
updates:
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "weekly"
cooldown:
default-days: 5
semver-major-days: 14
semver-minor-days: 7
semver-patch-days: 2
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
cooldown:
default-days: 7

35
.github/workflows/ci.yaml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: CI
on:
push:
paths:
- '.github/workflows/ci.yaml'
- 'go.*'
- '**/*.go'
- 'Dockerfile'
- 'Makefile'
pull_request:
paths:
- '.github/workflows/ci.yaml'
- 'go.*'
- '**/*.go'
- 'Dockerfile'
- 'Makefile'
jobs:
build:
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
- name: Set up Go
uses: actions/setup-go@v6.1.0
with:
go-version-file: 'go.mod'
- name: Build binary
run: make build

View File

@@ -13,27 +13,40 @@ GOARM?=""
BUILD_ENV=CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) GOARM=$(GOARM) BUILD_ENV=CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) GOARM=$(GOARM)
BUILD_FLAGS="-s -w -extldflags \"-static\"" BUILD_FLAGS="-s -w -extldflags \"-static\""
.PHONY: all clean synology-csi-driver synocli test docker-build .PHONY: all
all: build
all: synology-csi-driver .PHONY: FORCE
FORCE: ;
synology-csi-driver: .PHONY: build
@mkdir -p bin build: bin/synology-csi-driver bin/synocli
$(BUILD_ENV) go build -v -ldflags $(BUILD_FLAGS) -o ./bin/synology-csi-driver ./
bin:
@mkdir -p $@
bin/synology-csi-driver: bin FORCE
@echo "Compiling $@"
@$(BUILD_ENV) go build -v -ldflags $(BUILD_FLAGS) -o $@ ./
.PHONY: docker-build
docker-build: docker-build:
docker build -f Dockerfile -t $(IMAGE_TAG) . docker build -f Dockerfile -t $(IMAGE_TAG) .
.PHONY: docker-build-multiarch
docker-build-multiarch: docker-build-multiarch:
docker buildx build -t $(IMAGE_TAG) --platform linux/amd64,linux/arm/v7,linux/arm64 . --push docker buildx build -t $(IMAGE_TAG) --platform linux/amd64,linux/arm/v7,linux/arm64 . --push
synocli: bin/synocli: bin FORCE
@mkdir -p bin @echo "Compiling $@"
$(BUILD_ENV) go build -v -ldflags $(BUILD_FLAGS) -o ./bin/synocli ./synocli @$(BUILD_ENV) go build -v -ldflags $(BUILD_FLAGS) -o $@ ./synocli
.PHONY: test
test: test:
go clean -testcache go clean -testcache
go test -v ./test/... go test -v ./test/...
.PHONY: clean
clean: clean:
-rm -rf ./bin -rm -rf ./bin