2020-12-01 17:57:29 +00:00
|
|
|
{
|
|
|
|
|
"name": "Go",
|
|
|
|
|
"build": {
|
|
|
|
|
"dockerfile": "Dockerfile",
|
|
|
|
|
"args": {
|
|
|
|
|
// Update the VARIANT arg to pick a version of Go: 1, 1.15, 1.14
|
chore(deps): upgrade to Go 1.27 (#5990)
* 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>
2026-08-30 12:43:15 -04:00
|
|
|
"VARIANT": "1.27",
|
2020-12-01 17:57:29 +00:00
|
|
|
// Options
|
|
|
|
|
"INSTALL_NODE": "true",
|
refactor(scanner): remove C++ taglib adapter (#5349)
* refactor(build): remove CPP taglib adapter
Remove the CGO-based TagLib adapter (adapters/taglib/) and all
cross-taglib build infrastructure. The WASM-based go-taglib adapter
(adapters/gotaglib/) is now the sole metadata extractor.
- Delete adapters/taglib/ (CPP/CGO wrapper)
- Delete .github/actions/download-taglib/
- Remove CROSS_TAGLIB_VERSION, CGO_CFLAGS_ALLOW, and all taglib-related
references from Dockerfile, Makefile, CI pipeline, and devcontainer
* fix(scanner): gracefully fallback to default extractor instead of crashing
Replace log.Fatal with a graceful fallback when the configured scanner
extractor is not found. Instead of terminating the process, the code now
warns and falls back to the default taglib extractor using the existing
consts.DefaultScannerExtractor constant. A fatal log is retained only for
the case where the default extractor itself is not registered, which
indicates a broken build.
* test(scanner): cover default extractor fallback and suppress redundant warn
Address review feedback on the extractor fallback in newLocalStorage:
- Only log the "using default" warning when the configured extractor
differs from the default, so a broken build (default extractor itself
missing) logs only the fatal — not a misleading "falling back" warn
followed immediately by the fatal.
- Add a unit test that registers a mock under consts.DefaultScannerExtractor,
sets the configured extractor to an unknown name, and asserts the local
storage is constructed using the default extractor's constructor.
2026-04-12 21:52:29 -04:00
|
|
|
"NODE_VERSION": "v24"
|
2020-12-01 17:57:29 +00:00
|
|
|
}
|
|
|
|
|
},
|
2022-09-29 04:10:06 +02:00
|
|
|
"workspaceMount": "",
|
2020-12-01 17:57:29 +00:00
|
|
|
"runArgs": [
|
|
|
|
|
"--cap-add=SYS_PTRACE",
|
|
|
|
|
"--security-opt",
|
2022-09-29 04:10:06 +02:00
|
|
|
"seccomp=unconfined",
|
|
|
|
|
"--volume=${localWorkspaceFolder}:/workspaces/${localWorkspaceFolderBasename}:Z"
|
2020-12-01 17:57:29 +00:00
|
|
|
],
|
|
|
|
|
// Set *default* container specific settings.json values on container create.
|
2024-09-02 12:22:32 +10:00
|
|
|
"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"
|
|
|
|
|
]
|
2020-12-01 17:57:29 +00:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 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"
|
|
|
|
|
}
|
2025-12-02 13:39:36 +00:00
|
|
|
}
|