add CI files
add makefile add fpm conf
This commit is contained in:
parent
57527983c1
commit
87e76093a5
8 changed files with 155 additions and 1 deletions
6
.fpm
Normal file
6
.fpm
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
-s dir
|
||||||
|
--name i3-wallpaper-manager
|
||||||
|
--license agpl3
|
||||||
|
--description "Wallpaper manager for i3"
|
||||||
|
--url "https://gitnet.fr/deblan/i3-wallpaper-manager"
|
||||||
|
--maintainer "Simon Vieille <contact+i3wallpapermanager@deblan.fr>"
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,2 +1,3 @@
|
||||||
/i3-wallpaper-manager
|
/i3-wallpaper-manager
|
||||||
/config.yaml
|
/config.yaml
|
||||||
|
/build
|
||||||
|
|
|
||||||
54
.woodpecker/build.yml
Normal file
54
.woodpecker/build.yml
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
when:
|
||||||
|
- event: [pull_request, tag]
|
||||||
|
- event: push
|
||||||
|
branch:
|
||||||
|
- ${CI_REPO_DEFAULT_BRANCH}
|
||||||
|
- develop
|
||||||
|
- feature/*
|
||||||
|
- release/*
|
||||||
|
- renovate/*
|
||||||
|
|
||||||
|
variables:
|
||||||
|
- &golang_image 'golang:1.22'
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- test
|
||||||
|
|
||||||
|
steps:
|
||||||
|
"Add vendor":
|
||||||
|
image: *golang_image
|
||||||
|
commands:
|
||||||
|
- go mod vendor
|
||||||
|
|
||||||
|
"Run build":
|
||||||
|
image: *golang_image
|
||||||
|
commands:
|
||||||
|
- make
|
||||||
|
|
||||||
|
"Test packaging":
|
||||||
|
image: deblan/fpm-packager
|
||||||
|
commands:
|
||||||
|
- VERSION=test
|
||||||
|
- ./bin/build-debs.sh "$VERSION"
|
||||||
|
- ./bin/rename-builds.sh "$VERSION"
|
||||||
|
when:
|
||||||
|
event: [push, pull_request]
|
||||||
|
|
||||||
|
"Create packages":
|
||||||
|
image: deblan/fpm-packager
|
||||||
|
commands:
|
||||||
|
- VERSION=${CI_COMMIT_TAG/v//}
|
||||||
|
- ./bin/build-debs.sh "$VERSION"
|
||||||
|
- ./bin/rename-builds.sh "$VERSION"
|
||||||
|
when:
|
||||||
|
event: [tag]
|
||||||
|
|
||||||
|
"Publish":
|
||||||
|
image: plugins/gitea-release
|
||||||
|
settings:
|
||||||
|
api_key:
|
||||||
|
from_secret: gitnet_api_key
|
||||||
|
base_url: https://gitnet.fr
|
||||||
|
files: ./build/*
|
||||||
|
when:
|
||||||
|
event: [tag]
|
||||||
15
.woodpecker/test.yml
Normal file
15
.woodpecker/test.yml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
when:
|
||||||
|
- event: [pull_request, tag]
|
||||||
|
- event: push
|
||||||
|
branch:
|
||||||
|
- ${CI_REPO_DEFAULT_BRANCH}
|
||||||
|
- develop
|
||||||
|
- feature/*
|
||||||
|
- release/*
|
||||||
|
- renovate/*
|
||||||
|
|
||||||
|
steps:
|
||||||
|
"Check sehll scripts":
|
||||||
|
image: pipelinecomponents/shellcheck
|
||||||
|
commands:
|
||||||
|
- shellcheck ./bin/*.sh
|
||||||
56
Makefile
Normal file
56
Makefile
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
CGO_ENABLED = 0
|
||||||
|
DIR = ./build
|
||||||
|
|
||||||
|
GO_ARCH_AMD = amd64
|
||||||
|
GO_ARCH_ARM = arm64
|
||||||
|
|
||||||
|
GO_OS_WIN = windows
|
||||||
|
GO_OS_DARWIN = darwin
|
||||||
|
GO_OS_LINUX = linux
|
||||||
|
|
||||||
|
EXECUTABLE = i3-wallpaper-manager
|
||||||
|
|
||||||
|
BIN_LINUX_AMD64 = $(DIR)/$(EXECUTABLE)-linux-$(GO_ARCH_AMD)
|
||||||
|
BIN_LINUX_ARM64 = $(DIR)/$(EXECUTABLE)-linux-$(GO_ARCH_ARM)
|
||||||
|
|
||||||
|
CC = go build
|
||||||
|
CFLAGS = -trimpath
|
||||||
|
LDFLAGS = all=-w -s
|
||||||
|
GCFLAGS = all=
|
||||||
|
ASMFLAGS = all=
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: linux
|
||||||
|
|
||||||
|
.PHONY: linux
|
||||||
|
linux: $(BIN_LINUX_AMD64) $(BIN_LINUX_ARM64)
|
||||||
|
chmod +x $(BIN_LINUX_ARM64)
|
||||||
|
chmod +x $(BIN_LINUX_AMD64)
|
||||||
|
|
||||||
|
.PHONY: $(BIN_LINUX_AMD64)
|
||||||
|
$(BIN_LINUX_AMD64):
|
||||||
|
GO111MODULE=$(GOMOD) \
|
||||||
|
GOARCH=$(GO_ARCH_AMD) \
|
||||||
|
GOOS=$(GO_OS_LINUX) \
|
||||||
|
CGO_ENABLED=$(CGO_ENABLED) \
|
||||||
|
$(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" \
|
||||||
|
-o $(BIN_LINUX_AMD64) .
|
||||||
|
|
||||||
|
.PHONY: $(BIN_LINUX_ARM64)
|
||||||
|
$(BIN_LINUX_ARM64):
|
||||||
|
GO111MODULE=$(GOMOD) \
|
||||||
|
GOARCH=$(GO_ARCH_ARM) \
|
||||||
|
GOOS=$(GO_OS_LINUX) \
|
||||||
|
CGO_ENABLED=$(CGO_ENABLED) \
|
||||||
|
$(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" \
|
||||||
|
-o $(BIN_LINUX_ARM64) .
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
rm -rf $(DIR)/*
|
||||||
|
|
||||||
|
tool-gofumpt:
|
||||||
|
which golangci-lint > /dev/null 2>&1 || go install mvdan.cc/gofumpt@latest
|
||||||
|
|
||||||
|
fmt: tool-gofumpt
|
||||||
|
gofumpt -w --extra .
|
||||||
11
bin/build-debs.sh
Executable file
11
bin/build-debs.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
VERSION="$1"
|
||||||
|
|
||||||
|
for ARCH in amd64 arm64; do
|
||||||
|
fpm -t deb -p "build/i3-wallpaper-manager-$VERSION-$ARCH.deb" \
|
||||||
|
--architecture $ARCH --version "$VERSION" \
|
||||||
|
"build/i3-wallpaper-manager-linux-$ARCH=/usr/bin/i3wp" \
|
||||||
|
done
|
||||||
11
bin/rename-builds.sh
Executable file
11
bin/rename-builds.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
VERSION="$1"
|
||||||
|
|
||||||
|
for ARCH in amd64 arm64; do
|
||||||
|
mv -v \
|
||||||
|
"build/i3-wallpaper-manager-linux-${ARCH}" \
|
||||||
|
"build/i3-wallpaper-manager-${VERSION}-linux-${ARCH}"
|
||||||
|
done
|
||||||
2
main.go
2
main.go
|
|
@ -66,7 +66,7 @@ func main() {
|
||||||
|
|
||||||
cmd := exec.Command("feh", args...)
|
cmd := exec.Command("feh", args...)
|
||||||
cmd.Env = os.Environ()
|
cmd.Env = os.Environ()
|
||||||
log.Printf("[DEBUG] %s", cmd.String())
|
log.Printf("[UPDATE] %s", cmd.String())
|
||||||
|
|
||||||
if err := cmd.Run(); err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
log.Printf("[ERROR] %s", err.Error())
|
log.Printf("[ERROR] %s", err.Error())
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue