mirror of
https://github.com/navidrome/navidrome.git
synced 2026-08-31 07:30:32 +00:00
* build: upgrade to Go 1.27 Bumps the toolchain in go.mod, both golang base images in the Dockerfile, and the devcontainer VARIANT. CI needs no change, as the workflows resolve the version through go-version-file: go.mod. Tests, race tests, build and vet all pass on go1.27.0. * build: upgrade golangci-lint to v2.13.0 v2.13.0 is the first release built with Go 1.27, so it can lint a module whose go directive is 1.27. It also enables gosec's G404 on math/rand/v2, which flags the three rand.Shuffle call sites. Shuffle order is not a security decision, and the crypto-backed alternative in utils/random costs 25x and allocates per swap, so the call sites are annotated rather than the rule excluded, keeping G404 active for the cases where it would matter. * chore(deps): update Go dependencies to latest versions Signed-off-by: Deluan <deluan@navidrome.org> * build: bump golangci-lint to v2.13.2 --------- Signed-off-by: Deluan <deluan@navidrome.org>
63 lines
1.7 KiB
JSON
63 lines
1.7 KiB
JSON
{
|
|
"name": "Go",
|
|
"build": {
|
|
"dockerfile": "Dockerfile",
|
|
"args": {
|
|
// Update the VARIANT arg to pick a version of Go: 1, 1.15, 1.14
|
|
"VARIANT": "1.27",
|
|
// Options
|
|
"INSTALL_NODE": "true",
|
|
"NODE_VERSION": "v24"
|
|
}
|
|
},
|
|
"workspaceMount": "",
|
|
"runArgs": [
|
|
"--cap-add=SYS_PTRACE",
|
|
"--security-opt",
|
|
"seccomp=unconfined",
|
|
"--volume=${localWorkspaceFolder}:/workspaces/${localWorkspaceFolderBasename}:Z"
|
|
],
|
|
// Set *default* container specific settings.json values on container create.
|
|
"customizations": {
|
|
"vscode": {
|
|
"settings": {
|
|
"terminal.integrated.shell.linux": "/bin/bash",
|
|
"go.useGoProxyToCheckForToolUpdates": false,
|
|
"go.useLanguageServer": true,
|
|
"go.gopath": "/go",
|
|
"go.goroot": "/usr/local/go",
|
|
"go.toolsGopath": "/go/bin",
|
|
"go.formatTool": "goimports",
|
|
"go.lintOnSave": "package",
|
|
"go.lintTool": "golangci-lint",
|
|
"editor.formatOnSave": true,
|
|
"[javascript]": {
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
},
|
|
"[json]": {
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
},
|
|
"[jsonc]": {
|
|
"editor.defaultFormatter": "vscode.json-language-features"
|
|
}
|
|
},
|
|
// Add the IDs of extensions you want installed when the container is created.
|
|
"extensions": [
|
|
"golang.Go",
|
|
"esbenp.prettier-vscode",
|
|
"tamasfe.even-better-toml"
|
|
]
|
|
}
|
|
},
|
|
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
|
"forwardPorts": [
|
|
4533,
|
|
4633
|
|
],
|
|
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
|
"remoteUser": "vscode",
|
|
"remoteEnv": {
|
|
"ND_MUSICFOLDER": "./music",
|
|
"ND_DATAFOLDER": "./data"
|
|
}
|
|
} |