From a91664c8c2a81645978156c56e4afd197db49f8a Mon Sep 17 00:00:00 2001 From: "T. von Dein" Date: Tue, 16 Dec 2025 20:43:46 +0100 Subject: [PATCH] move to codeberg (#1) --- .goreleaser.yaml | 65 ++++++++++++++++++++++++++++++++++++++++ .woodpecker/build.yaml | 36 ++++++++++++++++++++++ .woodpecker/release.yaml | 15 ++++++++++ Makefile.dist | 18 +++++++++++ README.md | 8 ++--- main.go | 4 +-- 6 files changed, 140 insertions(+), 6 deletions(-) create mode 100644 .goreleaser.yaml create mode 100644 .woodpecker/build.yaml create mode 100644 .woodpecker/release.yaml create mode 100644 Makefile.dist diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..02872f0 --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,65 @@ +# vim: set ts=2 sw=2 tw=0 fo=cnqoj + +version: 2 + +before: + hooks: + - go mod tidy + +gitea_urls: + api: https://codeberg.org/api/v1 + download: https://codeberg.org + +builds: + - env: + - CGO_ENABLED=0 + goos: + - linux + - freebsd + +archives: + - formats: [tar.gz] + # this name template makes the OS and Arch compatible with the results of `uname`. + name_template: >- + {{ .ProjectName }}_ + {{- title .Os }}_ + {{- if eq .Arch "amd64" }}x86_64 + {{- else if eq .Arch "386" }}i386 + {{- else }}{{ .Arch }}{{ end }} + {{- if .Arm }}v{{ .Arm }}{{ end }}_{{ .Tag }} + # use zip for windows archives + format_overrides: + - goos: windows + formats: [zip] + - goos: linux + formats: [tar.gz,binary] + files: + - src: "*.md" + strip_parent: true + - src: Makefile.dist + dst: Makefile + wrap_in_directory: true + +changelog: + sort: asc + filters: + exclude: + - "^docs:" + - "^test:" + groups: + - title: Improved + regexp: '^.*?(feat|add|new)(\([[:word:]]+\))??!?:.+$' + order: 0 + - title: Fixed + regexp: '^.*?(bug|fix)(\([[:word:]]+\))??!?:.+$' + order: 1 + - title: Changed + order: 999 + +release: + header: "# Release Notes" + footer: >- + + --- + + Full Changelog: [{{ .PreviousTag }}...{{ .Tag }}](https://codeberg.org/scip/watson-starship/compare/{{ .PreviousTag }}...{{ .Tag }}) diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml new file mode 100644 index 0000000..8d17f58 --- /dev/null +++ b/.woodpecker/build.yaml @@ -0,0 +1,36 @@ +matrix: + platform: + - linux/amd64 + goversion: + - 1.23 + +labels: + platform: ${platform} + +steps: + build: + when: + event: [push] + image: golang:${goversion} + commands: + - go get + - go build + + linter: + when: + event: [push] + image: golang:${goversion} + commands: + - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.5.0 + - golangci-lint --version + - golangci-lint run ./... + depends_on: [build] + + # test: + # when: + # event: [push] + # image: golang:${goversion} + # commands: + # - go get + # - go test -v -cover + # depends_on: [build,linter] diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml new file mode 100644 index 0000000..916c008 --- /dev/null +++ b/.woodpecker/release.yaml @@ -0,0 +1,15 @@ +# build release + +labels: + platform: linux/amd64 + +steps: + goreleaser: + image: goreleaser/goreleaser + when: + event: [tag] + environment: + GITEA_TOKEN: + from_secret: DEPLOY_TOKEN + commands: + - goreleaser release --clean --verbose diff --git a/Makefile.dist b/Makefile.dist new file mode 100644 index 0000000..55d2f38 --- /dev/null +++ b/Makefile.dist @@ -0,0 +1,18 @@ +# -*-make-*- + +.PHONY: install all + +tool = rpn +PREFIX = /usr/local +UID = root +GID = 0 + +all: + @echo "Type 'sudo make install' to install the tool." + @echo "To change prefix, type 'sudo make install PREFIX=/opt'" + +install: + install -d -o $(UID) -g $(GID) $(PREFIX)/bin + install -d -o $(UID) -g $(GID) $(PREFIX)/share/doc + install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/ + install -o $(UID) -g $(GID) -m 444 *.md $(PREFIX)/share/doc/ diff --git a/README.md b/README.md index a5351fa..7acac09 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ command = "watson status -e | sed -e 's/ ago//' -e 's/ seconds/s/' -e 's/ minute # use perl to parse the status file directly command = 'perl -n -e "if (/start.: (\d+)/) { \$diff = (time - \$1) / 3600; printf \"%.02fh\n\", \$diff; }" < ~/.config/watson/state' -# use bash, date and https://github.com/TLINDEN/rpnc direclty on the status file +# use bash, date and https://codeberg.org/scip/rpnc direclty on the status file command = 'if [[ "$(grep start ~/.config/watson/state)" =~ ([0-9]+) ]]; then echo $(("$(date +%s)" - "${BASH_REMATCH[1]}")) 3600 / | rpn; fi' ``` @@ -32,7 +32,7 @@ You'll need the Golang toolchain for this (version 1.23+). To build: ```shell -git clone https://github.com/TLINDEN/watson-starship.git +git clone https://codeberg.org/scip/watson-starship.git cd watson-starship make make install @@ -57,7 +57,7 @@ best way for me to forget to do something. In order to report a bug, unexpected behavior, feature requests or to submit a patch, please open an issue on github: -https://github.com/TLINDEN/watson-starship/issues. +https://codeberg.org/scip/watson-starship/issues. ## Copyright and license @@ -69,7 +69,7 @@ T.v.Dein ## Project homepage -https://github.com/TLINDEN/watson-starship +https://codeberg.org/scip/watson-starship ## Copyright and License diff --git a/main.go b/main.go index abd57f9..0398491 100644 --- a/main.go +++ b/main.go @@ -36,12 +36,12 @@ func main() { data, err := os.ReadFile(statsfile) if err != nil { - log.Fatalf("Could not read watson stats file: %w", err) + log.Fatalf("Could not read watson stats file: %s", err) } var stats Stats if err = json.Unmarshal(data, &stats); err != nil { - log.Fatalf("Could not unmarshal JSON: %w", err) + log.Fatalf("Could not unmarshal JSON: %s", err) } start := time.Unix(stats.Start, 0)