diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 99f12d2..0000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: "gomod"
- directory: "/"
- schedule:
- interval: "monthly"
- - package-ecosystem: "github-actions"
- directory: "/"
- schedule:
- interval: "monthly"
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
deleted file mode 100644
index 9cb62f1..0000000
--- a/.github/workflows/ci.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-name: build-and-test
-on: [push]
-jobs:
- build:
- strategy:
- matrix:
- version: [1.23.5]
- os: [ubuntu-latest, windows-latest, macos-latest]
- name: Build
- runs-on: ${{ matrix.os }}
- steps:
- - name: Set up Go ${{ matrix.os }}
- uses: actions/setup-go@v6
- with:
- go-version: '${{ matrix.version }}'
- id: go
-
- - name: checkout
- uses: actions/checkout@v5
-
- - name: build
- run: go build
-
- - name: test
- run: make test
-
- golangci:
- name: lint
- runs-on: ubuntu-latest
- steps:
- - uses: actions/setup-go@v6
- with:
- go-version: 1.23
- - uses: actions/checkout@v5
- - name: golangci-lint
- uses: golangci/golangci-lint-action@v8
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
deleted file mode 100644
index 61125cf..0000000
--- a/.github/workflows/release.yaml
+++ /dev/null
@@ -1,87 +0,0 @@
-name: build-release
-on:
- push:
- tags:
- - "v*.*.*"
-
-jobs:
- release:
- name: Build Release Assets
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v5
-
- - name: Set up Go
- uses: actions/setup-go@v6
- with:
- go-version: 1.23.5
-
- - name: Build the executables
- run: ./mkrel.sh ts ${{ github.ref_name}}
-
- - name: List the executables
- run: ls -l ./releases
-
- - name: Upload the binaries
- uses: svenstaro/upload-release-action@v2
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- tag: ${{ github.ref_name }}
- file: ./releases/*
- file_glob: true
-
- - name: Build Changelog
- id: github_release
- uses: mikepenz/release-changelog-builder-action@v5
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- mode: "PR"
- configurationJson: |
- {
- "template": "#{{CHANGELOG}}\n\n**Full Changelog**: #{{RELEASE_DIFF}}",
- "pr_template": "- #{{TITLE}} (##{{NUMBER}}) by #{{AUTHOR}}\n#{{BODY}}",
- "empty_template": "- no changes",
- "categories": [
- {
- "title": "## New Features",
- "labels": ["add", "feature"]
- },
- {
- "title": "## Bug Fixes",
- "labels": ["fix", "bug", "revert"]
- },
- {
- "title": "## Documentation Enhancements",
- "labels": ["doc"]
- },
- {
- "title": "## Refactoring Efforts",
- "labels": ["refactor"]
- },
- {
- "title": "## Miscellaneus Changes",
- "labels": []
- }
- ],
- "ignore_labels": [
- "duplicate", "good first issue", "help wanted", "invalid", "question", "wontfix"
- ],
- "label_extractor": [
- {
- "pattern": "(.) (.+)",
- "target": "$1"
- },
- {
- "pattern": "(.) (.+)",
- "target": "$1",
- "on_property": "title"
- }
- ]
- }
-
- - name: Create Release
- uses: softprops/action-gh-release@v2
- with:
- body: ${{steps.github_release.outputs.changelog}}
diff --git a/.goreleaser.yaml b/.goreleaser.yaml
new file mode 100644
index 0000000..5d45105
--- /dev/null
+++ b/.goreleaser.yaml
@@ -0,0 +1,69 @@
+# 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
+ - windows
+ - darwin
+ - 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: "docs/*"
+ 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/ts/compare/{{ .PreviousTag }}...{{ .Tag }})
diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml
new file mode 100644
index 0000000..d370fc9
--- /dev/null
+++ b/.woodpecker/build.yaml
@@ -0,0 +1,27 @@
+matrix:
+ platform:
+ - linux/amd64
+ goversion:
+ - 1.24
+
+labels:
+ platform: ${platform}
+
+steps:
+ build:
+ when:
+ event: [push]
+ image: golang:${goversion}
+ commands:
+ - go get
+ - go build
+ - go test
+
+ 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 ./...
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..2e52e13
--- /dev/null
+++ b/Makefile.dist
@@ -0,0 +1,18 @@
+# -*-make-*-
+
+.PHONY: install all
+
+tool = ts
+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 1904e71..4b66673 100644
--- a/README.md
+++ b/README.md
@@ -155,7 +155,7 @@ your platform from the releases page and you're good to go.
### Installation using a pre-compiled binary
-Go to the [latest release page](https://github.com/TLINDEN/ts/releases/latest)
+Go to the [latest release page](https://codeberg.org/scip/ts/releases/latest)
and look for your OS and platform. There are two options to install the binary:
Directly download the binary for your platform,
@@ -196,7 +196,7 @@ install`.
# Report bugs
-[Please open an issue](https://github.com/TLINDEN/ts/issues). Thanks!
+[Please open an issue](https://codeberg.org/scip/ts/issues). Thanks!
# License
diff --git a/go.mod b/go.mod
index 6392998..9f958dc 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/tlinden/ts
+module codeberg.org/scip/ts
go 1.23.0
diff --git a/main.go b/main.go
index 0680f66..fdb6a35 100644
--- a/main.go
+++ b/main.go
@@ -20,7 +20,7 @@ package main
import (
"os"
- "github.com/tlinden/ts/cmd"
+ "codeberg.org/scip/ts/cmd"
)
func main() {
diff --git a/mkrel.sh b/mkrel.sh
deleted file mode 100755
index 6207d71..0000000
--- a/mkrel.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/bash
-
-# Copyright © 2024 Thomas von Dein
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-
-
-# get list with: go tool dist list
-DIST="darwin/amd64
-freebsd/amd64
-linux/amd64
-windows/amd64
-freebsd/arm64
-linux/arm64"
-
-tool="$1"
-version="$2"
-
-if test -z "$version"; then
- echo "Usage: $0 "
- exit 1
-fi
-
-rm -rf releases
-mkdir -p releases
-
-
-for D in $DIST; do
- os=${D/\/*/}
- arch=${D/*\//}
- binfile="releases/${tool}-${os}-${arch}-${version}"
-
- if test "$os" = "windows"; then
- binfile="${binfile}.exe"
- fi
-
- tardir="${tool}-${os}-${arch}-${version}"
- tarfile="releases/${tool}-${os}-${arch}-${version}.tar.gz"
- set -x
- GOOS=${os} GOARCH=${arch} go build -tags osusergo,netgo -ldflags "-extldflags=-static" -o ${binfile}
- mkdir -p ${tardir}
- cp ${binfile} README.md LICENSE ${tardir}/
- echo 'tool = ts
-PREFIX = /usr/local
-UID = root
-GID = 0
-
-install:
- install -d -o $(UID) -g $(GID) $(PREFIX)/bin
- install -d -o $(UID) -g $(GID) $(PREFIX)/man/man1
- install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/
- install -o $(UID) -g $(GID) -m 444 $(tool).1 $(PREFIX)/man/man1/' > ${tardir}/Makefile
- tar cpzf ${tarfile} ${tardir}
- sha256sum ${binfile} | cut -d' ' -f1 > ${binfile}.sha256
- sha256sum ${tarfile} | cut -d' ' -f1 > ${tarfile}.sha256
- rm -rf ${tardir}
- set +x
-done
-