diff --git a/.air.toml b/.air.toml new file mode 100644 index 0000000..18b9c56 --- /dev/null +++ b/.air.toml @@ -0,0 +1,42 @@ +root = "." +testdata_dir = "testdata" +tmp_dir = "tmp" + +[build] + args_bin = [] + bin = "./tmp/main" + cmd = "go build -o ./tmp/main ." + delay = 0 + exclude_dir = ["assets", "tmp", "vendor", "testdata"] + exclude_file = [] + exclude_regex = ["_test.go"] + exclude_unchanged = false + follow_symlink = false + full_bin = "" + include_dir = [] + include_ext = ["go", "tpl", "tmpl", "html"] + include_file = [] + kill_delay = "0s" + log = "build-errors.log" + rerun = false + rerun_delay = 500 + send_interrupt = false + stop_on_error = false + +[color] + app = "" + build = "yellow" + main = "magenta" + runner = "green" + watcher = "cyan" + +[log] + main_only = false + time = false + +[misc] + clean_on_exit = false + +[screen] + clear_on_rebuild = false + keep_scroll = true diff --git a/.goreleaseraur.yaml b/.goreleaseraur.yaml new file mode 100644 index 0000000..d7c6f9b --- /dev/null +++ b/.goreleaseraur.yaml @@ -0,0 +1,117 @@ +# .goreleaser.yaml +aurs: + - + # The package name. + # + # Defaults to the Project Name with a -bin suffix. + # + # Note that since this integration does not create a PKGBUILD to build from + # source, per Arch's guidelines. + # That said, GoReleaser will enforce a `-bin` suffix if its not present. + name: gospt-bin + + # Template of your app's description. + # Default is empty. + description: "Spotify TUI And CLI written in Go" + + # The maintainers of the package. + # Defaults to empty. + maintainers: + - 'abs3nt ' + + # The contributors of the package. + # Defaults to empty. + contributors: + - 'abs3nt 'f + + # SPDX identifier of your app's license. + # Default is empty. + license: "GPL" + + # The SSH private key that should be used to commit to the Git repository. + # This can either be a path or the key contents. + # + # IMPORTANT: the key must not be password-protected. + # + # WARNING: do not expose your private key in the configuration file! + private_key: '{{ .Env.AUR_KEY }}' + + # The AUR Git URL for this package. + # Defaults to empty + # Publish is skipped if empty. + git_url: 'ssh://aur@aur.archlinux.org/gospt-bin.git' + + # Setting this will prevent goreleaser to actually try to commit the updated + # formula - instead, the formula file will be stored on the dist folder only, + # leaving the responsibility of publishing it to the user. + # + # If set to auto, the release will not be uploaded to the AUR repo + # in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1. + # + # Default is false. + skip_upload: false + + # List of additional packages that the software provides the features of. + # + # Defaults to the project name. + provides: + - gospt + + # List of packages that conflict with, or cause problems with the package. + # + # Defaults to the project name. + conflicts: + - gospt + + # List of packages that are not needed for the software to function, + # but provide additional features. + # + # Must be in the format `package: short description of the extra functionality`. + # + # Defaults to empty. + optdepends: + - 'spotifyd: for handling streaming' + + # Custom package instructions. + # + # Defaults to `install -Dm755 "./PROJECT_NAME" "${pkgdir}/usr/bin/PROJECT_NAME", + # which is not always correct. + # + # We recommend you override this, installing the binary, license and + # everything else your package needs. + package: |- + # bin + install -Dm755 "./gospt" "${pkgdir}/usr/bin/gospt" + + # license + install -Dm644 "./LICENSE.md" "${pkgdir}/usr/share/licenses/gospt/LICENSE" + + # completions + mkdir -p "${pkgdir}/usr/share/bash-completion/completions/" + mkdir -p "${pkgdir}/usr/share/zsh/site-functions/" + mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/" + install -Dm644 "./completions/gospt.bash" "${pkgdir}/usr/share/bash-completion/completions/gospt" + install -Dm644 "./completions/gospt.zsh" "${pkgdir}/usr/share/zsh/site-functions/_gospt" + install -Dm644 "./completions/gospt.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/gospt.fish" + + # Git author used to commit to the repository. + # Defaults are shown below. + commit_author: + name: abs3nt + email: abs3nt@asdf.cafe + + # Commit message template. + # Defaults to `Update to {{ .Tag }}`. + commit_msg_template: "pkgbuild updates" + + # If you build for multiple GOAMD64 versions, you may use this to choose which one to use. + # Defaults to `v1`. + goamd64: v2 + + # The value to be passed to `GIT_SSH_COMMAND`. + # This is mainly used to specify the SSH private key used to pull/push to + # the Git URL. + # + # Defaults to `ssh -i {{ .KeyPath }} -o StrictHostKeyChecking=accept-new -F /dev/null`. + git_ssh_command: 'ssh -i {{ .Env.KEY }} -o SomeOption=yes' + diff --git a/.realize.yaml b/.realize.yaml new file mode 100755 index 0000000..7d8d2d7 --- /dev/null +++ b/.realize.yaml @@ -0,0 +1,27 @@ +settings: + files: + errors: + status: false + path: "" + name: .r.logs.log + legacy: + force: false + interval: 100ms +server: + status: true + open: false + port: 5002 + host: "" +schema: +- name: /home/abs3nt/Dev/gospt + path: /home/abs3nt/Dev/gospt + commands: + tidy: + status: true + run: + status: true + watcher: + extensions: + - go + paths: + - / diff --git a/.woodpecker.yml b/.woodpecker.yml index d91094a..3a63988 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -16,3 +16,10 @@ pipeline: secrets: [ gitea_token ] when: event: tag + publish_aur: + image: goreleaser/goreleaser + commands: + - goreleaser release --config .goreleaseraur.yaml + secrets: [ gitea_token ] + when: + event: tag diff --git a/tmp/main b/tmp/main new file mode 100755 index 0000000..5426360 Binary files /dev/null and b/tmp/main differ