diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..b403d3d --- /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/golsky/compare/{{ .PreviousTag }}...{{ .Tag }}) diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml new file mode 100644 index 0000000..e20cc6f --- /dev/null +++ b/.woodpecker/build.yaml @@ -0,0 +1,36 @@ +matrix: + platform: + - linux/amd64 + goversion: + - 1.24 + +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 6d2274c..30b51b2 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # golsky - Conway's game of life written in GO -![Golsky Logo](https://github.com/TLINDEN/golsky/blob/main/.github/assets/golskylogo.png) +![Golsky Logo](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/golskylogo.png) -[![License](https://img.shields.io/badge/license-GPL-blue.svg)](https://github.com/tlinden/golsky/blob/master/LICENSE) -[![Go Report Card](https://goreportcard.com/badge/github.com/tlinden/golsky)](https://goreportcard.com/report/github.com/tlinden/golsky) +[![License](https://img.shields.io/badge/license-GPL-blue.svg)](https://codeberg.org/scip/golsky/blob/master/LICENSE) +[![Go Report Card](https://goreportcard.com/badge/codeberg.org/scip/golsky)](https://goreportcard.com/report/codeberg.org/scip/golsky) I wanted to play around a little bit with [**Conways Game of Life**](https://conwaylife.com/) in golang and here's the result. It's a simple game using @@ -14,15 +14,15 @@ John Conway himself: https://youtu.be/R9Plq-D1gEk?si=yYxs77e9yXxeSNbL Based on: https://youtu.be/FWSR_7kZuYg?si=ix1dmo76D8AmF25F # Screenshots -[![golsky-mainmenu.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-mainmenu.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-mainmenu.png) -[![golsky-options.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-options.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-options.png) -[![golsky-bindings.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-bindings.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-bindings.png) -[![golsky-evolution-trace.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-evolution-trace.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-evolution-trace.png) -[![golsky-zoom.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-zoom.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-zoom.png) -[![golsky-debug.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-debug.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-debug.png) -[![golsky-capture.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-capture.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-capture.png) -[![golsky-captured.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-captured.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-captured.png) -[![golsky-dark-theme.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-dark-theme.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-dark-theme.png) +[![golsky-mainmenu.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-mainmenu.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-mainmenu.png) +[![golsky-options.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-options.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-options.png) +[![golsky-bindings.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-bindings.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-bindings.png) +[![golsky-evolution-trace.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-evolution-trace.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-evolution-trace.png) +[![golsky-zoom.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-zoom.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-zoom.png) +[![golsky-debug.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-debug.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-debug.png) +[![golsky-capture.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-capture.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-capture.png) +[![golsky-captured.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-captured.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-captured.png) +[![golsky-dark-theme.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-dark-theme.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-dark-theme.png) [Youtube video game preview](https://www.youtube.com/watch?v=xEto6Oew16I) @@ -102,7 +102,7 @@ While it runs, there are a couple of commands you can use: # Report bugs -[Please open an issue](https://github.com/TLINDEN/golsky/issues). Thanks! +[Please open an issue](https://codeberg.org/scip/golsky/issues). Thanks! # License diff --git a/TODO.md b/TODO.md index aca5140..f9f3e03 100644 --- a/TODO.md +++ b/TODO.md @@ -11,8 +11,8 @@ - try arche ecs variant with either a component of the cells neighbors or using relations. - https://mattnakama.com/blog/go-branchless-coding/ - add performance measurements, see: - DrawTriangles: https://github.com/TLINDEN/testgol - WritePixels: https://github.com/TLINDEN/testgol/tree/wrpixels + DrawTriangles: https://codeberg.org/scip/testgol + WritePixels: https://codeberg.org/scip/testgol/tree/wrpixels https://www.tasnimzotder.com/blog/optimizing-game-of-life-algorithm - pre-draw the grid separately to a cache grid image, then during rendering, first draw the dead background, then the life cells, and diff --git a/go.mod b/go.mod index 3e54e3a..53d4289 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/tlinden/golsky +module codeberg.org/scip/golsky go 1.22 diff --git a/src/config.go b/src/config.go index 960b11f..dcd994e 100644 --- a/src/config.go +++ b/src/config.go @@ -10,7 +10,7 @@ import ( "strings" "github.com/spf13/pflag" - "github.com/tlinden/golsky/rle" + "codeberg.org/scip/golsky/rle" ) // all the settings comming from commandline, but maybe tweaked later from the UI diff --git a/src/grid.go b/src/grid.go index b1e6098..35de88a 100644 --- a/src/grid.go +++ b/src/grid.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/tlinden/golsky/rle" + "codeberg.org/scip/golsky/rle" ) // equals grid height, is being used to access grid elements and must be global diff --git a/src/play.go b/src/play.go index d5d8d8e..33aaba2 100644 --- a/src/play.go +++ b/src/play.go @@ -10,7 +10,7 @@ import ( "github.com/hajimehoshi/ebiten/v2" "github.com/hajimehoshi/ebiten/v2/inpututil" "github.com/hajimehoshi/ebiten/v2/vector" - "github.com/tlinden/golsky/rle" + "codeberg.org/scip/golsky/rle" "golang.org/x/image/math/f64" )