mirror of
https://github.com/navidrome/navidrome.git
synced 2025-12-23 23:18:05 -05:00
* Adding environmental variable so that navidrome can detect if its running as an MSI install for insights * Renaming to be ND_PACKAGE_TYPE so we can reuse this for the .deb/.rpm stats as well * Packaged implies a bool, this is a description so it should be packaging or just package imo * wixl currently doesn't support <Environment> so I'm swapping out to a file next-door to the configuration file, we should be able to reuse this for deb/rpm as well * Using a file we should be able to add support for linux like this also * MSI should copy the package into place for us, it's not a KeyPath as older versions won't have it, so it's presence doesn't indicate the installed status of the package * OK this doesn't exist, need to find another way to do it * package to .package and moving to the datadir * fix(scanner): better log message when AutoImportPlaylists is disabled Fix #3861 Signed-off-by: Deluan <deluan@navidrome.org> * fix(scanner): support ID3v2 embedded images in WAV files Fix #3867 Signed-off-by: Deluan <deluan@navidrome.org> * feat(ui): show bitDepth in song info dialog Signed-off-by: Deluan <deluan@navidrome.org> * fix(server): don't break if the ND_CONFIGFILE does not exist Signed-off-by: Deluan <deluan@navidrome.org> * feat(docker): automatically loads a navidrome.toml file from /data, if available Signed-off-by: Deluan <deluan@navidrome.org> * feat(server): custom ArtistJoiner config (#3873) * feat(server): custom ArtistJoiner config Signed-off-by: Deluan <deluan@navidrome.org> * refactor(ui): organize ArtistLinkField, add tests Signed-off-by: Deluan <deluan@navidrome.org> * feat(ui): use display artist * feat(ui): use display artist Signed-off-by: Deluan <deluan@navidrome.org> --------- Signed-off-by: Deluan <deluan@navidrome.org> * chore: remove some BFR-related TODOs that are not valid anymore Signed-off-by: Deluan <deluan@navidrome.org> * chore: remove more outdated TODOs Signed-off-by: Deluan <deluan@navidrome.org> * fix(scanner): elapsed time for folder processing is wrong in the logs Signed-off-by: Deluan <deluan@navidrome.org> * Should be able to reuse this mechanism with deb and rpm, I think it would be nice to know which specific one it is without guessing based on /etc/debian_version or something; but it doesn't look like that is exposed by goreleaser into an env or anything :/ * Need to reference the installed file and I think Id's don't require [] * Need to add into the root directory for this to work * That was not deliberately removed * feat: add RPM and DEB package configuration files for Navidrome Signed-off-by: Deluan <deluan@navidrome.org> * Don't need this as goreleaser will sort it out --------- Signed-off-by: Deluan <deluan@navidrome.org> Co-authored-by: Deluan Quintão <deluan@navidrome.org>
155 lines
4.4 KiB
YAML
155 lines
4.4 KiB
YAML
# GoReleaser config
|
|
project_name: navidrome
|
|
version: 2
|
|
|
|
builds:
|
|
- id: navidrome
|
|
# Instead of compiling the binary with goreleaser, we just copy it from `binaries` folder
|
|
# This is because we need to compile the binaries with our Dockerfile, and to avoid having to
|
|
# compile it twice, we just copy the docker build output. The xxgo script handles this for us
|
|
tool: "./release/xxgo"
|
|
|
|
# All available targets compiled by the Dockerfile
|
|
targets:
|
|
- darwin_amd64
|
|
- darwin_arm64
|
|
- linux_386
|
|
- linux_amd64
|
|
- linux_arm_v5
|
|
- linux_arm_v6
|
|
- linux_arm_v7
|
|
- linux_arm64
|
|
- windows_386
|
|
- windows_amd64
|
|
|
|
archives:
|
|
- format_overrides:
|
|
- goos: windows
|
|
formats:
|
|
- zip
|
|
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
|
|
|
|
checksum:
|
|
name_template: "{{ .ProjectName }}_checksums.txt"
|
|
|
|
snapshot:
|
|
version_template: "{{ .Version }}-SNAPSHOT"
|
|
|
|
nfpms:
|
|
- id: navidrome
|
|
package_name: navidrome
|
|
file_name_template: '{{ .PackageName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
|
|
|
|
homepage: https://navidrome.org
|
|
description: |-
|
|
🎧☁ Your Personal Streaming Service
|
|
|
|
maintainer: Deluan Quintão <deluan at navidrome.org>
|
|
|
|
license: GPL-3.0
|
|
formats:
|
|
- deb
|
|
- rpm
|
|
|
|
dependencies:
|
|
- ffmpeg
|
|
|
|
suggests:
|
|
- mpv
|
|
|
|
overrides:
|
|
rpm:
|
|
dependencies:
|
|
- "(ffmpeg or ffmpeg-free)"
|
|
|
|
contents:
|
|
- src: release/linux/navidrome.toml
|
|
dst: /etc/navidrome/navidrome.toml
|
|
type: "config|noreplace"
|
|
file_info:
|
|
mode: 0644
|
|
owner: navidrome
|
|
group: navidrome
|
|
|
|
- dst: /var/lib/navidrome
|
|
type: dir
|
|
file_info:
|
|
owner: navidrome
|
|
group: navidrome
|
|
|
|
- dst: /opt/navidrome/music
|
|
type: dir
|
|
file_info:
|
|
owner: navidrome
|
|
group: navidrome
|
|
|
|
- src: release/linux/.package.rpm # contents: "rpm"
|
|
dst: /var/lib/navidrome/.package
|
|
type: "config|noreplace"
|
|
packager: rpm
|
|
- src: release/linux/.package.deb # contents: "deb"
|
|
dst: /var/lib/navidrome/.package
|
|
type: "config|noreplace"
|
|
packager: deb
|
|
|
|
scripts:
|
|
preinstall: "release/linux/preinstall.sh"
|
|
postinstall: "release/linux/postinstall.sh"
|
|
preremove: "release/linux/preremove.sh"
|
|
|
|
release:
|
|
draft: true
|
|
mode: append
|
|
footer: |
|
|
**Full Changelog**: https://github.com/navidrome/navidrome/compare/{{ .PreviousTag }}...{{ .Tag }}
|
|
|
|
## Helping out
|
|
|
|
This release is only possible thanks to the support of some **awesome people**!
|
|
|
|
Want to be one of them?
|
|
You can [sponsor](https://github.com/sponsors/deluan), pay me a [Ko-fi](https://ko-fi.com/deluan), or [contribute with code](https://www.navidrome.org/docs/developers/).
|
|
|
|
## Where to go next?
|
|
|
|
* Read installation instructions on our [website](https://www.navidrome.org/docs/installation/).
|
|
* Host Navidrome on [PikaPods](https://www.pikapods.com/pods/navidrome) for a simple cloud solution.
|
|
* Reach out on [Discord](https://discord.gg/xh7j7yF), [Reddit](https://www.reddit.com/r/navidrome/) and [Twitter](https://twitter.com/navidrome)!
|
|
|
|
# Add the MSI installers to the release
|
|
extra_files:
|
|
- glob: binaries/navidrome_386.msi
|
|
name_template: navidrome_{{.Version}}_windows_386_installer.msi
|
|
- glob: binaries/navidrome_amd64.msi
|
|
name_template: navidrome_{{.Version}}_windows_amd64_installer.msi
|
|
|
|
changelog:
|
|
sort: asc
|
|
use: github
|
|
filters:
|
|
exclude:
|
|
- "^test:"
|
|
- "^refactor:"
|
|
- Merge pull request
|
|
- Merge remote-tracking branch
|
|
- Merge branch
|
|
- go mod tidy
|
|
groups:
|
|
- title: "New Features"
|
|
regexp: '^.*?feat(\(.+\))??!?:.+$'
|
|
order: 100
|
|
- title: "Security updates"
|
|
regexp: '^.*?sec(\(.+\))??!?:.+$'
|
|
order: 150
|
|
- title: "Bug fixes"
|
|
regexp: '^.*?(fix|refactor)(\(.+\))??!?:.+$'
|
|
order: 200
|
|
- title: "Documentation updates"
|
|
regexp: ^.*?docs?(\(.+\))??!?:.+$
|
|
order: 400
|
|
- title: "Build process updates"
|
|
regexp: ^.*?(build|ci)(\(.+\))??!?:.+$
|
|
order: 400
|
|
- title: Other work
|
|
order: 9999
|